Cykl „MeshCore poza wiadomościami” · poziom 1 (normalny) · część 1.1. Mapę całego cyklu znajdziesz we wprowadzeniu, a wszystkie opublikowane części – na stronie cyklu.

Każdy, kto słyszał o MeshCore, myśli od razu o wiadomościach tekstowych i własnej sieci działającej z dala od masztów operatorów. Ale złapmy na chwilę luzu i spójrzmy na to z innej strony: co by było, gdyby potraktować MeshCore nie tylko jako komunikator, ale jako krwiobieg dla domowego i podwórkowego IoT (Internetu Rzeczy)?

Od razu uczciwie: to nie jest gotowy poradnik, tylko luźne przemyślenia i plan, który będziemy wspólnie sprawdzać w kolejnych tekstach.

Kilka bajtów zamiast gigabajtów

Spójrzmy prawdzie w oczy: nie każde urządzenie potrzebuje szybkiego Wi-Fi, kabla Ethernet ani dostępu do chmury wielkiej korporacji. Czujnik temperatury w szopie, kontaktron na furtce, czujnik poziomu wody w studni czy zwykły przycisk alarmowy mają gigabajty w nosie. Wystarczy im kilka bajtów:

  • „Żyję i czuję się dobrze.”
  • „Ktoś otwiera drzwi!”
  • „Na dworze jest 8 stopni.”
  • „Woda w studni opadła.”

W takich zastosowaniach przepustowość nie gra roli. Liczą się trzy rzeczy: zasięg, bateria, która wytrzyma miesiące, a najlepiej lata, oraz praca tam, gdzie domowy router po prostu nie sięga.

Dokładnie do tego stworzono LoRa: radio, które przesyła niewielkie porcje danych na odległość liczoną w kilometrach, zużywając przy tym bardzo mało energii. MeshCore dokłada do tego sieć kratową (mesh) – wiadomość, która nie dotrze bezpośrednio do celu, mogą przekazać dalej repeatery, czyli węzły pracujące jako przekaźniki. Dzięki temu zasięg nie kończy się na jednym urządzeniu.

Jak to mogłoby wyglądać

Wyobraźmy sobie prosty łańcuszek:

  1. Urządzenie w terenie – czujnik albo przycisk z modułem LoRa – wysyła krótki komunikat przez sieć MeshCore.
  2. Węzeł brzegowy – węzeł MeshCore w zasięgu domowej sieci – odbiera komunikat i przekłada go na MQTT, lekki protokół, którym rozmawia większość systemów automatyki domowej.
  3. Home Assistant (albo inny system) dostaje dane i robi z nimi to, co zwykle: wykres, powiadomienie, automatyzację.

MeshCore nie musi przy tym zastępować domowego internetu. Ma po prostu objąć miejsca, do których Wi-Fi nie dociera, bo jest za daleko albo ciągnięcie go tam nie ma sensu: działkę, garaż na końcu posesji, studnię, pasiekę.

Lista pomysłów do sprawdzenia

Na razie to lista pomysłów do sprawdzenia w praktyce:

  • alarm i czujniki na działce,
  • monitoring temperatury i wilgotności,
  • nadzór nad zbiornikami i pompami,
  • sterowanie bramą albo oświetleniem,
  • bezprzewodowe przyciski,
  • zamki, skrytki i domowy „paczkomat” DIY,
  • identyfikacja RFID i punkty dostępu, np. do wspólnych zabawek,
  • integracja z Home Assistantem i MQTT, a może nawet z openHAB i Domoticz.

Oczywiście to, że coś świetnie brzmi na papierze, nie znaczy, że nie wybuchnie przy pierwszym uruchomieniu. I właśnie to jest w tym wszystkim najfajniejsze.

Gdzie mogą być schody

Już teraz widać kilka pytań, na które trzeba będzie znaleźć odpowiedź:

  • Opóźnienia i potwierdzenia. Odczyt temperatury może przyjść minutę później i nic się nie stanie. Polecenie „otwórz bramę” – już nie. Trzeba sprawdzić, jak szybko komunikat przechodzi przez kilka skoków i skąd wiadomo, że dotarł.
  • Limity pasma. W europejskim paśmie MeshCore (869,4–869,65 MHz) każde urządzenie może nadawać najwyżej przez 10% czasu (tzw. duty cycle). Czujnik, który co chwilę coś raportuje, zużyje ten limit i zajmie eter innym.
  • Wspólna sieć. Repeatery MeshCore są często wspólne dla całej okolicy. Telemetria z dziesiątek czujników nie powinna zapychać sieci, z której korzystają ludzie.
  • Bezpieczeństwo. Przy zamkach i bramach nie wystarczy, że wiadomość dojdzie. Trzeba mieć pewność, kto ją wysłał i że nikt nie odtworzy jej później.
  • Energia. Urządzenie na baterii powinno większość czasu spać, a nie pełnić funkcję repeatera. Węzeł brzegowy z kolei potrzebuje stałego zasilania i połączenia z domową siecią.

Plan działania

Nie udajemy, że MeshCore to złoty środek na wszystko. Chcemy sprawdzić, gdzie ten pomysł ma ręce i nogi, gdzie natrafimy na ścianę i czego trzeba, żeby wyszła z tego stabilna sieć IoT.

Droga będzie prosta: od luźnego pomysłu, przez projekt i sprzęt, aż po testy i twarde wnioski. Coś zadziała świetnie, coś okaże się ślepą uliczką. I o to chodzi.

Zaczynamy. Resztę poskładamy klocek po klocku.

Na jakim jesteśmy etapie

  • Działa już: sieć MeshCore przekazuje wiadomości przez repeatery, a MQTT jest powszechnie używany w automatyce domowej.
  • Hipoteza: czujniki, przyciski i alarmy mogą korzystać z tej samej sieci, a węzeł brzegowy przekłada ich komunikaty na MQTT.
  • Do przetestowania: opóźnienia i potwierdzenia, limit czasu nadawania, wpływ telemetrii na wspólną sieć, bezpieczeństwo poleceń i zużycie energii.

Co dalej w cyklu

Na poziomie 1 zakładamy, że wszystko działa: jest prąd, internet i domowa sieć, a MeshCore uzupełnia ją tam, gdzie Wi-Fi nie dociera. W części 2.1 odejmujemy internet. Sprawdzimy, czy jeden lokalny komputer z Home Assistantem może obsługiwać przez radio nie tylko czujniki, ale też usługi dla całej społeczności.

Kolejne części pojawią się pod tym tekstem, w sekcji „Zobacz też”.