Stap 6: Maak een Service opstarten
Meeste Relais met inbegrip van degene die ik kocht, werkt als deze - wanneer het signaal is aan het circuit blijft uit. Wanneer het signaal uitgeschakeld dan is is het circuit op. Dus wat gebeurt er als uw pi macht verliest? Goed meeste Relais hebben een veiligheidsmechanisme dat het circuit houdt af wanneer er helemaal geen macht is. Het probleem dat zich voordoet gebeurt tussen wanneer de pi (en vervolgens de estafette) zijn energie terug krijgt, maar voordat de pi klaar is met opstarten om te schakelen van het signaal ON die is nodig om te weren van het circuit. Je zou wakker in de ochtend met je garage open en mogelijk een paar nieuwe vrienden!
Na wat experimenteren vond ik een gewoon werk rond. Ik heb ontdekt dat mijn relay eigenlijk niet initialiseren totdat de GPIO pin-modus is ingesteld via deze opdracht: gpio mode 7 uit. Bovendien, ik heb ontdekt dat het u u de GPIO pin aan (gpio schrijven 7 1)voordat u de GPIO modus instelt, zal de estafette af blijven eenmaal geïnitialiseerd.
Als u deze initialisatie starten bij het opstarten, ik heb een opstart script gemaakt.
$ ssh pi Pi's IP]
$ sudo nano /etc/init.d/garagerelay
Plak dit script:
#! / bin/bash
# /etc/init.d/garagerelay
# Uitvoeren bepaalde functies wanneer u wordt gevraagd om door het systeem
Case "$1" in
Start)
echo "Beginnen Relay"
# Uitschakelen 7 op welke houdt Relais
/usr/local/bin/GPIO schrijven 7 1
#Start Gpio
/usr/local/bin/GPIO mode 7 uit
;;
Stop)
echo "Stoppen gpio"
;;
*)
echo "gebruik: /etc/init.d/garagerelay {start|stop}"
afrit 1
;;
ESAC
exit 0
Maak het bestand uitvoerbaar:
$ sudo chmod 777 /etc/init.d/garagerelay
Nu vertel uw pi dit script wordt uitgevoerd tijdens het opstarten:
$ sudo update-rc.d - f garagerelay start 4
(Opmerking: U kunt de "missing LSB tags" waarschuwing gewoon negeren.)
Voila!