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ą.


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ć — albo, gdy czujnik nadaje do Twojej sparowanej bramy LoRaWAN, w Twoim własnym Home Assistant (niżej).
- 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.
Przykład z życia: samochód pod blokiem
Auto stoi sześćdziesiąt metrów i dwie ściany dalej, bez internetu i bez prądu do zmarnowania. Do tego służy sekcja druga: samochód dostaje czujnik, a nie noda. Node zostaje w mieszkaniu.
W samochodzie. ESP32 z radiem SX1262 na małej baterii, czujnik wstrząsu i kontaktron na drzwiach. Śpi, budzi się na ruch, wysyła jedną zaszyfrowaną ramkę na podadres twojego noda i zasypia. Ramka to kilka bajtów, więc bateria starcza na miesiące.
W domu. Node → Ustawienia → LoRa → Odbiór ramek: ustaw frazę klucza i przydziel autu podadres 1. To cała konfiguracja.
Co dostajesz. Ramka ląduje w skrzynce LoRa, na MQTT i w Home Assistancie. Skrypt na nodzie zamienia ją w powiadomienie: ruch 02:14, otwarte drzwi, akumulator 11,6 V.
Jeśli twój node jej nie usłyszy, może usłyszeć node sąsiada albo brama, i ramka i tak do ciebie dotrze przez ich internet - zaszyfrowana, więc nikt po drodze jej nie przeczyta.
Bądźmy uczciwi, czym to jest. Powiadomieniem, nie alarmem i nie lokalizatorem. Radio nigdy nie daje gwarancji dostarczenia, jest jeden skok i nie ma mesha, a blok zjada zasięg. Ten sam przepis obejmuje garaż, komórkę na rowery, przyczepę kempingową albo łódkę.
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
Brama LoRaWAN, którą już masz, słucha dla całej sieci na dwa sposoby. Bezpośrednio: jej packet forwarder wysyła też na sensmos.com:1700, a bramę parujesz z portfelem w apce — dostaje własną kartę, nadaje beacon pokrycia co 5 minut i zarabia jak node z wagą 0,3. Pasywnie: skrypt na bramie raportuje, co odbiera forwarder, a ręczy za niego node Sensmos w tej samej sieci; na bramie nic się nie zmienia. W obu przypadkach każda usłyszana ramka Sensmos trafia do właściciela. Konfiguracja: 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.

Cena
| GALU / dzień użycia | Dokąd trafia | |
|---|---|---|
| Tryb Emergency, komendy, panel | 0 — zawsze | — |
| Odbiór szyfrowanych ramek | 0.7 | 70% 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.5 | tak samo |
| Nadawanie z radia Twojego noda | 0.8 | pula nagród |
Naliczane raz w dniu, w którym korzystasz z funkcji; puste saldo niczego nie blokuje. Zobacz Portfel i opłaty.