Raspberry Pi: Pomiar temperatury pieca CO

Raspberry Pi dzięki wyprowadzeniom GPIO daje wiele możliwości. DziPonadto dzięki łączności bezprzewodowej znacznie ułatwia montaż w dogodnym miejscu. Dzięki czemu udało mi się zbudować system z możliwością pomiaru temperatury oraz wysyłania alarmów dźwiękowych do głośnika bluetooth.

Do zrealizowania tego projektu wykorzystałem:
Raspberry Pi Zero W
2x DS18B20
Złącze ARK4 do płytki stykowej
Głośnik Bluetooth np. ESPERANZA Ritmo EP115K

Na Raspberry Pi zainstalowałem najnowszego Raspbiana Bustera, zaktualizowałem oraz podłączyłem do sieci Wi-Fi. Podłączyłem szeregowo czujniki temperatury do złącza ARK4 a następnie bezpośrednio do złącz GPIO mailiny. Więcej informacji jak podłączyć DS18B20 do Raspberry Pi znajdziesz tutaj.

Czujniki umieściłem w miejscach gdzie znajdują oryginalne czujniki od komputera CO. Umieściłem je jako dodatkowe aby nie zaburzać pomiarów pieca.
Sensory DS18B20 świetnie się nadają do tego zadania. U mnie w takich warunkach pracują od ponad 2 lat i nie ma z nimi problemu. Co ciekawe ten sam model jest często stosowany przez producentów komputerów od obsługi pieca CO.

Aby zweryfikować poprawność podłączenia DS18B20 do Raspberry Pi:

 
ls /sys/bus/w1/devices
Przykładowy wynik polecenia dla poprawnie wykrytych czujników:
 
28-01131368d2aa  28-02199245b034  w1_bus_master1
Dla pewności można jeszcze wykonać odczyt z takiego czujnika:
 
cat /sys/bus/w1/devices/numer-seryjny_czujnika/w1_slave
Przykładowy wynik polecenia:
 
60 03 4b 46 7f ff 0c 10 6e : crc=6e YES
60 03 4b 46 7f ff 0c 10 6e t=54000
Następnie należy zainstalować Domoticza:
 
curl -L https://install.domoticz.com | bash
Należy postępować zgodnie z komunikatami. Po poprawnej instalacji panel Domoticza powinien być dostępny na http://ip_raspberry:8080
Dodajemy czujniki do Domoticza. Więcej informacji jak to zrobić znajdziesz tutaj.
Teraz należy zainstalować pakiet do obsługi dźwięku po bluetooth:
 
sudo apt update sudo apt upgrade -y
sudo apt install bluealsa
Włączamy głośnik. Uruchamiamy opcje wykrywania go oraz przełączamy w tryb parowania.
Następnie z poziomu Raspberry łączymy się do głośnika, dodajemy do zaufanych oraz parujemy go.
sudo bluetoothctl
power on
scan on
Czekamy aż malinka znajdzie nasze urządzenie. Chwile może to potrwać. Gdy już znajdzie wpisujemy:
scan off
connect adres_głośnika
adres_głośnika
pair adres_głośnika
exit
Kolejnym krokiem będzie utworzenie „głupiego” (dummy) sensora pod który podepniemy prosty skrypt do odtwarzania alertu.
Następnie klikamy na „Utwórz wirtualny czujniki”
Klikamy OK. Przechodzi do zakładki „Przełączniki” i edytujemy czujnik.
Uzupełniamy ścieżkę skryptów, ikonę oraz inne dane.
Alarm_On.sh
#!/bin/bash
echo -e "connect adres_głośnika" | sudo bluetoothctl > /dev/null 2>&1
sleep 10
for i in {1..5}
do
        sleep 1
        aplay -D bluealsa:SRV=org.bluealsa,DEV=adres_głośnika,PROFILE=a2dp /home/pi/domoticz/scripts/bash/przykladowy_dzwiek.wav
done
Alarm_Off.sh
#!/bin/bash
echo -e "disconnect adres_głośnika" | sudo bluetoothctl > /dev/null 2>&1 
Przechodzimy do zakładki Konfiguracja –> Więcej Opcji –> Zdarzenia. Klikamy „+” dodając nowe zdarzenie.
Przykładowe zdarzenia dla alertu o temperatrzue 70 stopni. 
Teraz pora przetestować nasz przełącznik klikajac na głośniczek.Jeżeli usłyszymy dźwięk to znaczy że mikrokomputer prawidłowo połączył się z głośnikiem. W celu sprawdzenia automatycznego „zdarzenia” polecam ustawić najpierw niską temperaturę, dzięki czemu sprawdzimy całą konfiguracje w boju.
W moim przypadku głośnik umieściłem w wiatrołapie by dźwięk był bardziej słyszalny. Głośnik cały czas jest podpięty do ładowarki USB aby się nie rozładował.Taka konfiguracja funkcjonuje u mnie już 2 lata. Nie zanotowałem większych problemów.
Dzięki prostemu projektowi uchroniłem moich rodziców od przykrych niespodzianek. Ponadto można sprawdzić temperaturę pieca oraz bojlera bez „wycieczki” do piwnicy co jest dużą wygodą.

You May Also Like

Avatar photo

About the Author: Krystian Kozak

Pasjonat rozwiązać Open Source zorientowanych na systemy wbudowane.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *