Externí teplotní senzory (1-Wire / DS18B20)
GLIDER podporuje až 8 digitálních teploměrů DS18B20 připojených přes sběrnici 1-Wire. Senzory se připojují k jednomu ze dvou portů 1-Wire na svorkovnici zařízení GLIDER (W1 nebo W2).
Tato stránka popisuje, jak sondy zapojit, vyhledat a jak z nich číst teplotu.
Konfiguraci alarmů svázaných s těmito senzory najdete v části Konfigurace → Alarmy.
Hardware
GLIDER vyvádí sběrnici 1-Wire na dva fyzické porty. Oba jsou elektricky rovnocenné a obsluhuje je stejný interní master 1-Wire Maxim DS2484:
| Port | Napájení | Data | Zem |
|---|---|---|---|
| W1 | W1V | W1D | W1G |
| W2 | W2V | W2D | W2G |
Standardní kabelové sondy DS18B20 od HARDWARIO mají tři vodiče:
| Barva vodiče | Funkce | Připojit k |
|---|---|---|
| 🔴 Červený | VCC (napájení) | W1V nebo W2V |
| 🟡 Žlutý | Data | W1D nebo W2D |
| ⚫ Černý | GND | W1G nebo W2G |
Oba porty sdílejí uvnitř zařízení GLIDER stejnou logickou sběrnici 1-Wire. Osm logických „slotů“, které firmware spravuje, nezávisí na tom, do kterého fyzického portu sondu zapojíte. Sondy se ke slotům přiřazují podle kódu ROM, ne podle portu.
Krok 1 – Zapojení sond
- Před zapojováním zařízení GLIDER vypněte.
- Odizolujte tři vodiče každého kabelu DS18B20 a připojte je k
W1neboW2podle tabulky výše. - Zařízení znovu zapněte.
Sondy můžete mezi W1 a W2 libovolně rozdělit, protože oba porty obsluhují stejnou sběrnici. Osm slotů je čistě softwarových a každý se váže na sériové číslo ROM jednoho senzoru DS18B20.
Krok 2 – Prohledání sběrnice
Po zapnutí nechte firmware vyhledat připojené senzory.
Přes konzoli RTT
therm scan
Přes konzoli AT
AT$SHELL="therm scan"
Ukázkový výstup:
Found 1 sensor(s):
[1] 28ff12b05316031d <- NEW
Slot 2: (empty)
Slot 3: (empty)
Slot 4: (empty)
Slot 5: (empty)
Slot 6: (empty)
Slot 7: (empty)
Slot 8: (empty)
Save changes? [y/N]
Značka <- NEW označuje kód ROM, který firmware dosud neviděl. Stiskem y + Enter nové senzory přiřadíte k navrženým slotům a zařízení se restartuje.
Potvrzení můžete přeskočit (hodí se pro skripty nebo zprovoznění ve výrobě):
therm scan --save
Příkaz senzory přiřadí a zařízení restartuje v jednom kroku.
Pokud chcete zároveň smazat sloty, jejichž kódy ROM už na sběrnici nejsou:
therm scan --clear-missing
Krok 3 – Čtení teploty
Teplotu senzoru přiřazeného ke slotu přečtete příkazem:
therm read 1
(místo 1 zadejte číslo slotu 1–8). Všechny obsazené sloty najednou přečtete příkazem:
therm readall
Ukázkový výstup:
Slot 1: 23.50 °C
Slot 2: 24.62 °C
Teplota se udává ve °C s rozlišením 0,01 °C. Neúspěšné čtení (odpojená sonda, chyba CRC, …) vrátí NaN a do payloadu pro cloud se odešle jako null.
Krok 4 – Kontrola stavu slotů
therm state
Zobrazí aktuální přiřazení slotů, poslední naměřenou teplotu a čítače čtení a chyb.
Ruční přiřazení senzoru ke slotu
Pokud znáte kód ROM sondy (například ze štítku), můžete ji přiřadit přímo bez vyhledávání:
therm config 1 28ff12b05316031d
…a pak konfiguraci uložit:
AT&W
Jak se teploty zobrazují v cloudu
Každý obsazený slot je součástí pole thermometers v payloadu CBOR:
thermometers:
- slot: 1
temperature: 23.50
- slot: 2
temperature: 24.62
Prázdné sloty se do payloadu nezahrnují (neobjeví se ani jako null). Neúspěšné čtení se odešle jako temperature: null.
Úplné schéma najdete na stránce CBOR payload.
Kombinace s alarmy
Každý slot teploměru lze svázat s jedním nebo více pravidly alarmu, která se aktivují, když teplota překročí nastavitelnou prahovou hodnotu:
alarm config 1-enabled true
alarm config 1-therm 1 # watch slot 1
alarm config 1-threshold 30 # trigger at 30 °C
alarm config 1-hysteresis 5 # release at 30 − 5 = 25 °C
AT&W
Úplný popis alarmů najdete na stránkách Konfigurace a Příkazy shellu.