PiJuice HAT - Raspberry Pi Battery Module als UPS (uninterruptible power supply or uninterruptible power source) voor Pi-hole.
maar er kan véél meer met de PiJuice, hiervoor verwijs ik naar de voorbeeld projecten op pi-supply.com maar denk dan aan mobiele toepassingen van de Pi eventueel met zonnepanelen en een grotere accu, mijn toepassing valt dan in het niet, maar ik wil mijn ervaring wel delen.
Ik gebruik al jaren een raspberry-pi met pi-hole als DNS server in het thuis-netwerk begonnen met een raspberry Pi 2.0 model B 512 MB en deze later vervangen door een raspberry-pi 2 model B (rev1.1). Meestal naar ieders tevredenheid, vooral de “jeugd” heeft af en toe problemen met een (gedeeltelijke) blokkade. Maar dat de adds op alle systemen voor een groot gedeelte weg zijn bevalt goed, daarnaast heb ik de standaard lijsten uitgebreid met een aantal extra “Blocklist” tegen Malware, Phishing en Tracking en deze worden dagelijks bijgewerkt. Helaas is de web-interface op de pi, na inloggen, tegenwoordig erg traag en heb ik nu een paar keer een corrupte SD gehad na stroom onderbrekingen. Als de DNS het niet doet, geen Internet ! dus dan is het alle hens aan dek zeker in Corna tijd waar we veel meer thuis zijn. Tijd voor een oplossing tegen plotselinge stroom uitval en voor een snellere website van de pi.
Dus ik heb 2 wensen een soort UPS voor de raspberry-pi en eigenlijk een hardware upgrade voor de pi-hole. Deze heb ik nu vervuld met een nieuwe “Raspberry Pi 4 Model B 2GB” gecombineerd met een “PiJuice HAT - Raspberry Pi Batterij Module”
Dit stuk gaat niet over de pi of over pi-hole maar over de “PiJuice HAT - Raspberry Pi Batterij Module” als ups systeem. Daarnaast zou de PiJuice op veel andere manieren ingezet kunnen worden, maar dat is aan de lezer om zelf te bedenken.
Er zijn verschillende aanbieders de goedkoopste die ik kon vinden was
https://www.tinytronics.nl
In de verpakking zit een PiJuice HAT en een BP7x 1820mAh battery en noodzakelijke schroeven.
(BP7X battery - original battery from Motorola Droid 2 (A955) - 1820mAh battery)
voor alle specificaties zie de sectie "Technical Information" op:
https://uk.pi-supply.com/products/pijuice-standard
Eerst heb ik raspbyan lite op de SD gezet (ik gebruik de pi headless en alleen als pi-hole dus ik heb geen desktop nodig) na het “aan zetten” van SSH configureer ik de pi op afstand vanaf een ander systeem.
Na dat de pi netjes draait en de laatste updates heeft gehad heb ik het systeem uit geschakeld en los gekoppeld, vervolgens heb ik de PiJuice HAT gemonteerd.
Lees vooraf de handleiding want onder op het bordje moet je dipswitches op de onderkant van de PiJuice goed zetten (1 on, 2 off als je de bijgeleverde BP7X-accu gebruikt) deze dipswitch zit nog achter een folie wat nodig is voor de productie en staat standaard niet goed.
Als je de dipswitch goed instelt dan maakt de PiJuice gebruik van een vooringesteld profiel voor de mee geleverde accu.
De (Engelse) handleiding voor het “monteren” kun je vinden op
https://learn.pi-supply.c...ce-quick-start-guide-faq/
Je kan je voedingsbron aansluiten op de PiJuice (micro USB) of op de Pi zelf (voor Pi4 is dat USB-C)
Het grootste verschil is dat indien je de voeding aansluit op de Pi, deze dan gelijk opstart. Als je de voeding aansluit op de PiJuice dan zal je eerst op de SW1 knop moeten drukken. Sluit NIET twee voedingen aan.
Na het opnieuw opstarten moet de software voor de PiJuice geïnstalleerd worden, in mijn geval de “light” versie zonder grafische interface.
Dit is beschreven in
https://github.com/PiSupp...master/Software/README.md
If you wish to install just the light version of PiJuice with no GUI:
sudo apt-get install pijuice-base
This is particularly indicated for Raspbian Lite or an headless installation.
Ik kreeg, na de installatie, gelijk de melding dat ik de firmware moest updaten (dit kan via de cliënt)
:strip_exif()/m/413864/1KJKz98k2kIdJ4Riz6Zhd8diLUcdAauWqTVynjHEMhEqLt43Jy.jpeg?f=620xauto)
Je kan de PiJuice CLI starten in een terminal.
Dit is beschreven in het betreffende hoofdstuk
https://github.com/PiSupp...are/README.md#pijuice-cli
Als eerste ging ik dus naar de sectie firmware en voerde een firmware update uit.
:strip_exif()/m/413864/1KJKz9fD8fWQb5dr33P9bWtihRBLtrP1ApqC7Ir7uWQqmpat8F.jpeg?f=620xauto)
Na de firmware update ben ik alle opties in de interface (en handleiding) even langs gegaan.
Voor mijn doel, het gebruik als UPS, zijn de “System Task” en de “System Events” in te stellen.
Ik wil dat de Pi netjes gaat afsluiten als de batterij “leeg” raakt, hiervoor heb ik bij “System task” een aantal “enabled” (zie afbeelding). Vergeet niet “Apply settings” te doen.
Vervolgens heb ik de “system Events” ingesteld waarop gereageerd moet worden.
Voor het testen had ik ook nog “No power” geselecteerd, na het testen heb ik deze weer verwijderd.
Nu viel mij al op dat ik bij “Apply settings” een melding kreeg…. (maar ik wist nog niet wat er aan de hand was)
Maar ik kwam er wel snel achter, want als ik de stekker er uit trok dan gebeurde er niets, de pi bleef rustig door draaien en ging niet afsluiten.
Wat bleek de service “pijuice.service” draaide helemaal niet.
Normaal wordt de service geïnstalleerd en “enabled” en bij elke herstart ook weer opgestart. Ergens is dat niet goed gegaan, maar gelukkig is dit snel te herstellen met de volgende commando’s:
sudo systemctl enable pijuice.service
sudo systemctl start pijuice.service
nogmaals alle settings via de interface gecontroleerd (en voor de zekerheid nogmaals apply gekozen) nu zonder foutmeldingen.
NB. Als je wil controleren of de service draait kun je dat doen met het commando:
systemctl status pijuice.service
( sluit met q , dan kom je weer op de prompt )
Als ik nu de stekker er uit trek (stroom toevoer onderbreking) dan gaat de Pi netjes een shut down uitvoeren.
Hierna de functie “No Power” weer uit gezet want de pi hoeft alleen uit als de batterij leeg begint te raken. Deze test moet ik nog doen maar dat kan pas op een dag dat ik de huisgenoten niet stoor ;-)
Conclusie:
De PiJuice doet voor mij wat hij moet doen, natuurlijk moet je altijd controleren of een UPS werkt zoals je hem hebt geconfigureerd en bijstellen waar nodig.
montage en configuratie is redelijk makkelijk voor mensen die weten hoe ze met een raspberry pi om moeten gaan.
Tot nu toe dus zeer tevreden.
De Pi 4 wordt warmer dan de vorige versie(s) en de PiJuce HAT zal de warmte afvoer niet makkelijker maken omdat hij boven de Pi “hangt”. Op dit moment heb ik er nog geen “head sink” of ventilator op de Pi en ook geen Case omheen, hij hangt aan de kabels vrij in de lucht. In deze staat is de temperatuur van de Pi 39.4 graden Celcius. Dat is bijna 5 graden warmer als de oude Pi die wel in een case zit maar ook een head sink heeft. Ik ben benieuwd wat de temperatuur gaat doen als de case bezorgd wordt.
De PiJuice past op alle moderne pi's..
UPDATE:
Ik heb de aan/uit knop (SW1) vandaag getest.
In de documentatie staat het volgende standaard gedrag:
SW1/J5 is power button by default:
1. Single press to power on (release in less than 800 ms)
2. Long press of at least 10 seconds to halt
3. Long press of at least 20 seconds to cut power
Hierbij ben ik vooral geïnteresseerd in optie 1 en 2 (optie 3 wil ik juist niet in verband met mogelijke corruptie SD). Hierbij wil ik ook weten of het verschil maakt of ik de voeding op de Pi heb of juist op de PiJuice.
Om met het laatste te beginnen, het maakt niet uit welke stroombron is aangesloten maar zoals eerder al is vermeld, als de Pi uit staat en je hier de stroombron op aansluit dan start deze gelijk op en heb je SW1 niet nodig voor het opstarten.
Is de Pi wel aangesloten op een stroombron maar hij staat niet aan, dan werkt de SW1 naar behoren.
Dan het afsluiten, ook dit ging prima maar je moet de SW1 wel minstens 10 seconden ingedrukt houden.
Met andere woorden door de PiJuice is er gelijk een aan/uit knop gekomen wat handig kan zijn.
Met de “3 knoppen” kan nog veel meer en je kan het gedrag ook nog zelf aanpassen maar dat is voor mij niet nodig.
De nadelen van deze knoppen(switsches) is dat ze erg klein zijn en dat je je case er voor moet aanpassen.
een voorbeeld van een zelfbouw case met PiJuice, wordt genoemd in een ander stuk op Tweakers, namelijk
https://tweakers.net/revi...herm-en-de-behuizing.html, PiJuice heeft ook eigen cases te koop.
En dan de “ultieme test” wat gebeurt er bij “stroom uitval” ?
Ik heb de stekker maar gewoon uit het stopcontact gehaald en in een terminal had ik de PiJuice cliënt gestart zodat ik de status kon volgen.
:strip_exif()/m/413864/1KKqh71ognlrRjwShzD97zNymAaISUI6AFZaM45Ma3V0W9fOAM.jpeg?f=620xauto)
Wat mij hierbij opviel was dat het status venster gedurende de test met enige regelmaat een “communication_error” gaf, maar het draaide gelukkig allemaal rustig door.
(dit blijkt een bug te zijn (bedankt boromin voor de tip ! / ractie)
deze bug lijkt ook simpel op te lossen
https://github.com/PiSupply/PiJuice/issues/327
quote:
Put the following line on /boot/config.txt:
dtoverlay=i2c-bcm2708
and reboot.
[config.txt bewerken met bijvoorbeeld nano (sudo nano /boot/config.txt)
ik heb achter aan het bestand 2 regels toegevoegd zodat ik later nog weet waarom dit er staat. zie afbeelding]
:strip_exif()/m/413864/1KKqh72uVh937Ja9GbjjGwqTsNfGOeDP3Iqf5gYMVBBpHyV04E.jpeg?f=620xauto)
Nu was het wachten op het bereiken van de 10% die ik had ingesteld.
Na iets meer dan 1 uur kwam de batterij in de buurt van de 10% en toen het onder de 10% kwam sloot de Pi netjes af. Tot zo ver test geslaagd.
Als je nu de voeding aansluit start de Pi niet gelijk op, de Accu moet eerst weer een gedeelte opgeladen zijn.
Bij het starten gebruikt hij zo veel stroom dat hij gelijk weer gaat afsluiten, dus hier moet je enige geduld hebben totdat de accu weer (ruim) boven de 10% is opgeladen.
De PiJuice forceert dus een shutdown terwijl de stroombron is aangesloten alleen omdat de accu onder de 10% is, dit is een verbeterpuntje, ik denk dat dit met scripting is op te lossen maar dit is het default gedrag.
Na ongeveer 15 minuten wachten gokte ik er op dat er wel weer voldoende stroom in zou zitten en heb ik door middel van SW1 (de aan/uit knop) de pi weer opgestart.
Via de terminal de status gecontroleerd en de batterij zat al weer op 30 % en alles draaide weer naar behoren.
PiJuice is geslaagd voor de test.
UPDATE (17 maart 2021) de case ...
de originele case is helaas niet leverbaar en ik ben niet de enige die "worstelt" met de case gezien de reacties. Ik ben gesteld op passieve koeling en die help je makkelijk om zeep.
het geheel zou in veel standaard behuizingen passen maar dan heb je echt wel een slechte koeling.
de ruimte tussen de pi en de HAD is krap en de air flow niet ideaal, met een standaard case sluit je het helemaal af..
ik heb de opstelling pi met piJuice, op verschillende manieren neer gezet,
eerst hing het vrij in de lucht en varieerde de temperatuur van de pi tussen de 38 en de 44 graden Celsius.
voornamelijk afhankelijk van de kamertemperatuur.
hierna heb ik op de pi koellichamen gezet, dit had vooral effect op de maximum temperatuur, de temperatuur schommelde nu tussen de 38 en de 40 graden C.
hierna heb ik het geheel "vlak neer gezet" (zoals je een pi normaal zou neerzetten maar dan nog steeds zonder case) de temperatuur ging gelijk 3 tot 4 graden omhoog (weg koellichaam effect).
nu het geheel op zijn zij geplaatst (op de kant van de GPIO) en hiermee daalde de temperatuur weer 3 tot 4 graden, dus goede doorstroom van de lucht is wel belangrijk.
aangezien ik geen "verticale" case kon vinden heb ik iets anders bedacht:
ik heb de ruimte tussen de pi en de piJuice groter gemaakt (2x een GPIO Header, 40-polig), en met verschillende spacer onderdelen en acryl plaatjes toch een soort "Case" gemaakt.
ik had graag de pijuice onder de pi geplaatst (in theorie moet dat kunnen met een 40 pins GPIO cable) maar daar heb ik het materiaal niet voor.
Tot nog toe ben ik redelijk tevreden met de nieuwe opstelling hoewel ik denk dat het geheel op "zijn kant" een nog betere koeling zou geven, maar met een gemiddelde van 41 graden (bij kamertemperatuur) ben ik tevreden.
Om het geheel te illustreren heb ik een reeks foto's toegevoegd van de case en de opbouw.