× Úvod Konstrukce Části programu Vlastnosti Proměnné Kompilace Zjištění IP adresy Webové rozhraní Deep Sleep On The Air update Možnosti kalibrace Server feedback Download Domů
Opened sensor box

Barometr s měřením teploty a vlhkosti

Wemos D1 mini a BME280

4/2024

Modul Wemos D1 mini a jeho klony jsou dobrým startem pro tvorbu různých chytrých sensorů a spousty dalších věcí. Jeho jádro tvoří již dlouho známý čip ESP8266 a já ho s oblibou používám na platformě Arduina. Proti běžnému Arduinu má výhodu v možnosti přímé komunikace se sití Wifi. Už existují novější a výkonnější obvody, ale Wemos s ESP8266 toho zvládne hodně a cena je velice příznivá. Stačí mít k němu ještě USB kabel s mikro USB konektorem na konci a můžete programovat. Proti modulům bez možnosti komunikace se světem je to opravdu rozdíl. Je třeba pak už jen najít inspiraci.

Barometrických sensorů jsem už pár vyzkoušel. V tom velkou fantazii nehledejte. Nakonec jsem ale neodolal a vyrobil si tlakoměr s kombinovaným čidlem pro tlak, teplotu a vlhkost - BME280. Na webu je takových barometrů řada, proto jsem se snažil vložit do konstrukce také nějakou vlastní invenci. Vznikl z toho barometr s webovým rozhraním. Je prostě zároveň http serverem i klientem. Má možnost jednoduše nastavovat přístup k Wifi a další důležité parametry bez přeprogramování. Nechybí mu ani OTA, což je velice praktická a efektivní možnost bezdrátového update firmware. Senzor také umí odesílat data na stále populárnější portál tmep.cz, kde je pak možné dělat různé přehledy z archivovaných dat. Snažil jsem se o modularitu programu tak, aby ho bylo možné využít i pro jiná čidla nebo zařízení. Nevím, do jaké míry se mi to povedlo. Ale mám pocit, že neexistuje příkaz či konverze dat ve Wiringu, které bych v programu neuplatnil.

Implementoval jsem, za sebe poprvé, SSL klienta pro komunikaci s externím serverem. Použil jsem také různé specifické vlastnosti ESP8266, jako například triviální zápis do RTC memory, emulaci EEPROM na paměti flash a nakonec i Deep Sleep. Možná, že něco z toho bude pro vás inspirací. Na modulu ESP8266 je pěkné, že má relativně dost programové paměti, tak v běžné situaci člověk nemusí příliš šetřit. Faktem je, že ESP8266 má 48x více RAM a cca 30x více programové paměti než třeba Arduino Uno. O taktu procesoru a architektuře ani nemluvím, takt je 5x vyšší než mají běžná Arduina. Ale značnou část těchto zdrojů spotřebuje implementovaný WiFi stack. Přesto považuji za úsměvné, když slyším o často marných pokusech připojit ESP8266 pomocí AT příkazů jako hodně těžkopádnou Wifi periferii k nějakému Arduinu s ATmega328P. Opravdu problematický je u ESP8266 pouze nedostatek I/O pinů a absence slušného AD převodníku. Wemos D1 mini obsahuje nezbytné komponenty včetně USB / RS232 konvertoru. Opravdu stačí zapojit a můžeme vyvíjet aplikace, co hrdlo ráčí.

Pokud máte zájem se seznámit s výsledkem mého snažení, budu rád. Jsem si vědom, že dokumentace je velice důležitá, ale rozhodně nechci psát žádný podrobný tutoriál. V době internetu si určitě poradíte, a já se mohu soustředit na popis samotného programu.

Konstrukce


Schema

Dík koncepci a programování je možné s Wemos D1 mini vyrábět složité věci jednoduchým způsobem. Když to spočítám, tak jsem zapájel pouze sedmero pájecích bodů a zapojení je hotovo. Nepoužil jsem žádnou další desku mimo sensor, žádné kontaktní pole, protože jsem chtěl udělat něco hmatatelnějšího a trochu pěknějšího, co se nerozpadne pod prachovkou při úklidu pracovního stolu.

K samotnému Wemos D1 mini jsem ještě nakoupil na portálu laskakit.cz čidlo BME280 a kablík s názvem μŠup na propojení Wemos a BME280. Při vývoji byl systém připojen k počítači a v provozu ho napájím z nabíječky k staršímu mobilu, kterých ještě pár mám. Když budete nakupovat, tak bych ještě přibral alespoň sympatický sensor vlhkost / teplota SHT40. Není příliš drahý a určitě se vám bude hodit. Na tom webu se prostě nakupuje dobře. A když v tom eShopu budete, rovnou si tam najděte článek, jak se instalují desky ESP8266 do Arduino IDE. Těch popisů i v češtině se dá najít dostatek. Já obvykle volím v IDE desku Lolin(Wemos) D1 mini (clone). Proč? Nikdo mi totiž neřekl, abych používal jinou. Ve skutečnosti mám ale pocit, že tahle deska dovoluje trochu širší nastavení.

Pokud máte Arduino IDE nainstalováno, tak můžete pro začátek vyzkoušet, jak se chová Wemos jako webový server. Program či sketch, chcete-li, funguje i bez čidla. Jen měří nulové hodnoty. Ve skutečnosti jsem většinu času při programování čidlo nepoužíval a žhavil jsem na USB kablíku samotný houpající se Wemos. A opravdu jsem ho nešetřil. K modulu Wemos je čidlo připojeno čtyřmi vodiči. Napájení a signály SCL a SDA sběrnice I2C. Z koupeného kablíku uŠup jsem odstřihl jeden konektor a tyto „obnažené“ konce jsem zapájel do Wemos. Čidlo je připojeno na konektor z druhé strany kablíku. Další komponentou je tlačítko, které jsem skromně nazval Smart Button. To spíná jeden vstup procesoru do GND (země) a má jedinou, ale o to důležitější funkci. Přepíná „on demand“ tedy výslovně na žádost uživatele, z módu stanice do módu access pointu. To je třeba pro spuštění mého vlastního manageru, který jsem do programu integroval a který poskytuje zajímavé vlastnosti.

Tak to máme Wemos, BME280, tlačítko a přidejme ješte jeden rezistor s drátovými vývody v mini provedení. Jeho hodnota by měla být v rozsahu cca 330 až 820 ohmů. Tím propojíte výstup D0(GPIO16) s pinem RST. Naštěstí jsou umístěny blízko sebe. Tato propojka umožňuje funkčnost režimu DeepSleep, protože impulzy z RTC sekce Wemos přicházející na reset aktivují periodické buzení celého systému. Jinak zůstane Wemos ve věčném spánku.

Ještě si neodpustím jednu poznámku. Pro naprostou dokonalost by měl být ještě resistor cca 330 ohmů v sérii se Smart Buttonem. Když ho totiž stisknete a programem bude nedopatřením tento port definován jako výstup, tak ten výstup prostě zkratujete proti zemi. Ale sám jsem tam ten resistor nedal. Pokud však hojně experimentujete, tak to udělejte.

Jednou z nectností Wemos, a ostatně i dalších takových udělátek, je oteplení za provozu. Komunikace přes Wifi vyžaduje energii a to se projevuje právě teplem. Sensor teploty s vysokým rozlišením na to pochopitelně reaguje a proto je vhodné, aby byl proti teplu z obvodu odstíněn. Tomu je třeba přizpůsobit i mechanickou konstrukci. A mějte současně na paměti, že I2C sběrnice není určena pro metrové vzdálenosti. Její spolehlivou funkčnost lze předpokládat dejme tomu na desítky centimetrů. Zásadní snížení teploty je možné důsledným uspáváním systému v mezidobí, tím ovšem přicházíme o spoustu benefitů spojených s kontinuální činností.

3D box

Části programu

Zvykl jsem si, rozdělovat program do záložek, vytvořených přímo v Arduino IDE. Je to daleko přehlednější a nutí to člověka psát program alespoň trochu strukturovaně. Docela se mi to osvědčilo. Má to však jednu velkou nevýhodu. Stačí udělat drobný překlep v nějaké sekci a při překladu se naráz objeví třeba desítky, naprosto nevyzpytatelných a nepochopitelných chyb. Řeším to tak, že když něco málo připíšu nebo upravím, tak hned spouštím Ověřit/Kompilovat. Pak vím, že problém je nejspíš právě v té poslední modifikaci. A také v chybových hlášení kompileru obvykle vyhledávám ta nejstupidnější hlášení typu chybí závorka nebo chybí středník. To bývá u mne nejčastější příčinou problémů.

Program má tyto části – záložky: Je dobré si uvědomit jednu věc. Když s Wemos komunikujete přes webové rozhraní, vystupuje proti vám jako http server. Když komunikuje s externím serverem jako třeba tmep.cz, vystupuje proti němu jako http nebo https klient. To podle čísla portu hostitele, které mu nastavíte

Vlastnosti programu


Pokusím se vám popsat vlastnosti, které program ve spojení s Wemos generuje a poskytuje. Někdy jsem až překvapen, co je možné s tak elementárními prostředky vytvořit. Role Wemos je měřit tlak, teplotu a vlhkost a nějakým způsobem tyto hodnoty předat uživateli.

V mém programu používám sensor BME280 v módu „Forced“. Sensor je uspán a před měřením je specifickým příkazem probuzen. Změří hodnoty tlaku, teploty, vlhkosti a automaticky se zase uspí. Naměřené hodnoty je však z něj možné i poté přečíst. Často najdete na webu zmínku o tom, že se čidlo častým čtením značně ohřívá. Režim „Forced“ by tyto vlivy měl eliminovat. Moje experimenty ale žádný výrazný samoohřev nepotvrdily. Domnívám se, že za oteplení byl téměř vždy zodpovědný nevhodně umístěný procesor.

Tak tedy, když se připojím na webové rozhraní Wemos, tak mohu přecházet mezi třemi stránkami. Ta první je přehledová. Zobrazuje provozní podmínky a měřené hodnoty. Zbývající dvě stránky slouží k nastavovaní. A tyto dvě stránky jsou chráněny společným heslem. To heslo lze snadno rozšířit na vše, ale dle mého názoru je to zbytečné. Jde jen o to, aby se děti nebavili tím, kdo první tatínkovi sestřelí čidlo.

Reálně pracuje Wemos ve dvou módech. Buď je to mód stanice nebo je to mód access point. Je to nutné, protože pokud nejsou primární parametry přihlášení do sítě přímo v programu, tak se nemáte k Wemos jak připojit. Proto existuje mód access point. Ten vytváří v podstatě svoji vlastní Wifi síť. Je stále a pokaždé stejná. Vy se na ni můžete kdykoliv připojit a nastavit si v modulu parametry jiných sítí. To je podstata všech knihoven „Wifi manager“. Téměř filozofickou otázkou ale je, jak ten manager vyvolat / spustit. Někdy je to docela problematické. Já jsem to řešil možná trochu neortodoxně. Vsadil jsem na svůj Smart Button. Pokud toto tlačítku stisknu (s výjimkou stavu DeepSleep) tak modul přejde z režimu stanice do režimu access point.

Mohu tedy definovat možné stavy modulu:

Android serial terminal

Musím podotknout, že jsem se hodně natrápil snahou o responsivitu webových stránek http serveru, běžícího na Wemos. Nakonec se nejjednodušší řešení ukázalo jako nejlepší a s výsledkem jsem opravdu spokojen, přestože ten web jinak není vrcholem designu.

V režimu access point jsem, možná překvapivě, nepoužil pro primární přístup do jeho Wifi žádné heslo. Samotná nastavení ovšem blokována heslem jsou. A pokud budete chtít mít meteorologické údaje na mobilu třeba na chatě bez vlastní Wifi, tak heslo bude spíš na obtíž. Vlastně ten můj barometr je ve spojení s mobilem docela mobilní.

Je často zvykem, prošpikovat program textovými výstupy na sériový port. Obvykle vám oznamují věci, které stejně víte, protože jste byli nuceni je napsat přímo do programu a ještě je ani nemůžete nijak změnit. V reálném provozu je ovšem připojení k počítači často problematické. Proto mám v programu jediný výstup na sériový port, krátce po startu se vypíše IP adresa. A to je vše.

V této souvislosti jsem si vzpomněl, že jsem narazil na opravdu velmi sympatický prográmek pro Android. Prakticky všechny mobily disponují USB portem OTG. To znamená, že pokud je připojíte k počítači, tak se chovají třeba jak paměťové zařízení. Naopak, když k němu připojíte USB flash, tak se k ní bude mobil chovat jako „host“, tedy správně vlastně jako hostitel. Našel jsem pro Android bezvadný sériový terminál. Prostě přes pasivní USB redukci připojím Arduino k mobilu a mohu s ním obousměrně komunikovat prostřednictvím velmi luxusně provedeného sériového terminálu.

Proměnné programu

Pokud se budeme bavit o nastavení programu, tak musím konstatovat, že před programováním nemusíte prakticky nastavovat nic. Teoreticky, když někomu dáte tento naprogramovaný modul s popisem, tak by dotyčný měl být schopen zařízení plně zprovoznit ve svých podmínkách.

Ovšem v programu je institut takzvaných defaultních parametrů. Jsou trvale zapsány v programu, tedy pro uživatele jsou to kdykoliv vyvolatelné konstanty. Ty mohou být nastaveny prakticky libovolně. Pokud si tam ovšem při testování zapíšete třeba „tajnou“ tzv. odesílací doménu serveru tmep.cz, tak si ji prostě nový uživatel sensoru může kdykoliv vyvolat a přečíst. Tak je často vhodné nastavit defaultní parametry jen obecně, bez ohledu na jejich reálnost a funkčnost. Ale tyhle drobné taje si asi musíte vyzkoušet sami. Pokud bude sensor výhradně pro vás, pak před programováním, v záhlaví sketche, prostě vypište parametry, jak potřebujete. A první zprovoznění pak bude automatické. Jen bych chtěl připomenout, že zařízení dovede precizně odesílat data na externí server, ale může být pohodlně provozováno i bez této vymoženosti.

V záhlaví programu je souhrn nastavitelných parametrů, které tvoří skupinu, kterým říkám defaultní.

Jsou to tyto položky:
_mySSID jméno Wifi na kterou se chceme připojovat - maximálně 32 znaků
_myPassword heslo k této Wifi síti - maximálně 63 znaků
_SensorName jméno sensoru - maximálně 32 znaků
_Host adresa externího serveru včetně domény, například "as4dh6-nb2ytr.tmep.cz" - maximálně 63 znaků
_HostPort číslo portu externího serveru, standardně 80 nebo 443 pro kryptované připojení SSL
_GUID musí být v souladu s nastavením na portálu tmep.cz
_GUID_2 musí být v souladu s nastavením na portálu tmep.cz
_GUID_3 musí být v souladu s nastavením na portálu tmep.cz
_SendPeriod perioda odesílání dat na externí server v minutách, povolené hodnoty 1 až 60 minut
_SendToTmep povolení odesílání dat na externí server, true = odesílat, false = neodesílat
_SensorInside kde je sensor umístěn, true = sensor v místnosti, false = sensor venku
_AbsolutePressure false = používá se tlak přepočtený na hladinu moře, true = používá se absolutní tlak
_DeepSleep false = normální režim, true = pokud je Wemos v režimu stanice, pak přejde do režimu DeepSleep
_AltitudeLocal zadejte nadmořskou výšku vašeho sensoru v metrech pro přepočet tlaku na hladinu moře, -999 až 9999m
_AdminName uživatelské jméno pro nastavování parametrů přes webové rozhraní, musí být nastaveno před programováním
_AdminPassword uživatelské heslo pro nastavování parametrů přes webové rozhraní, musí být nastaveno před programováním

Všechny tyto vyjmenované parametry můžete změnit přes webové rozhraní s výjimkou administrátora a jeho hesla.

Kompilace programu

Board setting

Pokud máte nastaveno vývojové prostředí Arduino IDE pro desku Wemos mini, tak můžete zkusit přeložit a nahrát program. Samotné ESP8266 vyžaduje trochu specifický postup, ale Wemos je v tomto ohledu mimořádně přívětivý. Na druhé straně existuje řada faktorů, které se vám nejspíš budou jevit, jako házení klacků pod nohy. Ale vytrvejte, opravdu to stojí zato. Každé začátky jsou těžké.

Problémy bývají někdy s ovladači USB převodníku pro Wemos, s nezaškrtnutým check boxem u portu COM v IDE a téměř jistě narazíte dříve či později na nějaké problémy s knihovnami. Na to bych vás málem zapomněl upozornit.

Myslím, že všechny použité knihovny,s výjimkou knihovny sensoru, jsou součástí jádra Arduino-ESP8266. Tak vám zbývá nainstalovat externí knihovnu pro sensor. Když jsem vybral ze seznamu IDE tu správnou knihovnu, tak instalace byla rychlá a naprosto bezproblémová.

Pokud vám instalátor nabídne instalaci souvisejících knihoven, tak mu to asi povolte. Pár knihoven navíc jaro nedělá a vám to možná ušetří problémy. Například knihovny od firmy Adafruit chtějí ještě další komponenty, které se snaží doinstalovat. Vy byste asi těžko v první fázi rozhodovali, co naistalovat a co není zrovna třeba. Například je vám nabízena knihovna displeje, o kterém jste nikdy neslyšeli, natož ho viděli. Knihoven pro jeden typ sensoru bývá od různých producentů několik, ale když použijete knihovnu z jiného zdroje než já, tak vám funkčnost měření nezaručím. Často se totiž knihovny dost liší.




Zjištění IP adresy

Rezerved IP address

Když se vám podařilo program nahrát, tak si ho budete také chtít vyzkoušet. Mohou nastat v podstatě dvě alternativy.

Pokud jste zadali přímo do programu platné přihlašovací údaje dostupné Wifi, tak Wemos párkrát blikne a připojí se k ní. A vy se můžete na jeho http server připojit jakýmkoliv prohlížečem. K tomu je ovšem nezbytné znát jeho IP adresu. Tu je možné zjistit několika způsoby. V nouzi pomůže i ta IP adresa odeslaná po resetu na seriový port Wemos. Nebo ji můžeme zkusit najít ve Windows příkazem "arp -a".

Vůbec nejlepší metoda je, nastavení statické adresy DHCP serverem vašeho routeru. K tomu se obvykle velice hodí MAC adresa modulu Wemos.

Pro detekci správné IP adresy jsem připravil malou pomůcku. Pokud se Wemos připojil k vaší Wifi, tak si automaticky uložil do paměti přidělenou IP adresu. Pokud pak zmáčknete Smart Button, tak se modul přepne do režimu AP. Vy pak třeba na mobilu v dostupných sítích Wifi vyhledáte síť s názvem vašeho sensoru a připojíte se na ni. Pozor na jednu věc. Mobil obvykle začne hlásit, že zvolená Wifi nemá připojení k internetu a snaží se vás odpojit. Nedejte se! Pak napíšete do adresního řádku prohlížeče "http://192.168.4.1", to je IP adresa http serveru Wemos v režimu access point. A měli byste se tak dostat na jeho webové rozhraní a na něm je již vidět poslední přidělená IP adresa. Tu si zapamatujete a můžete modul restartovat. Když se znovu přihlásí k Wifi, tak vy, nyní již ve vlastní Wifi síti, napíšete "http://zapamatovaná IP adresa". Měli byste být zpět na webovém rozhraní http serveru, bežícím ve Wemos, ovšem již ve Wifi režimu stanice.

Naneštěstí to, co se vypisuje jako "The last IP address", neplatí věčně. Obvykle je stejná adresa opakovaně rezervována routerem vždy na 24 hodin, Pokud je senzor vypnut delší dobu než jeden den, dá se předpokládat, že pak bude mít jinou IP adresu. Také po jakémkoliv restartu routeru se adresa změní. Jedinou ochranou je opravdu jen nastavení statické adresy v routeru. Pevná adresa se sice dá nastavit i v modulu Wemos, ale to přináší obvykle jen problémy, není to totiž úplně košer.

Pokud jste nenastavili defaultní parametry v programu, pak Wemos po zapnutí jen bliká a signalizuje tím, že není připojen k žádné síti. Pak tedy stiskněte Smart Button a připojte se výše uvedeným postupem k síti tvořené samotným modulem Wemos s adresou "http://192.168.4.1". Pro nastavení parametrů musíte ovšem nyní již použít správné heslo administratora. Je nezbytné potvrdit nové parametry tlačítkem SUBMIT na webové stránce. V tomto rozhraní pak můžete pro zpětný přechod do režimu stanice použít volbu Restart. Pak bude vaší sítí již přidělena modulu IP adresa a vy ji můžete zjistit již známým postupem, opakovaným stiskem Smart Button. Zdá se to možná složité, ale určitě si s tím poradíte.

Webové rozhraní

PreviewForm 1Form 2

Přehledová stránka:

Přes webové rozhraní jsou prostřednictvím dvou dalších stránek dostupné a modifikovatelné tyto parametry:

Mód Deep Sleep

Mód Deep Sleep se aktivuje zatržením checkboxu na webovém rozhraní Wemos. V případě režimu stanice dojde k uspání okamžitě po potvrzení stiskem tlačítka SUBMIT. Wemos se pak opakovaně budí s periodou nastavenou pro odesílání dat. V případě režimu access point dojde k uspání okamžitě po následujícím restartu. Zde je potřeba si uvědomit, že probuzení z DeepSleep je vlastně čistý restart zařízení.

Složitější je to trochu se zrušením Deep Sleep. Je třeba stisknout a podržet Smart Button a současně provést reset mikrotlačítkem na Wemos, nebo při tom vypnout a zapnout napájení. Připomínám, že Smart Button reaguje až při uvolnění tlačítka, nikoliv při jeho stisku. Wemos přejde do režimu access point a vy můžete Deep Sleep vypnout přes webové rozhraní.

Někoho možná napadne, prostě přehrát Wemos stejným programem a tím pomocí defaultních parametrů Deep Sleep zrušit. Dá se to, ale je dobré v nastavení Arduino IDE zvolit Erase flash: All flash contens. Jinak to nemusí fungovat.

OTA update firmware

On The Air update


OTA - On The Air je metoda nahrávání firmware přes Wifi. Existuje několik způsobů. Manuální nahrávání pomocí prohlížeče je ale velice transparentní a při limitovaném počtu sensorů naprosto dostačující.

V prvé řadě je třeba si uvědomit, že pro aplikaci OTA je nezbytné mít v modulu s ESP8266 nahrán již nějaký základní program, něco jako zavaděč OTA. Prostě do nového Wemos přes Wifi nic nenahrajete, každý nahraný sketch musí mít podporu OTA, jinak jsme odkázání na sériovou linku. Sketch, nahrávaný přes OTA, se ukládá do rezervovanéé flash paměti, která má délku 1MB. Sketch nemůže přepisovat ten předchozí. Ukládá se separátně a teprve když je v paměti celý, tak se původní program přepíše.

Přes OTA se pochopitelně neposílá zdrojový kód, ale pouze jeho binární reprezentace. Tu získáte snadno. V Arduino IDE otevřete váš projekt a v menu zvolíte položku "Exportovat kompilované soubory". Pak se v adresáři projektu objeví nový adresář build. A v něm najdete obvykle několik souborů. Ten, který má poslední příponu *.bin je ten pravý. Ten je třeba z prohlížeče nabídnout přes OTA. Není zásadním problémem tento soubor nahrát do mobilu (kabel, WhatsApp, email) a z mobilu jej pak nahrávat přes OTA do Wemos.

Možnosti kalibrování měření tlaku

Pokud máte blízkou nějakou profesionální meteorologickou stanici, můžete srovnávat. Ale není to jednoduché. Tlak je proměnlivý a stanice ČHMÚ poskytují data po hodinách a to ještě se zpožděním. Ale nic lepšího asi není. Je třeba sledovat tlakové změny a srovnávat údaje delší dobu. Chyby mohou být různé, aditivní, multiplikativní, ale já bych asi to úsilí zredukoval na velmi prostou korekci tlaku přepočteného na hladinu moře.

Pro výpočet tohoto tlaku je třeba znát nadmořskou výšku sensoru a teplotu vzduchu. Ovšem rozhodující roli hraje právě ta nadmořská výška. To si můžete vyzkoušet změnou parametru "Station altitude" A zároveň můžete tento parametr použít pro nejprostší korekci chyby měření. Zvětšením hodnoty nadmořské výšky stanice zvětšíte zároveň i tlak přepočtený na hladinu moře a naopak.

V každém případě vám doporučuji si přečíst alespoň základní pojednání o tlaku zde: "Atmosferický tlak" Text v podstatě platí beze zbytku i pro sensor BME280.

Ovládání sensoru přes externí server - feedback

Server response


Chtěl jsem si ověřit možnost, ovládat klienta pomocí příkazů, odesílaných přes externí server, například portálem tmep.cz. V nastavení čidla na tmep.cz je na to vyhrazena část "Odpověď čidlu na zaslané měření". Tam stačí vepsat požadovaný text a server jej odešle po každém přijetí platných dat zpět klientovy, tedy v tomto případě našemu sensoru. Analýzu přijatých dat zajišťuje část programu nazvaná ParseResponse. Vytvořil jsem sadu jednoduchých příkazů, abych mohl tuto funkci vyzkoušet. A opravdu to funguje. Jsou to tyto příkazy: Příkazy mohou být vedle sebe, nezáleží na velikosti písmen a veškeré mezery jsou ignorovány. Každý příkaz však musí být ukončen středníkem. Pokud vázne komunikace mezi klientem a serverem, může vypršet časový limit pro odpověď a příkaz se pak pochopitelně neprovede. Ale musím konstatovat, že to funguje překvapivě dobře. Ovšem nesmíte zapomínat, že se příkaz realizuje při každém odeslání dat, dokud ho na portálu nesmažete nebo nevypnete.

Download programu a krabičky sensoru

Sensor box

Kompletní Arduino projekt tlakoměru

Box bottom

Spodní díl krabičky - soubor pro tisk

Box top

Horní díl krabičky - soubor pro tisk