About

Mycodo är ett miljöövervaknings- och regleringssystem med öppen källkod som byggdes för att köras på enbordsdatorer, särskilt Raspberry Pi.

Mycodo utvecklades ursprungligen för att odla ätliga svampar, men har vuxit till att göra mycket mer. Systemet består av två delar, en backend (daemon) och en frontend (webbserver). Baksidan utför uppgifter som att samla in mätningar från sensorer och enheter och samordna en mängd olika svar på dessa mätningar, inklusive förmågan att modulera utgångar (koppla om reläer, generera PWM-signaler, driva pumpar, koppla om trådlösa uttag, publicera/skriva på MQTT, med mera), reglera miljöförhållanden med PID-kontroll, schemalägga timers, ta foton och strömma video, utlösa åtgärder när mätningar uppfyller vissa villkor, med mera. Frontenden är värd för ett webbgränssnitt som gör det möjligt att visa och konfigurera från alla enheter med webbläsare.

Mycodo kan användas på många olika sätt. Vissa användare lagrar helt enkelt sensormätningar för att övervaka förhållandena på distans, andra reglerar miljöförhållandena i ett fysiskt utrymme, medan andra bland annat tar rörelsestyrd eller tidsförloppsfotografering.

Ingångskontrollanter samlar in mätningar och lagrar dem i InfluxDB:s tidsseriedatabas. Mätningarna kommer vanligtvis från sensorer, men kan också konfigureras för att använda returvärdet av Linux Bash- eller Pythonkommandon eller matematiska ekvationer, vilket gör detta till ett mycket dynamiskt system för att samla in och generera data.

Utgångskontroller producerar ändringar på GPIO-stift (general input/output) eller kan konfigureras för att utföra Linux Bash- eller Python-kommandon, vilket möjliggör en mängd olika användningsområden. Det finns några olika typer av utgångar: enkel omkoppling av GPIO-stift (HIGH/LOW), generering av PWM-signaler (pulsbreddsmodulerade signaler), styrning av peristaltiska pumpar, MQTT-publicering med mera.

När ingångar och utgångar kombineras kan funktionskontroller användas för att skapa återkopplingsslingor som använder utgångsenheten för att modulera ett miljötillstånd som ingången mäter. Vissa ingångar kan kombineras med vissa utgångar för att skapa en mängd olika styr- och reglertillämpningar. Utöver enkel reglering kan metoderna användas för att skapa ett förändrat börvärde över tiden, vilket möjliggör t.ex. termiska cyklare, reflow-ugnar, miljösimulering för terrarier, jäsning eller härdning av livsmedel och drycker och tillagning av mat (sous-vide), för att nämna några exempel.

Utlösare kan ställas in för att aktivera händelser baserat på specifika datum och tider, enligt tidsperioder eller vid soluppgång/solnedgång på en specifik latitud och longitud.

Mycodo har översatts till flera språk. Som standard avgör webbläsarens språk vilket språk som används, men det kan åsidosättas i de allmänna inställningarna på sidan [Gear Icon] -> Configure -> General. Om du upptäcker ett problem och vill korrigera en översättning eller vill lägga till ett annat språk kan detta göras på https://translate.kylegabriel.com.