Příkazy přes downlink a správa na dálku (fPort 85)
Zařízení STICKER přijímá příkazy jako downlinky LoRaWAN na fPort 85 a odpovídá na ně zprávami na fPort 85.
Příkazy lze posílat ve dvou formátech:
- Jako JSON (doporučeno): Pokud má síťový server kodek payloadu STICKER (
ttn.js) přiřazený jako formátovač downlinků, můžete příkazy zařazovat jako strukturované objekty JSON. - Jako surový hex: Předem zakódované binární bajty payloadu lze poslat přímo na fPort 85, aniž by procházely kodérem LNS.
Ve všech ukázkách JSON níže je seq pořadové ID transakce, které volíte sami (například 1); zařízení ho vrátí v odpovědi uplinkem.
Firmware v1.4.0 přináší úplnou správu na dálku přes LoRaWAN na fPort 85. Zařízení lze bezdrátově přenastavit, zjistit jeho stav, synchronizovat ho nebo si vyžádat opětovné odeslání historie, a to bez fyzického připojení přes SWD i bez NFC.
Parametry změněné na dálku pomocí set_param se okamžitě projeví v RAM. Změny se ale neuloží do flash paměti, dokud nepošlete příkaz settings_save (který vyvolá restart zařízení). Neuložené změny se při dalším vypnutí a zapnutí zahodí.
Akční příkazy (bez parametrů)
Akční příkazy spouštějí systémové operace, vyžádají si diagnostická hlášení nebo vynutí reset stavu hardwaru.
| Akce | Příkaz JSON | Hex (fPort 85) | Popis |
|---|---|---|---|
| Vyžádat informace o zařízení | {"command":"get_info","seq":1} | 08012200 | Zařízení okamžitě odešle payload Device Info on Join (sériové číslo, verze FW, příčina resetu, claim token, stav baterie). |
| Odeslat hlášení ihned | {"command":"force_send","seq":1} | 08014a00 | Vynutí okamžité vzorkování senzorů a odeslání uplinku na fPort 2. |
| Získat konfiguraci | {"command":"get_config","seq":1} | 08012a00 | Vrátí úplný výpis aktivních parametrů zařízení. |
| Prohledat sběrnici 1-Wire | {"command":"w1_scan","seq":1} | 08017200 | Prohledá sběrnici 1-Wire a najde připojené senzory Dallas / Machine Probe. |
| Synchronizovat hodiny RTC | {"command":"clock_sync","seq":1} | 08016200 | Odešle požadavek MAC DeviceTimeReq a synchronizuje hodiny reálného času se síťovým časem. |
| Uložit připravenou konfiguraci | {"command":"settings_save","seq":1} | 08013200 | Zapíše čekající konfiguraci z RAM do flash paměti NVS a restartuje zařízení. |
| Restartovat systém | {"command":"reboot","seq":1} | 08013a00 | Vyvolá okamžitý restart systému. |
| Factory reset | {"command":"factory_reset","seq":1} | 08014200 | Vrátí konfiguraci na výchozí hodnoty z výroby a zachová sériové číslo, secret key a claim token. |
| Resetovat stack LoRaWAN | {"command":"lrw_reset","seq":1} | 0801820100 | Vynuluje čítače rámců LoRaWAN a hodnoty DevNonce (restartuje MCU). |
| Vynutit opětovné připojení | {"command":"lrw_join","seq":1} | 08018a0100 | Stack LoRaWAN zahájí nové připojení OTAA (Join). |
| Vstoupit do kalibrace | {"command":"enter_calibration","seq":1} | 0801920100 | Přepne zařízení do kalibračního režimu pro Hallovy senzory a analogové vstupy. |
Konfigurace na dálku (set_param a get_param)
Systémové parametry jsou uspořádané do konfiguračních skupin lorawan, application a sensors.
Příklady
Nastavení intervalu hlášení na 10 minut (600 sekund):
{ "command": "set_param", "seq": 1, "set_param": { "application": { "interval_report": 600 } } }
Hex (fPort 85): 08011205120318d804
Zapnutí vysílání (radio_mode):
{ "command": "set_param", "seq": 1, "set_param": { "lorawan": { "radio_mode": true } } }
Hex (fPort 85): 080112040a022801
Zapnutí adaptivní datové rychlosti (ADR):
{ "command": "set_param", "seq": 1, "set_param": { "lorawan": { "adr": true } } }
Hex (fPort 85): 080112040a022001
Dotaz na konkrétní parametr (například interval hlášení):
{ "command": "get_param", "seq": 1, "get_param": { "application_field": [3] } }
Hex (fPort 85): 08011a03120103
Vynulování čítačů impulzů (levý Hallův spínač a externí vstup A):
{ "command": "reset_counters", "seq": 1, "reset_counters": { "hall_left": true, "input_a": true } }
Hex (fPort 85): 0801520408011801
Dynamická pravidla alarmů (alarms)
Pravidla alarmů pro teplotu, vlhkost, digitální vstupy nebo prahy počtu impulzů lze měnit na dálku. Obsadit lze až 16 slotů pravidel (alarm_0 až alarm_15). Aktivní alarmy posílají okamžitá hlášení uplinkem na fPort 3.
Nastavení slotu 0 (prah teploty na desce: alarm pod 5 °C nebo nad 30 °C):
{ "command": "set_param", "seq": 1, "set_param": { "alarms": { "alarm_0": "03000000000000a0400000f04100000000" } } }
Hex (fPort 85): 080112152a131a1103000000000000a0400000f04100000000
Smazání pravidla alarmu ve slotu 0:
{ "command": "set_param", "seq": 1, "set_param": { "alarms": { "alarm_0": "0000000000000000000000000000000000" } } }
Hex (fPort 85): 080112152a131a110000000000000000000000000000000000
Vyžádání historie na dálku (req_history)
Záznamy ze senzorů, které se během výpadků sítě uložily do flash paměti, získáte downlinkem req_history s požadovaným časovým oknem (unixové časové značky). Zařízení STICKER pak uložená měření pošle zpět jako sérii paketů history_frame na fPort 85.
Vyžádání historie senzorů:
{ "command": "req_history", "seq": 1, "req_history": { "from_unix": 1780000000, "to_unix": 1780003600 } }
Hex (fPort 85): 08015a0c0880cae2d0061090e6e2d006
Nastavení downlinků na síťovém serveru
- ChirpStack v4: Přejděte na Device → Queue a zvolte fPort 85. Zařaďte buď surový hexadecimální payload, nebo strukturovaný objekt JSON (pokud používáte kodek v profilu zařízení).
- The Things Stack (TTS): Přejděte na Device → Messaging → Downlink a nastavte fPort 85. Vložte přímo hexadecimální bajty, nebo payload JSON, pokud je kodek přiřazený jako formátovač payloadu downlinku.