Pi Supply (ATX voeding voor de Pi)

De Raspberry is een geweldig ding en nagenoeg perfect in gebruik. Wat veel gebruikers toch als een gemis zien is het onbreken van een powerswitch. Ofschoon je de Pi eigenlijk nooit uit hoeft te doen blijft het verwijderen van de USB voedingsadapter onhandig. De PiSupply is een externe powerschakelaar voor de Raspberry Pi die vergelijken kan worden met het ATX-powersupply van de pc. De switch wordt als onderdelenpakket geleverd.

Eenmaal in elkaar gezet ziet het bordje er goed uit. De mini USB-steker was al gemonteerd.

Wat doen de knoppen?

Er zijn drie knoppen:
1 = OFF = Hardware kill switch
2 = Soft-OFF = Software shutdown, vraagt 2 draden met pinnen 7 & 8 te verbinden en een programma dat moet draaien
3 = ON = LET OP! Hiervoor moet het Pi supply met 2 draden aan de RPi header pinnen 7 & 8 verbonden worden, anders valt de spanning na 2:30 min af.

Knoppen 1 & 3 werken onafhankelijk van de status van de RPi. Je kunt de knoppen gebruiken als simpele UIT- en AAN-schakelaars.

Knop 2, de ‘shutdown’ schakelaar, is ontworpen om m.b.v. twee jumper draden verbonden te worden met pinnen 7 en 8 van de GPIO poort van de RPi. Als er specifieke software draait kan deze knop ingedrukt worden en een shutdown van de RPi initiëren, dit is afhankelijk van welk script er draait. De leverancier levert twee script mee.

Kan ik nog steeds ” normaal ” afsluiten?
Ja! Als het afsluiten van Pi op de “normale” manier plaatsvindt door te typen ‘sudo halt’, of ‘sudo shutdown -h now’. Zal na ongeveer 2,5 minuut de condensator ontladen, het relais hierdoor openen en daarmee de spanning afsluiten. Het relais klikt en de rode LED op de Pi zal doven.

Twee voorbeeldscripts
Interrupts
De beste manier om de zachte shutdown functie van de Pi Supply Switch, in termen van efficiëntie van de code en de belasting van de CPU, is het gebruik van een interrupt gebaseerde script. Dit is beter dan de code die een ‘while loop’ gebruikt.

While loop
Een while loop is de basis van bijna elke programmeertaal, en het is een zeer nuttig instrument bovendien. De volgende code heeft hetzelfde eindresultaat als het interrupt gebaseerde script hierboven – het staat de veilige uitschakeling van uw Raspberry Pi toe – maar dit gebeurt op een manier waarbij veel meer CPU bronnen nodig zijn.

Het programma wordt opgestart met sudo

Laadt het Python script tijdens de boot (opstartprocess)
Het maakt niet uit welke van de twee codes je gebruikt, het is praktisch om de code in de Python IDE (Integrated Development Environments) op te voeren zodat bij iedere boot de software opstart.
• Er moet een map genaamd PiSupply in de /home/pi directory gemaakt worden.
• Sla je code (afhankelijk van welk script je gekozen hebt) in de nieuwe map op /home/pi/PiSupply.
• Noem het bestand softshut.py of iets dergelijks.

Open vervolgens een LXTerminal sessie en gebruik de Nano tekstverwerker om code toe te voegen om het Python-script dat we net gemaakt hebben bij de opstart van de Pi te laden.

Type in:

sudo nano /etc/rc.local

voeg de code toe:

python /home/pi/PiSupply/softshut.py &

voor de regel:

exit 0

Sla het bestand op en sluit Nano af.

Het spreekt voor zich dat de bestandsnaam softshut.py en de folder-paden voorbeelden zijn. Iedere naam kan naar keus gebruikt worden. In het scriptvoorbeeld maken we gebruik van de fysieke pin 7 van de GPIO poort. Ook hier kun je iedere andere GPIO pin gebruiken.

Have A Nice Day!