Stap 5: Software
Zoals vermeld, wordt de software draait op de Raspberry Pi.
Het belangrijkste concept was gemakkelijk en snel de controlerende om software te ontwikkelen.
Sinds de eerste installatie van het aquarium verlichtingssysteem plaatsvindt slechts af en toe (1 - 3 maal), het uiterlijk van de software minimalistisch is: alleen de belangrijkste informatie weergegeven en de input elementen alleen knoppen als slimme telefoon vriendelijk.
De software is geschreven in python, gebruik tkinter als de grafische gebruikersinterface.
Het programma wordt gestart na de Pi laarzen, leest de instellingen uit de configuratiebestand. Om de exacte tijd hebt, de Pi moet internet-verbinding (actal tijd komt uit netwerk tijd protocol).
Verbinding met extern plaatsvindt via vnc (virtueel netwerk dat gegevens verwerkt) protocol, via x11vnc, geen codering, geen wachtwoord, gewoon simpel externe display en controle.
De licht controle heeft 9 tijdstappen, elke stap heeft de verlichtingssterkte setpoint. De tussenliggende punten (tussen twee basiswaarden) worden berekend met lineaire interpolatie.
Er zijn 2 extra tijd switches, die voor bijv beheren kunt. pomp, CO2 toevoer...
De software is wat je kunt zien, alles is duidelijk, met alle () informatie komt te staan. De basis van de resolutie is ingesteld op 1024 x 768 geschikt voor telefoon-schermen.
Het controle-schema is een eenvoudige integratie controller met een deadband. De macht niveau controle heeft 1000 stappen, dus 0.1% is de minste wijziging in de output, dat perfect fijn genoeg is.
Raspberry Pi heeft slechts één hardware PWM-uitgang, die in dit project wordt gebruikt. De maxium PWM frequentie (met 1000 stap resolutie) is 9600 Hz, maar echte wereld experimenten (gedaan met oscilloscoop) toonde dat iets meer dan 1000 Hz is nutteloos (alleen de LED-strip is niet snel genoeg), eigenlijk 960Hz is ingesteld.
Wanneer de werkelijke tijd gelijk is aan een tijd setpoint, slaat het programma het werkelijke energieniveau in het configuratiebestand.
Als de lichtsensor mislukt, een knipperende rode LED toont dan dit, maar het licht controle blijft met de eerder opgeslagen macht niveau datas.