Uživatelské nástroje

Nástroje pro tento web


zarizeni:vlastni_hardware

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
zarizeni:vlastni_hardware [2016/03/07 14:49] multitrickerzarizeni:vlastni_hardware [2025/02/23 15:49] (aktuální) multitricker
Řádek 1: Řádek 1:
-====== Vlastní hardware ======+====== Zasílané hodnoty ======
  
-Je potřeba vyjít ze základního principu fungování aplikace - požadavkem typu HTTP GET poslat na své čidlo naměřenou hodnotu. Zasílat ji každou minutu, teplotu ve stupních Celsia, vlhkost v procentech. Pokud máte např. v administraci zadané čidlo s doménou ''**ahoj**'' a GUID nastavené na ''**mojemereni**'', pak je možné vložit hodnotu do databáze v prostředí Linuxu s nainstalovaným //curl// napřtakto:+  * :!: [[zarizeni:obecne_nastaveni_site|Nezapomeňte na správné nastavení sítě v zařízení.]] 
 +  * :!: [[portal:debug_prichozich_hodnot|Jaké požadavky a z jaké IP adresy na server chodí ověříte v Debugu příchozích hodnot. Tam můžete vidět i všechny parametry příchozího volání.]] 
 +  * :!: [[:sensor.community_fw_airrohr|Můžete také zasílat JSON POST z FW airRohr.]] 
 + 
 +===== Stručně: tabulka možných předávaných parametrů přes HTTP GET ===== 
 + 
 +**Nemusíte následovat tabulku níže - názvy předávaných proměnných pro hlavní měřené hodnoty si můžete pojmenovat libovolně** - následně jejich pojmenování vyplníte v nastavení čidla na webu TMEPu pod hodnotami GUID 1-3. V tom případě se nepoužijí výchozí parametry a předávání hodnot je o něco bezpečnější (proměnnou by potenciální záškodník musel uhodnout). 
 + 
 +^ Až tři hlavní měřené hodnoty ^^ 
 +^ Název parametru ^ Popis ^ 
 +| ''tempV'' <fs small>nebo</fs> ''temp'' | 1. měřená hodnota, typicky teplota | 
 +| ''humV'' <fs small>nebo</fs> ''humi'' | 2. měřená hodnota, typicky vlhkost | 
 +| ''pressV'' <fs small>nebo</fs> ''pres'' <fs small>nebo</fs> ''CO2'' | 3. měřená hodnota, typicky tlak nebo CO2 | 
 +^ Doplňkové hodnoty ^^ 
 +^ Název parametru ^ Popis ^ 
 +| ''v'' <fs small>nebo</fs> ''voltage'' | napětí na baterii | 
 +| ''rssi'' | síla signálu na wi-fi | 
 +| ''msg'' | zpráva k zobrazení na stránce se statistikami, max. 500 znaků | 
 + 
 +Kompletní volání se všemi proměnnými na vámi zvolenou subdoménu může vypadat takto: 
 +<code bash>http://ahoj.tmep.cz/?temp=25.6&humV=60&pressV=1012.5&v=4.3&rssi=-65</code> 
 + 
 +<WRAP center round important 80%> 
 +**Pro to, aby vám nikdo nemohl zasílat nesmyslná podvržená měření:** 
 +  * Použijte automaticky vygenerovanou doménu pro zasílání hodnot, kterou najdete na webu TMEPu v nastavení čidla. 
 +  * Máte-li tu možnost, pojmenujte nějak unikátně předávané hodnoty (např. místo "temp" třeba "mojeteplota492") a toto pojmenování poté opište do nastavení čidla na webu TMEPu do položky GUID (tedy názvu parametru s měřenou hodnotou). 
 +  * Máte-li pevnou IP adresu, omezte příchozí měření právě na ni (na webu TMEPu v nastavení čidla). 
 +</WRAP> 
 + 
 +===== Předávání měřených hodnot ===== 
 + 
 +Je potřeba vyjít ze základního principu fungování aplikace - požadavkem typu HTTP GET poslat na své čidlo naměřenou hodnotu. Zasílat ji každých 1-15 minutv případě teploty zasílat teplotu ve stupních Celsia, vlhkost v procentech. Hodnoty je potřeba zasílat najednou - není možné na doménu poslat v jednom požadavku jednu hodnotu a v dalším jinou. Pokud máte např. v administraci zadané čidlo s doménou ''**ahoj**''u něj GUID (název předávaného parametru s měřenou hodnotou) nastavené na ''**mojemereni**'', pak je možné vložit hodnotu do databáze TMEPu pouhým otevřením adresy v prohlížeči: 
 + 
 +<code>http://ahoj.tmep.cz/?mojemereni=25.6</code> 
 + 
 +Nebo přes příkazový řádek například takto:
  
 <code bash>curl http://ahoj.tmep.cz/?mojemereni=25.6</code> <code bash>curl http://ahoj.tmep.cz/?mojemereni=25.6</code>
  
-Chcete-li zároveň měřit i vlhkost, je potřeba ji předat pod parametrem ''**humV**'':+Chcete-li zároveň měřit i vlhkost, je potřeba ji předat pod parametrem ''**humV**'' nebo ''**humi**'' (nebo definovat vlastní název parametru pod GUID 2 v administraci čidla):
  
 <code bash>curl http://ahoj.tmep.cz/?mojemereni=25.6&humV=60</code> <code bash>curl http://ahoj.tmep.cz/?mojemereni=25.6&humV=60</code>
  
-Po zprovoznění doporučuji zde v nastavení čidla nastavit z jaké IP adresy mohou měření chodit+K teplotě a vlhkosti je možné přidat tlak nebo CO2, v nastavení čidla mějte zvolený korespondující typ čidla a přidejte proměnnou ''**pressV**'' nebo ''**CO2**'' (nebo definovat vlastní název parametru pod GUID 3 v administraci čidla): 
-aby měření nemohl zasílat kdokolivNastavení vlastního GUID (pojmenování parametru s + 
-hodnotou měření) je také jistý stupeň ochrany.+<code bash>curl http://ahoj.tmep.cz/?mojemereni=25.6&humV=60&pressV=1012.5</code> 
 +<code bash>curl http://ahoj.tmep.cz/?mojemereni=25.6&humV=60&CO2=620</code> 
 + 
 +---- 
 + 
 +==== Další parametry, které je možné zasílat ==== 
 + 
 +Sílu signálu na wi-fi, kterou zařízení má, parametr ''**rssi**'': 
 +<code bash>curl http://ahoj.tmep.cz/?mojemereni=25.6&rssi=-58</code> 
 +Napětí baterie, parametr ''**v**'' nebo ''**voltage**'': 
 +<code bash>curl http://ahoj.tmep.cz/?mojemereni=25.6&v=3.85</code> 
 + 
 +Pro zobrazení stavu baterie v procentech můžete v administraci čidla stanovit rozsah napětí od/do. 
 + 
 +Na stránce čidla následně v hlavičce uvidíte rssi a/nebo stav baterie: 
 + 
 +{{:zarizeni:pasted:20220326-200419.png?300}} 
 + 
 +---- 
 + 
 +Zprovozníte-li takto nějaké měření na vlastní descebudu rád, když se o schéma i kód  
 +[[multi@tricker.cz|podělíte]] a rád ho na wiki přidám. 
 + 
 +===== Experimentální - dávkové předávání měřených hodnot ===== 
 + 
 +Na základě speciální poptávky byla přidána možnost poslat CSV soubor, ve kterém bude měření za až několik dní, takže se na internet a server bude stačit připojit jen občas
 + 
 +V případě, že takto předáte hodnoty, se nebude interně do agregovaných statistik dopočítávat den uvedený v poslední zaslané hodnotě - na to je potřeba mít den uzavřený se všemi měřeními a pro jistotu dojde k tomuto vynechání. 
 + 
 +Není možné zasílat starší hodnoty než jaká je poslední hodnota z předchozí dávky - ty budou případně ignorované. 
 + 
 +Jak hodnoty zasílat? Na doménu pro zápis hodnot metodou POST, s uvedenou hlavičkou ''Content-Type: text/csv'' a v těle rovnou CSV (oddělovač středník, čísla mají desetinná místa oddělená tečkou) ve formátu:\\ 
 +<code>YYYY-MM-DD HH:MM:SS;teplota;vlhkost;tlak;napeti;rssi</code> 
 + 
 +Tedy např.: 
 + 
 +<code>2025-01-02 00:05:00;20.2;50;998.4;3.8;-62 
 +2025-01-02 00:10:00;18.9;68;1003.1;3.7;-55 
 +2025-01-02 00:15:00;21;58;1003.1;3.7;-60 
 +2025-01-02 00:20:00;24.7;50;999;3.5;-56</code>
  
-Zprovozníte-li takto nějaké měření na vlastní desce, budu rád, když se o nastavení 
-[[multi@tricker.cz|podělíte]] a přidám ho sem.