Grunnlaget på plass
Med farmOS og Node-RED hadde jeg en god infrastruktur å bygge på. Jeg hadde lært disse to å kjenne litt, og funnet en del info på brukerforumet til farmOS som styrket selvtilliten til å begynne med sensorer.
Første mål var å få sensordata direkte inn til farmOS uten noen mellomledd.
Forberedelse i farmOS
Først må man aktivere sensor-modulen i farmOS dersom den ikke allerede er aktiv.
Så lager man en ny ressurs av typen “Sensor”
Man gir ett navn til sensoren, og ett navn til data-strømmen.
En sensor-ressurs kan ha flere datastrømmer. F.eks temperatur og luftfuktighet.

Når man ser på den sensoren etterpå, finner man informasjon om formatet sensor-data må sendes på, og en URL/adresse å sende data til. URLen er adressen til farmOS-serveren og en privat nøkkel for “innlogging”
Jobben til mikrokontrolleren blir:
- å koble seg til wifi
- lese av temperatur fra tilkoblet sensor
- formatere avlesingen :
{ "timestamp": 1756919261, "Temperatur": 76.5 } - sende dette til https://min.farmos.server/ressurs-id/privat_nøkkel
farmOS vil motta meldingen, og man kan se avlesingen slik:

Det er ingen grafer der for øyeblikket, men det går an å hente ut data for visualisering i Node-Red. Hvis man har mange sensorer, man kan knytte dem til andre ressurser i farmOS. F.eks Fjøs.
Utstyret
Startet enkelt:
- NodeMCU ESP8266 (mikrokontroller med innebygd WiFi)
- DS18B20 temperatursensor
- Gammel mobillader for strøm

Random Nerd Tutorials har mange gode guider for hvordan man kobler og bruker disse mikrokontrollerne.
Totalkostnad: ca 200 kroner. Enkelt opplegg, men mer enn nok for å teste konseptet. Fibel.no og Elkim.no selger mye kjekt i dette segmentet.
Oppsummering
Dette var første skritt mot praktisk sensor-implementering.
- Setter opp sensor-ressurser i farmOS
- Kobler mikrokontroller til WiFi og sensor
- Sender strukturerte data via HTTP til farmOS API
- Får temperaturdata lagret og tilgjengelig for analyse
Løsningen er enkel men robust. Sensor sender data så ofte man vil, og farmOS lagrer alt automatisk.
Alt klart for neste steg…