About

Mycodo is een open-source milieubewakings- en regelsysteem dat is gebouwd om te draaien op single-board computers, met name de Raspberry Pi.

Mycodo is oorspronkelijk ontwikkeld voor het kweken van eetbare paddenstoelen, maar is uitgegroeid tot veel meer. Het systeem bestaat uit twee delen, een backend (daemon) en een frontend (webserver). De backend voert taken uit zoals het verzamelen van metingen van sensoren en apparaten en het coördineren van een diverse reeks reacties op die metingen, waaronder de mogelijkheid om uitgangen te moduleren (relais schakelen, PWM-signalen genereren, pompen bedienen, draadloze stopcontacten schakelen, publiceren/aanmelden voor MQTT, enzovoort), omgevingscondities regelen met PID-regeling, timers plannen, foto's en video's vastleggen, acties activeren wanneer metingen aan bepaalde voorwaarden voldoen, en nog veel meer. De frontend bevat een webinterface die weergave en configuratie vanaf elk apparaat met een browser mogelijk maakt.

Mycodo wordt op verschillende manieren gebruikt. Sommige gebruikers slaan gewoon sensormetingen op om de omstandigheden op afstand te controleren, anderen regelen de omgevingscondities van een fysieke ruimte, en weer anderen leggen onder meer bewegingsgeactiveerde of time-lapse fotografie vast.

Input controllers verwerven metingen en slaan deze op in de InfluxDB tijdreeksdatabase. Metingen komen meestal van sensoren, maar kunnen ook worden geconfigureerd om de retourwaarde van Linux Bash of Python commando's, of wiskundige vergelijkingen te gebruiken, waardoor dit een zeer dynamisch systeem is voor het verwerven en genereren van gegevens.

Output controllers produceren veranderingen aan de algemene input/output (GPIO) pinnen of kunnen worden geconfigureerd om Linux Bash of Python commando's uit te voeren, waardoor een verscheidenheid aan mogelijke toepassingen mogelijk is. Er zijn een paar verschillende soorten uitgangen: eenvoudig schakelen van GPIO-pinnen (HIGH/LOW), genereren van pulsbreedtegemoduleerde (PWM) signalen, aansturen van slangenpompen, MQTT-publicatie, en meer.

Wanneer ingangen en uitgangen worden gecombineerd, kunnen functieregelaars worden gebruikt om terugkoppellussen te creëren die de uitgang gebruiken om een door de ingang gemeten omgevingsconditie te moduleren. Bepaalde ingangen kunnen aan bepaalde uitgangen worden gekoppeld om een verscheidenheid van verschillende regel- en toezichttoepassingen te creëren. Naast eenvoudige regeling kunnen methoden worden gebruikt om een in de tijd veranderend instelpunt te creëren, waardoor bijvoorbeeld thermische cyclers, reflow-ovens, omgevingssimulatie voor terraria, fermentatie of uitharding van voedsel en dranken, en het koken van voedsel (sous-vide) mogelijk worden.

Triggers kunnen worden ingesteld om gebeurtenissen te activeren op basis van specifieke data en tijden, volgens tijdsduur, of de zonsopgang/ondergang op een specifieke breedte- en lengtegraad.

Mycodo is vertaald naar verschillende talen. Standaard zal de taal van de browser bepalen welke taal wordt gebruikt, maar kan worden overruled in de Algemene Instellingen, op de [Gear Icon] -> Configuratie -> Algemeen pagina. Als je een probleem vindt en een vertaling wilt corrigeren of een andere taal wilt toevoegen, dan kan dit via https://translate.kylegabriel.com.