Stap 3: Het script
Nu niet uit freak over scripting... Vorige week wist ik python en nog ik erin geslaagd om het schrijven van dit script door te lezen en het testen van verschillende voorbeelden daar. Ik weet dat andere programmeertalen hoewel dus maak je geen zorgen, ik ga niet opblazen uw pi.
Als ik gebruikt (die heb ik waarschijnlijk) sommige functioneert dat iemand anders schreef, ik verontschuldig me voor geen credits gegeven, maar ik heb geknepen dit script zo veel, zijn in principe nieuwe.
Instructies
1) download de attachement, of gewoon kopiëren en plakken het van pastebin hier
2) plaats het fan.py script in/home/pi/map
3) uitvoeren: sudo chmod + x /home/pi/fan.py en sudo chown pi: pi /home/pi/fan.py
4) veronderstellend hebt u crontab geïnstalleerd op uw pi uitvoeren: crontab -e
5) bij het onderste exemplaar / deeg: 5 **** sudo python /home/pi/fan.py en sla het bestand. (Ctrl + X en Y)
Deze crontab zal het script elke 1h5m.
Het script zal werken als een standalone script ook... wat betekent dat naast de geautomatiseerde crontab actie u kunt handmatig schakelen aan/uit de fan zelf. U dit doen met behulp van parameters als volgt:
- sudo python /home/pi/fan.py op of
- sudo python /home/pi/fan.py af
Ik schreef ook een failsafe functie, in het geval dat u op Ctrl + C drukt terwijl het script wordt uitgevoerd. Als je dat doet, zal de ventilator dicht waas voordat het script wordt afgesloten.
Dus, hoe dit werkt?
Elk uur het script wordt uitgevoerd en controleert de temperatuur van de pi.
Als de temperatuur hoger dan de waarde van een X is wordt de ventilator ingeschakeld en blijven op tot het afkoelt op een Y -waarde. Als dat zo is, wordt het script wordt afgesloten. Als om wat voor reden die nooit die lage temperatuur en een uur passeert bereikt, de volgende keer dat het script wordt uitgevoerd het 'ziet' dat de ventilator is nog steeds op en het tweede script stoppen zal... dus realistisch temperatuur waarden gebruiken als u wilt dat de ventilator eigenlijk op/om uit te schakelen.
Zo niet, stel sommige belachelijke waarden (zoals Y = 0 graden Celsius) zodat de ventilator zal altijd blijven.)
Indien uw pi is actief tussen deze 2 waarden (X, Y), betekent dit dat de onder de werking van 'aanvaard' temperaturen zodat het script alleen verlaten zal wanneer zij de temperatuur elk uur controleert.
Sommige waarden uit te leggen
Boven aan het script zijn er enkele globale variabelen. Er zijn de variabelen die u moet wijzigen.
# Identificeren welke pin bepaalt de estafette
FAN_PIN = 18 # de gele box ex: GPIO18
# Temperatuur controle. Start fan als temp > 49C
FAN_START = 49
# Temperatuur controle. Dicht waas onder 28C
FAN_END = 28
Zijn vrij duidelijk wat hier te doen. Als u GPIO18 gebruikt zoals ik deed, dan laat 18 hier, anders wijzigt u die waarde aan de gpio die u gebruikt.
FAN_START en FAN_END zijn de hoge/lage temperaturen die u wilt gebruiken. Je kunt zelfs stellen float getallen er desgewenst graag 49,2
Opmerking:
Vergeet niet de manier waarop die ik mijn relay ingesteld? Als u functies fanON en fanOFF die u opmerken zult dat ik de gpio output op False instelt ben te zetten van de ventilator aan en waar voor zwenking op vandoor. Als u een andere poort configuratie op het Relais kiest, moet u waarschijnlijk deze waarden omkeren.