logo

Full-stack Developer Portfolio | Hubert Pawlak

DS18B20 Remote Sensor

To prosty program do okresowego przesyłania temperatur z sensorów 1-Wire i wysyłania ich do określonego serwera. Łatwy do uruchomienia jako usługa systemowa. Poniżej znajduje się mój plik konfiguracyjny usługi.

[Unit]
Description=sending temperature readings
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/home/pi/ds18b20-remote-sensor/ds18b20-remote-sensor start
WorkingDirectory=/home/pi/ds18b20-remote-sensor
Restart=on-failure
User=pi
Group=pi

[Install]
WantedBy=default.target
zrzut ekranu instrukcji obsługi programu ds18b20-remote-sensor w terminalu

Program jest napisany i testowany w Go. Działa 24/7 bez jakichkolwiek problemów. Wybrałem wysyłanie odczytów w formacie JSON używając żądań HTTP metodą POST, żeby działał zarówno w architekturze standardowej jak i serverless.

zrzut ekranu programu działającego w trybie pokazującym zserializowane odczyty i kody odpowiedzi serwera

Osobiście używam go na tanim Raspberry Pi Zero W, w mocno zakurzonym otoczeniu. Pewnie istnieją tańsze rozwiązania, bo wystarczy znaleźć sposób na pobranie odczytów z czujników i ich przesłanie.

zdjęcie podłączonego Raspberry Pi Zero W wiszącego na ścianie z podłączonymi przewodami do GPIO