Prosty projekt odczytujący z analogowego licznika dane i przekazujący informację do HomeAssistant przez MQTT. Projekt wykorzystuje bibliotekę uczenia maszynowego Tensorflow Lite do analizy obrazu.
Hardware
ESP32 + OV2640 2.0MP camera module + antena (koszt ok 10$)
Poniżej tania integracja (ok. 50PLN) odczytu bieżącego zużycia wody z licznika Multical 21. Aby uruchomić tą integracja trzeba:
spore umiejętności przy lutowaniu oraz
kontakt z firmą, która obsługuje rozliczenie wody i trochę cierpliwości, aby otrzymać kod deszyfrujący AES dla licznika
Licznik Multial 21 może wysyłać dane bezprzewodowo przy użyciu protokołu Wireless M-Bus. Multical21 zapewnia następujące dane:
licznik całkowity – całkowite zużycie wody w m³
licznik docelowy – zużycie wody do 1. dnia bieżącego miesiąca
temperatura średnia – w °C
temperatura otoczenia – w °C
kody informacyjne – BURST, LEAK, DRY, REVERSE, TAMPER, RADIO OFF
Kod informacyjny wyświetlany na wyświetlaczu
Znaczenie
LEAK
W ciągu ostatniej doby nie zanotowano zatrzymania przepływu przez wodomierz przez minimum jedną godzinę. Może to świadczyć o nieszczelności kranu lub zbiornika toalety.
BURST
Stałe wysokie zużycie wody w ciągu pół godziny, co oznacza pęknięcie rury.
TAMPER
Próba oszustwa. Wodomierz nie nadaje się do celów rozliczeniowych.
DRY
Brak wody w wodomierzu. Pomiar nie jest prowadzony.
REVERSE
Woda przepływa przez wodomierz w nieprawidłowym kierunku.
RADIO OFF
RADIO OFF wyświetlany ciągle. Nadajnik radiowy jest permanentnie wyłączony.
Hardware
Wemos D1 mini (lub ESP32) – koszt ok 12 PLN
moduł radiowy CC1101 868 MHz z anteną (ja zamówiłem tu) – koszt ok 30 PLN
Trzeba sporo wprawy, aby zlutować połączenia do CC1101 – raster jest mniejszy niż standardowy goldpin.
CC1101
ESP8266
VCC
3V3
GND
GND
CSN
D8
MOSI
D7
MISO
D6
SCK
D5
GDO0
D2
Poniżej jak mi to wyszło:
Uruchomienie
Polecam najpierw złożyć, uruchomić bez kodu deszyfrującego – zweryfikować, czy działa komunikacja . A następnie ponowne programowanie Wemos D1 mini już z kluczem AES. W moim przypadku odczyt następuje z ok 10 metrów przez kilka ścian.
Aby uzyskać klucz deszyfrujący AES należy skontaktować się ze spółką rozliczającą wodę. W moim przypadku wystarczyło pismo ogólne zgłoszone przez platformę EPUAP (w tym wypadku nie musiałem poświadczać swojej tożsamości) i plik z kluczem oraz hasłem dostałem bezpośrednio na emaila. (podziękowania dla pana Piotra ze Spółki Komunalnej Żukowo).
Na ekranie oraz w pliku etc\wmbusmeters.d\<numer_Licznika> będzie klucz który przepisujemy do pliku config.h, ponownie kompilujemy i wgrywamy oprogramowanie do Wemos D1 mini.
Konfiguracja HA
W moim przypadku Wemos przesyła informacje do serwera MQTT uruchomionego jako dodatek w HA.