ENPLDEPT
Flash
Cała dokumentacja
LoRa

LoRa dla Twojego domu — alerty awaryjne, gdy internet leży, i szyfrowane ramki czujników do Home Assistant

Node z radiem SX1262 robi dwie rzeczy. Tryb Emergency — odczyty w eter, komendy z powrotem, przez radio, gdy łącze leży. I sieć odbiorcza dla Twoich własnych czujników LoRa — dowolny node Sensmos albo brama LoRaWAN, która je usłyszy, dostarcza je do Ciebie, zaszyfrowane tak, że tylko Twój node może je odczytać.

radio · 868 MHz · emergency frame
Heard by a neighbour · 2.1 kmgarage · temp 3.4°C · door OPEN · 21:44

Płytki

Dowolna płytka ESP32-S3 z SX1262 (Heltec WiFi LoRa 32 V3, LilyGo T3-S3 i podobne). Wgraj kafelek ESP32-S3 + LoRa we flasherze w przeglądarce. Firmware wykrywa radio przy starcie; bez niego ekrany LoRa po prostu się nie pojawiają.

ESP32-S3 + SX1262: Heltec V3 (po lewej), Seeed XIAO S3 + Wio-SX1262 (po prawej)
ESP32-S3 + SX1262 w stylu Heltec
ESP32-S3 + SX1262: Heltec V3 (po lewej), Seeed XIAO S3 + Wio-SX1262 (po prawej)
Seeed XIAO S3 + Wio-SX1262

1. Tryb Emergency (darmowy, dwukierunkowy)

Gdy node traci uplink (Wi-Fi martwe, ISP leży), parkuje na kanale domowym i co kilka minut nadaje do czterech wybranych przez Ciebie odczytów: temperaturę, stan zaworu, status tekstowy — cokolwiek, co node ma jako encję. Wartości są kompaktowe (ASCII, 8 znaków).

Kto usłyszy, ten dostarcza. Inny node albo brama LoRaWAN z agentem Sensmos przekazuje ramkę przez swój własny internet. Dostajesz push i Panel Emergency w apce: odczyty z ich wiekiem, kto je usłyszał i pole komendy.

Komendy z powrotem. Z panelu możesz wysłać krótką komendę (do 8 znaków, np. water_off) — podpisaną Twoim portfelem, limit 4 na godzinę. Sieć wybiera noda w zasięgu Twojego, żeby ją nadał; Twój node wykonuje ją lokalnie (webhook, MQTT, akcja skryptu) i potwierdza w następnym nadaniu. Opóźnienie to jeden cykl nadawania, kilka minut.

Włącz to: node → Ustawienia → LoRa → Emergency: wybierz do czterech encji, opcjonalnie webhook, który node ma wywołać po nadejściu komendy (POST JSON albo GET, np. URL UniFi albo Shelly). Panel Emergency pojawia się na karcie noda automatycznie, gdy node milknie.

2. Twoje własne czujniki LoRa (ramki)

Dowolny nadajnik LoRa — płytka ESPHome, własny czujnik — może wysłać małą ramkę zaadresowaną do Twojego noda. Ramka niesie id noda i sub-adres (1–255), więc jeden node może obsługiwać wiele czujników.

  • Szyfrowane (zalecane): czujnik i node dzielą frazę klucza. Node dekoduje; serwer widzi tylko „ramka dla noda X" i ją routuje. Dekodowanie odbywa się na Twoim nodzie, w otwartym firmware, który możesz przeczytać.
  • Jawne (opt-in): przyjmowane tylko, jeśli to włączysz, bo każdy, kto zna id Twojego noda, mógłby taką wysłać. W sam raz do zabawek i telemetrii tylko do odczytu; nigdy do elementów wykonawczych.

Ramki lądują w skrzynce LoRa noda (apka: node → Ustawienia → LoRa → Skrzynka), na MQTT (lora_frame, lora_frame.N per czujnik) i w Home Assistant jako czujniki i zdarzenia. Potwierdzenie dostarczenia (same metadane) mówi sieci, że ramka dotarła.

Usłyszane przez kogokolwiek, dostarczone do Ciebie. Jeśli Twój czujnik jest poza zasięgiem Twojego noda, ale usłyszy go inny node albo brama, ramka dociera do Twojego noda przez internet. Twój node nie musi sam słyszeć swoich czujników.

Włącz to: node → Ustawienia → LoRa → Odbiór ramek: ustaw frazę klucza, opcjonalnie zezwól na jawne ramki.

3. Nadawanie do czujnika

lorasend na nodzie (apka: Ustawienia → LoRa → Wyślij, albo usługa HA sensmos.lora_send) nadaje ramkę do jednego z Twoich własnych czujników: cel = Twój node, sub = czujnik. Do czujnika nadaje tylko jego własny node — nie ma przekazywania przez cudze radia. Wysyłka do innego noda idzie przez internet, a ostatni skok robi radio tamtego noda.

Format ramki (dla budujących czujniki)

plain:      [0xE0][0x02][flags][dst 4B][sub 1B][payload ≤128 B][CRC32 LE]
encrypted:  [0xE0][0x02][flags][dst 4B][sub 1B][nonce 4B][AES-256-CTR(payload+CRC32)]

flags bit0 = AES, bit1 = „ostatni skok" (ustawiany tylko przez noda przy nadawaniu do czujnika). Klucz = SHA-256 frazy klucza. Radio: 868.1 MHz (EU) / 903.9 MHz (US), BW 125 kHz, SF11, CR 4/5, sync 0x34. Pełna specyfikacja, w tym obowiązki duty cycle i reguły po stronie czujnika: API i protokoły.

Bramy jako dodatkowe uszy

Brama LoRaWAN, którą już masz (Helium, TTN, prywatna), może słuchać dla całej sieci: pasywny skrypt na bramie raportuje, co odbiera packet forwarder, sparowany przez noda Sensmos w tym samym LAN-ie. Na bramie nic się nie zmienia. Konfiguracja w dziesięć minut: Brama LoRaWAN.

Role: Punkt i Skaner

Sieć przypisuje każdemu nodowi z radiem rolę. Punkt siedzi na kanale domowym 24/7 — niezawodne ucho dla alarmów i czujników. Skaner przemiata kanały i próbkuje widmo (szum, zajętość, obcy ruch LoRa), a na kanał domowy skacze, gdy ma coś do nadania. Oba raportują, co słyszą; mapę radiową zobaczysz na mapie na żywo.

Połączenia radiowe na mapie na żywo: sąsiedzi, których node słyszy, poziomy sygnału i jego encje RF
Połączenia radiowe na mapie — kto kogo słyszy, z jakim sygnałem, i odczyty RF noda

Cena

GALU / dzień użyciaDokąd trafia
Tryb Emergency, komendy, panel0 — zawsze
Odbiór szyfrowanych ramek0.770% do właściciela pierwszego obcego noda, który tego dnia usłyszał Twój czujnik, 30% pula nagród
Odbiór jawnych ramek (opt-in)0.5tak samo
Nadawanie z radia Twojego noda0.8pula nagród

Naliczane raz w dniu, w którym korzystasz z funkcji; puste saldo niczego nie blokuje. Zobacz Portfel i opłaty.

Pytania i proste odpowiedzi

Czy potrzebuję bramy LoRaWAN albo konta TTN?

Nie. Twój node jest odbiornikiem dla Twoich czujników, a każdy inny node albo brama w sieci to dodatkowa para uszu. Ramki używają publicznego kanału uplink LoRaWAN (EU 868.1 / US 903.9), więc obce bramy z agentem Sensmos też je słyszą.

Czy serwer może odczytać dane moich czujników?

Nie. Ramki są szyfrowane frazą klucza, która mieszka tylko na Twoim nodzie i Twoich czujnikach. Serwer routuje ramki po adresie i nigdy nie ma klucza („zero-knowledge").

Czy dostarczenie jest gwarantowane?

Nie — to radio. Tryb Emergency jest słyszany, jeśli w zasięgu jest node albo brama; nie ma meshu ani multi-hop. Im więcej nodów wokół Ciebie, tym lepiej.

Czy jest mesh multi-hop?

Nie, celowo. Jeden skok radiowy, cała reszta przez IP. Dzięki temu duty cycle, opóźnienie i bezpieczeństwo są przewidywalne.

Ile to kosztuje?

Tryb Emergency jest darmowy na zawsze. Odbiór ramek czujników to 0.7 GALU (szyfrowane) albo 0.5 GALU (jawne, opt-in) za dzień użycia; nadawanie z radia noda 0.8 GALU za dzień użycia. 70% opłaty za odbiór trafia do właściciela pierwszego obcego noda, który tego dnia usłyszał Twój czujnik.

Aktualizacja: 2026-09-03