Vývoj zariadení IoT na Arduino pomocou služby myDevices Cayenne. Blynk: jednoduché ovládanie cloudových služieb Raspberry a Arduino na ovládanie arduina

Špeciálne špeciality - pridajte sa k radom Blinkers!
Dnes nastavíme ovládanie ESP8266 z vášho smartfónu (iOS alebo Android) za 5 minút pomocou novej cloudovej služby Blink. Video a detaily pod strihom.


Nainštalujte si aplikáciu Blynk do svojho smartfónu

Zaregistrujte sa v aplikácii a vytvorte nový projekt.

Zadajte napríklad názov projektu ESP8266... V poli Hardvérový model vyber si ESP8266... (dúfame, že si všimnete pôsobivý zoznam podporovaného hardvéru) Automaticky generované Autentický token pošlite do svojej schránky.

Po stlačení tlačidla Vytvoriť zobrazí sa vám prázdne pole na navrhnutie používateľského rozhrania vášho ovládacieho panela ESP8266.

Kliknite vpravo hore na znamienko plus - zobrazí sa panel s nástrojmi Widget Box na pridanie miniaplikácií na hlavný panel. Je potrebné poznamenať, že zoznam miniaplikácií sa bude stále rozrastať.

Na vyskúšanie vyberte typ miniaplikácie Tlačidlo- táto miniaplikácia bude okamžite pridaná na váš panel. Upravte ho jediným dotykom. Názov môžete nechať prázdny, trochu napravo si môžete vybrať farbu indikátora v poli VÝSTUPNÝ PIN vyberte vpravo Digitálne, a vľavo je ľubovoľný voľný špendlík GPIO... Dole prepnite typ tlačidla na Prepnúť.

Ďalej nainštalujte knižnicu Blynk do Arduino IDE. Pomôžu vám s tým oficiálne pokyny. Najviac si môžete vziať aj knižnicu Najnovšia verzia priamo z úložiska a nainštalujte ručne. Ďalej vyberte príklad ESP8266_Standalone a napíš doň Autentický token ktoré sme dostali poštou, SSID a heslo tvoj WiFi siete... Zostavte a nahrajte skicu do ESP8266.

Úžasná vec je ESP8266. Pomerne výkonný procesor, veľa pamäte, vstavaný ovládač WiFi. ESP32 je samozrejme ešte lepší, ale stojí aj oveľa viac. Ale teraz o nich nehovoríme. Presnejšie, nie presne o nich. Je veľmi jednoduché postaviť na ESP as ním takmer akúkoľvek domácu automatizáciu diaľkové ovládanie a ovládanie zo smartfónu alebo počítača. Príklad takéhoto zariadenia je na tomto webe. Jeden problém - pracovať s takýmto zariadením, nielen z domáca sieť, a odkiaľkoľvek na svete (kde je samozrejme prístup na internet) budete potrebovať určitý server - sprostredkovateľa, ktorý bude prijímať správy zo zariadenia a prenášať vám ich a naopak. Samozrejme, existujú možnosti a priama komunikácia, ale nebudem ich tu zvažovať kvôli zložitosti implementácie alebo vysokým nákladom.

Zoznam uvedený v tomto článku netvrdí, že je úplný a ešte menej jedinečný, iba som sa pokúsil analyzovať a štruktúrovať možnosti určitých bezplatných služieb. V prvom rade pre seba, ale ak sa ukáže, že je to užitočné aj pre niekoho iného, ​​využite to na svoje zdravie. Keď som pre seba hľadal verejný server MQTT, prehľadal som veľa internetových zdrojov. Hľadal som predovšetkým na esp8266.ru, ale bohužiaľ, polovica služieb tam už nefunguje, alebo mi osobne z jedného alebo iného dôvodu nevyhovujú. Všetko, čo je tu napísané, je predovšetkým moje osobná skúsenosť, Vaše skúsenosti s týmito službami môžu byť veľmi odlišné. Ak poznáte ďalšie podobné služby - napíšte do komentárov alebo poštou (pošta a ďalšie kontakty sú v pravom hornom rohu hlavičky stránky) a pokúsim sa zoznam skontrolovať a doplniť.

Makléri MQTT

Protokol MQTT je možno úplne prvá vec, s ktorou sa vo vyhľadávačoch stretávate, keď hľadáte cestu diaľkové ovládanie rôzne „múdre veci“. Nemôžem zaručiť, že je to najjednoduchší protokol (len nemám s čím porovnávať, nejako som sa nad tým hneď zastavil), ale osobne mi to nespôsobilo žiadne ťažkosti. Príkladov je veľa. Pre Arduino IDE existuje viac ako jedna hotová knižnica, ako sa hovorí „vyberte si chuť“. Na výber je dostatok mobilných aplikácií pre smartfón aj ovládací panel vyrobený zo starodávneho tabletu. Toto je pravdepodobne najobľúbenejšia možnosť implementácie diaľkového ovládania. Existuje tiež veľa cloudových serverov, ktoré sa nazývajú makléri MQTT. Nebudem tu zvažovať princíp fungovania protokolu a serverov, týchto informácií je na iných stránkach dosť.

CloudMQTT.com

Začal som s touto službou. Jednoducho preto, že sú na ňom založené takmer všetky príklady práce s protokolom MQTT. Služba je celkom pohodlná a jednoduchá, všetko je intuitívne. V roku 2018 bola služba povolená zadarmo tarifný plán pripojenie až 10 zariadení, čo bolo pre mňa v poriadku. Do konca roku 2018 však majitelia služby zrevidovali svoje pravidlá a teraz je v bezplatnom tarifnom pláne „Cute Cat“ k dispozícii iba 5 spojení. Pre mňa osobne je to veľmi málo. Môžem mať súčasne pripojené tri „ovládacie“ zariadenia - dva smartfóny a tablet a na samotný ESP zostali len dve pripojenia. A už mám veľa rôznych „automatizácií“ a plánujú sa ďalšie. V jednom môžete samozrejme vytvoriť niekoľko inštancií maklérov účet, aj keď v poslednom čase podliehajú obmedzeniam. Ale v tomto prípade tri riadiace zariadenia stále „pohltia“ tri pripojenia pre každý prípad a nebudete chcieť, aby nepriateľ nastavil takú ekonomiku. V čase písania tohto článku stojí najlacnejší tarifný plán „Humble Hedgehog“ 5 dolárov mesačne. Nie, jeden pomerne známy obojživelník ma škrtí, aby som zaplatil tieto peniaze každý mesiac... A možnosti nie sú také veľké - 25 spojení. Preto som musel hľadať iné možnosti.

klady: pohodlné a jednoduché

Mínusy: iba 5 spojení s bezplatným tarifným plánom

flespi.io

Makléra mqtt.flespi.io používam už nejaký čas. Upútal ma tým, že v čase, keď som s ním začal pracovať, umožňoval až 100 konkurenčných spojení súčasne a obrovské objemy prenášaných a uložených správ. Nádherné! Táto služba však nie je tak užívateľsky prívetivá ako CloudMQTT. Ovládací panel nie je príliš pohodlný (aj keď sa vylepšuje), nastavenie prístupových práv nie je na prvý pohľad jasné, autorizácia zariadení aj smartfónov pomocou tokenov s obmedzenou dobou platnosti. Niektoré z funkcií, ktoré potrebujem, chýbajú alebo som nenašiel, ako ich používať. Napríklad som nenašiel, ako odstrániť zachované správy z databázy. Presne povedané, zďaleka to nie je iba maklér MQTT, takže som možno nepochopil všetky jeho možnosti. Niekedy na rôzne smartphony informácie v niektorých témach sa prestanú aktualizovať. Vďaka chybám vo firmvéri a neustálym požiadavkám zariadenia na server služba niekoľkokrát úplne zablokovala účet na niekoľko hodín. Ale to všetko sa dalo pri takýchto príležitostiach odpustiť. Ale bohužiaľ, aj tu prevládala túžba zarobiť peniaze - od roku 2019 do bezplatná tarifa bol zavedený limit 10 spojení. Nie je na tom nič odsúdeniahodné, ale ešte nie som pripravený zaplatiť tieto peniaze za koníček, a dokonca ani za služby dosť pochybnej kvality. Vo všeobecnosti budeme hľadať ten istý, ale s perleťovými gombíkmi ...

klady: predtým existovalo až 100 spojení

Mínusy: nepohodlné, ťažko konfigurovateľný prístup, zachované nemožno odstrániť z panelu

Verejný maklér HiveMQ

Úplne bezplatný verejný maklér bez obmedzení. Aspoň pre domovská stránka maklér o nich nie je napísaný. Existujú však veľké „ALE“ - tento maklér nemá žiadne oprávnenie, to znamená žiadne. To znamená, že všetky správy odoslané medzi zariadením a vami môžu byť prečítané kýmkoľvek. Nebola by to veľká tragédia, ak je to len nejaký ukazovateľ teploty a vlhkosti, nepredstavujú tajomstvo. Ale pokiaľ ide o diaľkové ovládanie „ inteligentný domov”, Potom už taký maklér nie je vhodný. Nechceli by ste predsa, aby ktokoľvek mohol napríklad zapnúť akékoľvek zariadenie v dome alebo vypnúť alarm.

klady

Mínusy

Eclipse MQTT

Ďalší verejný maklér bez autorizácie. Ako je napísané na týchto stránkach, tento maklér je primárne určený na testovanie a nie je určený na ukladanie ani prenášanie dôverné informácie... Na pripojenie k serveru musíte použiť nasledujúce parametre: server iot.eclipse.org, port 1883; pre TLS v1.2, v1.1 alebo v1.0 - port 8883. Pripojenie je dostupné aj cez WebSockets. Vo všeobecnosti to isté ako HiveMQ, iba v bočnej projekcii ...

klady: zadarmo, žiadne obmedzenia pripojenia

Mínusy: vhodné iba na testovanie a meteorologické stanice bez diaľkového ovládania

mosquitto.org

A ešte jeden verejný maklér bez autorizácie. Nemusíte sa opakovať, všetko je rovnaké ako pre HiveMQ a Eclipse MQTT. Upozorňujeme, že skutočnosť, že všetky tieto servery podporujú šifrovanie TLS, neznamená, že sú vaše údaje chránené. Prenosový kanál medzi zariadením a serverom je chránený, ale samotné údaje sú verejne dostupné.

klady: zadarmo, žiadne obmedzenia pripojenia

Mínusy: vhodné iba na testovanie a meteorologické stanice bez diaľkového ovládania

IBM Cloud (Bluemix)

Toto nie je broker mqtt, je to celá platforma „Platforma internetu vecí“. Obsahuje však aj makléra mqtt. V rámci bezplatného tarifného plánu „Lite“ je povolených až 500 registrovaných zariadení a 200 MB informácií pre každú metriku. Celkom elegantné nielen pre domáce, ale aj pre komerčné zariadenia. Ale ako vždy, nie bez „ALE“. Po prvé, tejto platforme je veľmi ťažké porozumieť. Existuje dokumentácia, ale je toho veľa. Nie - VEĽA! Strávil som viac ako hodinu, aby som viac -menej porozumel tomu, ako vytvoriť pripojenie. Za druhé, platforma umožňuje publikovanie tém v striktne definovanom formáte: „iot-2 / evt / event_id / fmt / format_string“. Rovnako tak s príkazmi: „iot-2 / cmd / command_id / fmt / format_string“. A to je všetko - žiadne slobody - teda iba číslo správy a samotná správa. Existuje však už viac formátov prenášaných správ - „json“, „xml“, „txt“ a „csv“. Možno sa tento prístup bude niekomu zdať veľmi správny a pohodlný, ale nepriťahoval ma. Áno, a všetko je komplikované - zrejme existuje veľa príležitostí, ale každý sa s tým musí najskôr vysporiadať.

klady: veľmi vysoké limity pripojenia

Mínusy: veľmi ťažké pre začiatočníka, obmedzenia témy

mqtt.dioty.co

Toto je úplne bezplatný maklér. Zbohom. Stránka s nastaveniami pripojenia hovorí: „Tento maklér MQTT je momentálne v beta verzii. V tejto fáze beta testovania vám nebudeme účtovať poplatky, ak prekročíte limit 50 000 správ za mesiac. Vyhradzujeme si však právo dočasne pozastaviť váš účet v prípade, že zasahujete do služby iným používateľom. V takom prípade vás budeme vždy kontaktovať e -mailom, aby sme sa pokúsili porozumieť vašim konkrétnym potrebám a ako ich môžeme splniť. “ 50 000 správ za mesiac je asi 70 správ za hodinu, čo nie je tak veľa, vzhľadom na to, že jedno zariadenie môže zverejniť až 50 správ za reláciu odosielania údajov zo senzorov. Broker podporuje autorizáciu a pripojenie TLS. Registrácia je prepojená s účtom Google. Existuje malé obmedzenie - všetky vaše témy musia začínať adresou E -mail, prostredníctvom ktorého ste sa do služby zaregistrovali, napríklad: “/ [chránené e -mailom]/… /… /… “. Tento problém je však viac -menej významný iba pri nastavovaní klientov MQTT na smartfóne (písanie väčšieho textu) a aj napriek tomu nie vždy. Podľa mňa si táto služba zaslúži pozornosť. Prácu som s ním nekontroloval, len som sa zaregistroval.

klady: úplne zadarmo

Mínusy: vyžaduje konkrétnu predponu pre témy, limit je asi 70 správ za hodinu

Solace.Cloud (PubSub +)

Nejde ani tak o brokera MQTT, ako o celú platformu IoT. Bezplatný tarifný plán umožňuje až 50 pripojení, až 1 GB prenášaných dát mesačne, až 4 GB uložených dát (správy na dôchodku). Nie zlé. Ale aj v bezplatná verzia existuje veľa nastavení - je ťažké to zistiť „na prvý pohľad“. Preto som to naraz nepoužíval. Možno príde čas, prídem na to a spravím si náladu.

klady: až 50 spojení

Mínusy: dosť ťažké naučiť sa

myqtthub.com

S najväčšou pravdepodobnosťou estónsky maklér. Podľa bezplatného tarifného plánu umožňuje: až 100 používateľov, ale až 50 pripojení; 10 MB uložených údajov; až 50 predplatných na pripojenie, maximálne 250 predplatných (a nie je jasné, či je predplatné „domov / #“ jedno predplatné alebo veľa?); 300 správ za minútu, ale nie viac ako 800 za hodinu a nie viac ako 10 000 za deň. Na základe pravidelných (každých päť minút) publikácií nedostaneme viac ako 34 správ naraz. Existujú aj obmedzenia - ďalšie podrobnosti nájdete na hlavnej stránke služby. Obmedzenia však vyzerajú celkom reálne domáce použitie... Neskúšali ...

klady: až 50 spojení

Mínusy: obmedzenie počtu správ

mqtt.by

Ľahko použiteľný bieloruský maklér. O obmedzeniach sa nič nehovorí. Podporuje autorizáciu, ale niektoré témy je možné zverejniť, to znamená, že sú otvorené pre všetkých ostatných používateľov služby. Neexistuje však podpora zabezpečeného pripojenia (TLS), čo môže byť pre niektoré aplikácie kritické. Každá publikovaná téma musí začínať predponou „ / užívateľ / používateľské meno“, ktorá trochu komplikuje konfiguráciu mobilných klientov mqtt, ale nie je to nevyhnutné. Pozitívom je, že server má verejne dostupné témy s dátumom a časom, čo je veľmi výhodné pre ovládací panel na tablete, ktorý funguje 24 hodín denne - súčasne sú k dispozícii ďalšie hodiny (sto dvanásť 🙂 ). Vo všeobecnosti je to celkom normálny maklér, iba ak funguje stabilne.

klady: bez akýchkoľvek obmedzení existujú verejné témy, môžete svoje témy publikovať

Mínusy: žiadne šifrované pripojenia SSL / TLS

mqtt.4api.ru

Ruský bezplatný maklér - „poskytujeme prístup k bezplatnému serveru mqtt pre každého“. Autorizácia a registrácia v službe prostredníctvom sociálne siete... Zdá sa, že sa ukázalo, že nie je to tak dávno. Napriek tomu, že samotný server má certifikát SSL, parametre pripojenia zrejme obsahujú údaje iba pre „Žiadne SSL“ Pripojenie SSL nie je k dispozícii pre zariadenia. Stránka pripojenia tiež uvádza nasledujúce: „Neodporúčame používať tento server pre životne dôležité projekty “. Ovládací panel má veľmi skromné ​​funkcie, takže musíte použiť softvér tretích strán

klady: bez akýchkoľvek obmedzení

Mínusy: žiadne šifrovanie pripojení SSL / TLS, slabá funkčnosť ovládacieho panela

Ostatné služby

Nebudete plní MQTT sami. MQTT je jednoduchý a pohodlný, ale umožňuje vám zobrazovať informácie „tu a teraz“ bez histórie zmien v priebehu času. Existujú aj ďalšie služby na prezeranie tabuliek, ktoré sa tiež dajú ľahko nastaviť. Niektoré z nich sú uvedené nižšie.

ThingSpeak

ThingSpeak je k dispozícii ako bezplatná služba pre nekomerčné malé projekty (<3 миллиона сообщений в год или ~ 8 200 сообщений в день). Сервис позволяет накапливать получаемые данные в своих хранилищах, после чего их можно удобно просматривать в виде графиков. В том числе и на сторонних сайтах, .

Z funkcií služby - má integráciu s MatLab Analytics, ale koľkokrát som sa pokúšal konfigurovať skripty MatLab, nič z toho nebolo. No veľmi sa mi nechcelo. V bezplatnom účte vám služba umožňuje vytvoriť až štyri kanály, každý kanál môže uložiť až 8 polí s rôznymi údajmi. V bezplatnom účte je ešte jedno obmedzenie - nemôžete publikovať údaje viac ako raz za 15 sekúnd (odporúča sa pauza 20 sekúnd), je to niečo ako „ochrana“ pred prekročením limitu 8 200 správ za deň. V zásade sa do tohto limitu ľahko zmestia všetci moji „vydavatelia“, to mi stačí. Službu používam už dlho, je to celkom pohodlné a jednoduché, okrem MatLabu. Existuje niekoľko klientskych programov pre Android, ale oveľa menej ako pre MQTT.

klady: jednoduché použitie na ESP, užívateľsky prívetivá stránka

Mínusy: veľa obmedzení bezplatného účtu

open-monitoring.online

Táto služba je v niečom podobná ThingSpeak - rovnakým spôsobom do nej môžete odosielať údaje a potom ich zobrazovať vo forme tabuliek, grafov a histogramov. Rozhranie je jednoduchšie ako ThingSpeak, ale je tiež oveľa jednoduchšie ho prispôsobiť.

Spočiatku bola táto služba vytvorená, ako ju chápem, na monitorovanie parametrov osobných slnečných elektrární, ale je celkom vhodná na iné účely. Služba je k dispozícii každému a bezplatne, v súčasnosti bez výrazných obmedzení. Jediné obmedzenie, ktoré som zatiaľ zistil, je, že odosielanie skupiny hodnôt pre jeden radič na server nemôže byť častejšie ako raz za minútu. Zdá sa však, že neexistuje žiadne obmedzenie počtu hodnôt pre každý radič a počtu radičov. Odosielanie údajov na server sa vykonáva jednoduchou žiadosťou o získanie, implementácia na ArduinoIDE mi nezabrala viac ako hodinu. Na rozdiel od ThingSpeak je možné uložené údaje zobrazovať na jednom grafe (prekrývať) a je možné nakonfigurovať palubnú dosku tak, aby zobrazovala najnovšie hodnoty. Uložené hodnoty si môžete prezrieť aj v jednoduchej tabuľke.

klady: jednoduché použitie na ESP, užívateľsky prívetivé rozhranie, takmer žiadne obmedzenia

Mínusy: neexistuje spôsob, ako zobrazovať grafy na weboch tretích strán (na rozdiel od ThingSpeak), dobre, alebo som zatiaľ nenašiel, ako to urobiť

beebotte

Hlavná stránka tejto služby hovorí: „Pripojte všetko a všetkých v reálnom čase pomocou bohatého rozhrania API, ktoré podporuje REST, WebSockets a MQTT“. Osobne som túto službu ešte nevyužil. Súdiac podľa toho, čo som z popisu pochopil, je to divoká zmes mqtt brokera a thingspeak.com. Vo voľnom režime nie je počet kanálov a zdrojov obmedzený, ale počet správ je obmedzený: 0,05 milióna za deň | 1,5 milióna mesačne. Pre uložené správy sú limity ešte nižšie: 5 000 za deň | 150 000 mesačne. Okrem toho sa správy uchovávajú iba maximálne tri mesiace, potom sa odstránia. To znamená, že nemôžete vidieť počasie po celý rok. O mobilnom klientovi pre smartfón zatiaľ neviem nič. Zaregistrovaný. Skúsim. Na závery je ešte priskoro.

Blynk

Aktívne propagovaná služba pre diaľkové ovládanie „inteligentných zariadení“. Dokonca by som povedal agresívne - píšu na všetky fóra, kde je to potrebné a kde nie. Podľa môjho osobného názoru táto platforma nie je pre fanúšikov, ale skôr pre podnikanie. Vo „voľnom režime“ je poskytnutých veľmi málo zdrojov, snáď okrem blikania diódy LED alebo zapnutia jedného relé. Vo všeobecnosti som to skúsil raz - a opustil som to, okamžite mi došli zdroje. Príliš chamtivý.

klady: nenájdené

Mínusy: chamtivý, mobilný klient je len jeden

To je zatiaľ všetko. Ak poznáte ďalšie spôsoby ovládania ESP na diaľku (nevyhnutne z „mobilu“) - napíšte mi. Článok prediskutujeme a prípadne doplníme.

Pripojenie prostredníctvom cloudového servera RemoteXY vám umožňuje ovládať zariadenie odkiaľkoľvek na svete, kde je internet.

Modul ESP8266 bude nakonfigurovaný ako klient na pripojenie k hotspotu WiFi. Prístupový bod musí mať prístup na internet. Knižnica RemoteXY zabezpečí registráciu zariadenia na cloudovom serveri.

Mobilná aplikácia sa pripojí k cloudovému serveru, a nie priamo k zariadeniu. Zariadenie bude teda prístupné odkiaľkoľvek na internete.

Poznámka: V. tento moment pripojenie cez cloudový server prechádza testovaním. Preto je možné prerušenie servera.

Krok 1. Vytvorte projekt GUI

Krok 5. Konfigurujte ESP8266

Je potrebné nakonfigurovať modul ESP8266. Váš modul už môže mať požadované predvolené nastavenia, ale je najlepšie ho skontrolovať.

Čo musíte skontrolovať:

  • Modul má firmvér podporujúci AT príkazy verzie nie nižšej ako v0,40;
  • Modul je nakonfigurovaný na rýchlosť 115200.

Krok 6. Pripojte ESP8266 k Arduino Uno

Pripojte ESP8266 k Arduino Uno podľa obrázku nižšie. Kolíky RX-TX sú navzájom prepojené.

Pretože úrovne signálu ESP8266 sú 3,3 V a Arduino sú 5 V, na konverziu úrovne signálu musíte použiť odporový delič napätia.


Krok 7. Nahrajte skicu do Arduina.

Skica sa nahrá do Arduina obvyklým spôsobom. Vzhľadom na to, že modul ESP8266 je pripojený k pinom 0 a 1, je programovanie nemožné. Kompilátor zobrazí chybu.

Pred programovaním odpojte vodiče vedúce k ESP8266 od pinov 0 a 1. Vykonajte programovanie. Potom vráťte kontakty na miesto. Stlačte tlačidlo resetovania Arduino.

Poznámka: Prvým znakom úspešnosti programovania je blikanie modrej diódy LED na module ESP8266 bezprostredne po resete. Blikajúca modrá dióda LED znamená výmenu údajov medzi Arduino a ESP8266. Za týchto pol sekúnd Arduino nakonfiguruje ESP8266 tak, aby sa pripojil k prístupovému bodu. Po chvíli LED dióda opäť zabliká, čo znamená pokus o registráciu na cloudovom serveri RemoteXY.

Krok 8. Pripojte sa z mobilnej aplikácie.

Skontrolujte napájanie ESP8266

Je tiež možné, že váš ESP8266 nemá dostatok energie z napájacieho zdroja. Niektoré dosky Arduino majú slabý regulátor napätia 3,3 V, ktorý nie je schopný dodávať 200-300 mA v špičkových podmienkach. V tomto prípade uvidíte aj prerušenie sekvencie príkazov v Serial Monitor.

Vadim Kolesnik, Tiraspol

Vzrušujúci, ľahký a rýchly vývoj plnohodnotných zariadení IoT na Arduino pomocou cloudovej služby

Všeobecné informácie

myDevices vyvíja softvér a aplikácie pre internet vecí (IoT) a je divíziou spoločnosti Avanquest. myDevices Cayenne je prvá aplikácia typu drag-and-drop a cloudová služba pre zjednodušený vývoj projektov IoT na Raspberry Pi.

Nedávno publikovaný na portáli Radiolotsman, v ktorom som sa pokúsil odhaliť hlavné výhody a možnosti systému pri práci na jednodoskovom počítači Raspberry Pi (RPi). Projekt Cayenne sa však neustále vyvíja, vývojári, spoliehajúc sa na priania používateľov, postupne pridávajú nové funkcie, odstraňujú nedostatky a chyby.

Vývoj zariadení IoT na Arduino a Raspberry Pi je pri práci s Cayenne zásadne odlišný. Pokiaľ ide o Raspberry Pi, platformu Cayenne možno považovať za prostredie vizuálneho vývoja: k doske Raspberry Pi fyzicky pripájame rôzne periférie a potom pracujeme iba v online prostredí Cayenne (nastavenie widgetov, spracovanie údajov, algoritmy automatizácie zápisu).

Pokiaľ ide o Arduino, palubná doska Cayenne (palubná doska) je len sada miniaplikácií a ovládacích prvkov, ktoré vizualizujú údaje prijaté zo senzorov a prenášajú údaje používateľa na ovládanie jedného alebo druhého ovládača. Mikrokontroléru je priradená priama práca so snímačmi, akčnými členmi, ďalšími perifériami (napríklad displejom, druhou klávesnicou) a spracovaním podmienok automatizácie. Inými slovami, všetko sa týka štandardného vývoja zariadení Arduino; užívateľ napíše kód programu sám, ale s integráciou flexibilných funkcií internetu vecí Cayenne do projektu. To je podľa mňa hlavná výhoda Cayenne: k systému môžete pripojiť akékoľvek senzory a akčné členy, nielen zoznam podporovaných periférií.

Užívateľské rozhranie a príprava na prácu

Pokiaľ ide o používateľské rozhranie systému, jeho nastavenia, metódy ovládania a miniaplikácie na palubnej doske, to všetko zostáva podobné systému na Raspberry Pi, samozrejme, s výnimkou niektorých jedinečných prvkov, ktoré sú im vlastné (napríklad vzdialená pracovná plocha) , stav pamäte, zaťaženie procesora). Preto, aby ste pochopili základy práce so systémom, odporúčam vám prečítať si články. Všetky informácie v článku sú relevantné pre webové rozhranie systému aj pre rozhranie mobilnej aplikácie. Článok tiež obsahuje zoznam podporovaných periférií.

Na vývoj zariadenia alebo aplikácie IoT potrebujeme:

  • Majte svoj vlastný účet v službe Cayenne (môžete použiť už existujúci);
  • Nainštalujte Arduino IDE;
  • Pridajte knižnicu funkcií Cayenne do Arduino IDE;
  • Konfigurujte Arduino IDE: vyberte dosku a port COM, ku ktorému je pripojený;
  • Pripojte k Arduinu rozširujúcu dosku Ethernet Shield alebo Wi-Fi Shield (alebo použite dosku Arduino s integrovaným sieťovým rozhraním).

Myslím si, že proces inštalácie Arduino IDE, ako aj výber dosky a portu je sám osebe vysvetľujúci a prejdeme k hlavnému.

Knižnica Cayenne pre Arduino sa ľahko a rýchlo inštaluje pomocou správcu knižníc (obrázok 2).

Po nainštalovaní knižnice ju môžeme použiť v našich aplikáciách a v sekcii príklady náčrtov sa objaví nový priečinok s názvom Cayenne. Podľa môjho názoru tieto príklady úplne nerozumejú práci so systémom, ale napriek tomu stojí za to ich študovať a tiež mi dovoľte pripomenúť, že o systéme Cayenne existuje obrovská časť dokumentácie. Táto knižnica je vo všeobecnosti súborom náčrtov, ktoré zjednodušujú pripojenie a výmenu údajov medzi snímačmi / akčnými členmi a cloudovou službou.

Po dokončení prípravných operácií, nastavení vývojového prostredia a pripojení rozširujúcej dosky Ethernet Shield sa môžete pustiť do vývoja zariadenia IoT.

Dosku Arduino prepojíme s počítačom cez USB, LAN kábel zapojíme do ethernetového štítu. V internetovom prehliadači sa prihlásime do účtu Cayenne a v ovládacom paneli pridáme nové zariadenie - Arduino. Ďalej vyberieme typ dosky, spôsob pripojenia na internet (existuje veľa možností), dávame pozor na jedinečný autorizačný kľúč pre naše zariadenie a počkáme, kým sa doska Arduino spojí s Cayenne (obrázok 3 ).

Pre každé nové zariadenie je vygenerovaný nový jedinečný kľúč, ktorý neskôr nájdete v nastaveniach zariadenia (dosky).

Hneď ako zvolíte spôsob pripojenia k sieti, zobrazí sa okno so zdrojovým kódom programu mikrokontroléra. Toto je minimum potrebné na pripojenie zariadenia k cloudovej službe. Upozorňujeme, že váš autorizačný kľúč je už uvedený v texte programu a je pripojená knižnica, ktorá zodpovedá zvolenému spôsobu pripojenia k sieti (obrázok 4). Skopírujte tento kód do Arduino IDE, skompilovajte a nahrajte na tabuľu. Ak je všetko správne nakonfigurované, na ovládacom paneli Cayenne sa zobrazí nové aktívne zariadenie a palubná doska, kde teraz môžete pridávať miniaplikácie a ovládacie prvky. Navyše, už v tejto fáze môžete na diaľku ovládať dostupné digitálne a analógové porty Arduina bez toho, aby ste museli písať jediný riadok kódu - na ovládací panel pridajte tlačidlo widgetu, zadajte typ portu (digitálny) a jeho názov na doske a uložte miniaplikáciu. Teraz kliknutím na tlačidlo v prehliadači zmeníte logický stav portu. Je to tiež jednoduché, pridaním príslušných miniaplikácií môžete ovládať výstupy PWM, prijímať „surové“ údaje z analógových vstupov Arduina a monitorovať stav digitálnych vstupov.

Vývoj zariadenia na konkrétnom príklade

Teraz budem hovoriť o ďalších funkciách a funkciách systému. Ako príklad som zostavil jednoduchý systém, ktorý zahŕňal:

  • Doska Arduino Uno;
  • Rozširujúca doska Ethernet Shield na ovládači WIZnet W5100;
  • Snímač teploty DS18B20;
  • Fotorezistor;
  • Termistor;
  • Niekoľko LED diód;
  • OLED displej na radiči SSD1306.

Schematický diagram pripojenia senzorov a diód LED k Arduinu je znázornený na obrázku 5.

Pripomeniem, že väčšinu otázok týkajúcich sa pripojenia rôznych senzorov a akčných členov nájdete v sekcii dokumentácie.

Myslím si, že nebudú žiadne otázky o pripojení diód LED, digitálneho snímača teploty a OLED displeja. Analógové svetelné a teplotné snímače sú pripojené k analógovým vstupom podľa obvodu s odporovým deličom. V tomto prípade je pre obvod termistora potrebné poznať presný odpor rezistora R6, táto hodnota bude vo výpočtoch použitá v zdrojovom kóde.

Po pripojení prvkov uvedených v diagrame napíšeme skicu Arduino a potom nainštalujeme potrebné miniaplikácie na palubnú dosku Cayenne. V tejto chvíli je už do dosky Arduino načítaný minimálny náčrt a doska je definovaná na palubnej doske Cayenne. Ako som už uviedol vyššie, v tejto fáze môžeme pridať widgety na ovládanie LED diód D1, D2, ako aj prijímať „surové“ údaje z analógových vstupov, ku ktorým sú pripojené termistor a fotorezistor (obrázky 6, 7).

Bez napísania jedného riadku kódu Arduino už máme jednoduchý systém diaľkového ovládania a monitorovania (obrázok 8).

Ak chcete napríklad na ovládanie diódy LED D2 používať digitálne snímače teploty, termistor alebo PWM, budete musieť pridať minimálny náčrt. Najprv definujme požadované knižnice.

#zahrnúť< CayenneEthernet.h>// použite rozširujúcu dosku Ethernet Shield
#zahrnúť< CayenneTemperature.h>// funkcie na prevod údajov z termistora
#zahrnúť< OneWire.h>// funkcie pre prácu s 1-Wire zbernicou
#zahrnúť< DallasTemperature.h>// funkcie pre prácu s digitálnymi snímačmi teploty
#zahrnúť< Arduino.h>// štandardné konštanty a jazykové premenné Arduino
#zahrnúť< U8x8lib.h>// knižnica na prácu s OLED displejom v textovom režime
#zahrnúť< Wire.h>// podpora hardvérového rozhrania I 2 C

#define VIRTUAL_PIN_1 V0 // virtuálny kanál pre snímač DS18B20
#define VIRTUAL_PIN_2 V1 // - pre termistor
#define VIRTUAL_PIN_3 V2 // - pre LED D2 budeme prostredníctvom tohto kanála prijímať údaje o hodnote PWM
#define LED2_PWM 6 // skutočný port Arduino, ku ktorému je pripojená LED D2

Virtuálne kanály nie sú digitálne ani analógové I / O porty. Pri priamom čítaní analógových vstupov užívateľ prijíma údaje z 10-bitového ADC mikrokontroléra. Hodnoty vrátené ADC sú v rozsahu 0 ... 1023 a sú úmerné napätiu na tomto vstupe. Inými slovami, ak pripojíte snímač teploty k analógovému vstupu Arduina, nedostanete hodnotu teploty, na prevod napätia - teploty sú potrebné ďalšie prevody a matematické výpočty.

Virtuálne kanály sú navrhnuté tak, aby zjednodušili prevod, formátovanie a spracovanie údajov. Je to pomerne účinný nástroj, ktorý sa používa na komunikáciu medzi Arduino a Cayenne a na ľahké formátovanie údajov tak, aby ich bolo možné ľahko vizualizovať na palubnej doske. Nezabudnite, že virtuálne odkazy nemajú žiadne fyzické parametre.

Cayenne.virtualWrite (V1, 123) // prenos celočíselnej hodnoty cez virtuálny odkaz V1
Cayenne.virtualWrite (V2, 12.34) // prenos hodnôt s pohyblivou rádovou čiarkou cez virtuálny kanál V2

Napríklad po prečítaní analógového teplotného senzora môžeme jedným riadkom kódu previesť hodnotu na stupne Celzia a preniesť túto hodnotu na palubnú dosku. Virtuálne kanály vám navyše umožňujú ovládať akékoľvek periférne zariadenia pripojené k analógovým alebo digitálnym portom Arduina bez toho, aby ste museli písať ďalší kód. V súčasnosti sú podporované dva typy údajov, s ktorými fungujú virtuálne kanály: celé číslo (celé číslo) a plávajúca rádová čiarka (float). V budúcnosti sa plánuje podpora typov postáv a polí. Na ovládacom paneli sa prostredníctvom virtuálneho kanála môžete pripojiť a nakonfigurovať vlastný widget na vizualizáciu podľa typu prijatých údajov.

// Digitálny port, ku ktorému budú pripojené snímače DS18B20. Nepoužívajte porty Arduino 0 a 1 (Rx / Tx).
const int ds18b20_Pin = 2;
// Analógový port, ku ktorému je pripojený termistor.
const int termistorPin = 0;
// Odpor pevného rezistora (9 kOhm), zapojeného v sérii s termistorom k zemi.
konštantný plavákový odpor = 9000;
// autorizačný kľúč Cayenne. Nájdete ho vo webovom rozhraní Cayenne na karte nastavení zariadenia.
char token = "640c9oedi4";
OneWire oneWire (ds18b20_Pin);
Senzory teploty Dallas (& oneWire);
Termistorový termistor (termistorPin, odpor);

Podľa vášho uváženia, takmer v akejkoľvek fáze, môžete do zdrojového kódu pridať výstup ladenia prostredníctvom sériového portu.

V sekcii inicializácie špecifikujeme nasledujúce funkcie:

neplatné nastavenie ()
{
Cayenne.begin (token); // pripojenie k Cayenne pomocou zadaného autorizačného kľúča
senzory.begin (); // inicializácia digitálnych snímačov teploty
u8x8.begin (); // inicializácia a výstup textových informácií na OLED displej

u8x8.setPowerSave (0);
u8x8.setFont (u8x8_font_torussansbold8_r);
u8x8.drawString (2.0, "Cayenne Test");
u8x8.drawString (1,2, „systém beží“);
}

V hlavnej slučke programu budeme mať iba jednu funkciu:

prázdna slučka ()
{
Cayenne.run ();
}

Celá komunikácia s palubnou doskou Cayenne prebieha pomocou niekoľkých funkcií:

CAYENNE_IN (Virtual_Pin) - definuje funkciu, ktorá sa volá, keď zariadenie prijíma aktualizované údaje prostredníctvom virtuálneho odkazu zo servera Cayenne.

CAYENNE_OUT (Virtual_Pin) - definuje funkciu, ktorá sa volá, keď je potrebná na odoslanie aktualizovaných údajov zo zariadenia na server Cayenne.

CAYENNE_CONNECTED () - funkcia sa vykoná vždy, keď sa zariadenie pripojí k serveru Cayenne. Vo všeobecnosti sa táto funkcia používa na synchronizáciu.

Cayenne.syncAll () - funkcia, ktorá generuje požiadavku na server Cayenne na synchronizáciu všetkých miniaplikácií. Analógové a digitálne porty Arduina budú obnovené a každý virtuálny kanál vygeneruje udalosť CAYENNE_IN.

Cayenne.syncVirtual (Virtual_Pin) - synchronizácia na uvedenom virtuálnom kanáli. V dôsledku spustenia sa zavolá zodpovedajúci obslužný program CAYENNE_IN.

V mojom obvode je LED D2 pripojená k digitálnemu portu D6 Arduina. Tento port má alternatívnu funkciu, výstup PWM. Na implementáciu diaľkového ovládania týchto diód LED v režime PWM potrebujeme prijímať údaje z palubnej dosky. Za týmto účelom napíšeme funkciu, ktorá sa vykoná pri aktualizácii údajov prostredníctvom virtuálneho kanála V2:

CAYENNE_IN (V2)
{
// získanie údajov o hodnote PWM z hlavného panela (posúvač)
int PWMValue = getValue.asInt (); // hodnota v rozsahu 0 - 1023
analogWrite (LED2_PWM, PWMValue / 4); // pre PWM musí byť hodnota v rozsahu 0 - 255
}

Teraz na palubnú dosku pridajte miniaplikáciu „Posuvník“ s názvom LED_2 PWM (PWM) a v jej nastaveniach naznačíme, že funguje prostredníctvom virtuálneho kanála 2 (obrázok 9).

Po nahraní náčrtu na tabuľu môžete pomocou posuvníka na palubnej doske Cayenne ovládať jas LED diódy D2. Všetko je veľmi rýchle a jednoduché ...

CAYENNE_OUT (V0)
{
senzory.requestTeploty (); // získanie údajov z digitálnych snímačov teploty.
// transformácia údajov z termistora, ich formátovanie a odoslanie na server prostredníctvom virtuálneho kanála V1
Cayenne.celsiusWrite (V1, termistor.getCelsius ());
// naformátujte údaje z digitálneho teplotného senzora a odošlite ich na server prostredníctvom virtuálneho kanála V0
Cayenne.celsiusWrite (V0, sensor.getTempCByIndex (0));
}

Vzhľadom na používanie virtuálnych kanálov pozostáva celý funkčný kód na prenos úplne odlišných údajov z dvoch riadkov. Na palubnú dosku pridajte widgety pre snímač teploty a termistor DS18B20 (sú pripravené na ovládacom paneli). Nastavíme widgety, načítame náčrt do tabule a ... máte hotovo (obrázky 10a, 10b)!


Obrázok 10. Pohľad na palubnú dosku Cayenne pre ovládanie Arduino (snímače teploty,
osvetlenie, ovládanie LED D1, ovládanie PWM LED D2):

Nezabudnite, že tieto rovnaké funkcie ovládania a monitorovania sú k dispozícii aj v mobilná aplikácia... Všetky widgety nainštalované vo webovom rozhraní je možné vidieť v mobilnej aplikácii (obrázok 10b).

Vzhľad zariadenie s pripojenými perifériami je znázornené na obrázku 11.

Schopnosť vyvíjať bezdrôtové zariadenia IoT

Možno ste si všimli, že na niektorých screenshotoch vidíte môj ovládací panel, kde je okrem Arduino Uno a Raspberry Pi zariadenie s názvom ESP8266-1. Je to tak, je to tak prídavné zariadenie na známom module ESP-12 (ESP8266), ktorý je pripojený k serveru Cayenne prostredníctvom Wi-Fi a má vlastnú samostatnú palubnú dosku (obrázky 12a, 12b). Takýmto zariadením je bezdrôtová monitorovacia a riadiaca jednotka. Modul je spojený s dvoma LED diódami (jedna je pripojená k výstupu PWM ESP8266) a digitálnym snímačom teploty DS18B20.


Obrázok 12. Riadiaci panel pre bezdrôtové zariadenie na module ESP-12:
a) webové rozhranie, b) mobilná aplikácia.

S podporou jadra ESP8266 v Arduino IDE sa implementácia bezdrôtových zariadení IoT s Cayenne nelíši od vývoja s Arduino. Inými slovami, akýkoľvek modul na čipe ESP8266 je doska Arduino s rozhraním Wi-Fi. Pre tento modul Wi-Fi píšeme podobný náčrt, na prácu so senzormi používame rovnaké knižnice, máme k dispozícii digitálne a analógové vstupno / výstupné porty. Tento modul nahromadil obrovské množstvo informácií, rôznej dokumentácie a vývoja.

Schéma pripojenia periférií k modulu ESP8266 je znázornená na obrázku 13. Použil som samostatný modul ESP-12 bez stúpačky s integrovaným napájacím obvodom a programovacím rozhraním, čo značne komplikovalo prácu vo fáze sťahovania náčrtu. Najlepšia možnosť bude používať hotový modul, ako je nodeMCU v3, ktorý je vyrobený vo formáte Arduino a má obvod na prispôsobenie rozhrania. (Vysoko dôležitý bod pri programovaní modulu). Externý pohľad na modul s pripojenými diódami LED a snímačom teploty je znázornený na obrázku 14.

Pokiaľ ide o pripojenie k serveru Cayenne a výmenu údajov, všetko je tu ako pre Arduino. Všetky koncepty virtuálnych kanálov sú zachované, používajú sa rovnaké funkcie a používa sa aj jedinečný autorizačný kľúč. Jediný rozdiel je vo fáze pripojenia modulu k internetu.

Pri pripájaní zariadenia k modulu ESP8266 postupujeme rovnako ako pri pridávaní akejkoľvek dosky Arduino a dostávame sa do fázy čakania na pripojenie zariadenia k Cayenne, kde sa vygeneruje minimálny náčrt.

Tento náčrt musíme zmeniť. Ponúkame nasledujúce knižnice:

#include "CayenneDefines.h" // Cayenne konštanty a premenné
#include "BlynkSimpleEsp8266.h" // funkcie pre prácu s ESP8266
#include "CayenneWiFiClient.h" // funkcie na implementáciu klienta Wi-Fi

char token = "3yj62u9ogi";
char ssid = "Network_SSID"; // SSID a heslo pre vašu sieť Wi-Fi.
char heslo = "Sieťové_ heslo";

V sekcii inicializácie pridajte riadok:

Cayenne.begin (token, ssid, heslo);

Zostavujeme, nahrávame do modulu (trvá to dlhšie ako nahrávanie na dosku Arduino), čakáme na pripojenie a aktiváciu nového zariadenia na palubnej doske Cayenne. Ďalej je všetko ako pre Arduino: pridávame funkcie pre prácu so senzormi a I / O portami, na ovládací panel pridávame miniaplikácie. Jednoducho úžasné, nie?

Záver

Na základe výsledkov práce s Cayenne na Raspberry Pi a Arduino môžem rozhodne povedať, že Raspberry Pi by sa nemalo používať na vývoj zariadení IoT, dokonca ani s Cayenne. To isté sa nedá povedať o Arduine - napriek obmedzeným zdrojom, nedostatku multitaskingu, nízkemu spracovateľskému výkonu (aj keď je to kontroverzný bod, vzhľadom na vlastnosti nových dosiek Arduino na procesoroch ARM) je ideálny pre vývoj jednoduchého IoT zariadenia a systémy domácej automatizácie.

Navyše, v tejto súvislosti je hlavnou výhodou Arduina, ako som už uviedol vyššie, schopnosť nezávisle vyvíjať zariadenie, študovať obvody, písať kód, rozvíjať programovacie schopnosti, a to napriek argumentom profesionálnych programátorov, že sa nemôžete naučiť programovať. s Arduino. Možno, ale ... Pokiaľ ide o Arduino, platforma Cayenne poskytuje iba grafiku používateľské rozhranie a niektoré zjednodušenia pri spracovaní údajov. Všetko ostatné musíte vyvinúť sami, vrátane primárneho spracovania údajov zo senzorov, subsystému spracovania udalostí, ako aj algoritmov podmienok a automatizácie. Teraz pridajte k Arduinu jednoduchosť vývoja bezdrôtových zariadení IoT na Wi-Fi module ESP8266 a už oficiálnu podporu (aj keď nie úplnú) najnovšieho čipu ESP32, ktorý má na palube bohaté periférie, a máte skvelé možnosti na vývoj zásadne nových zariadení a pritiahnutie tohto procesu nie je len pre amatérov, ale aj pre profesionálov.

V čase písania článku Cayenne neoznámil oficiálnu podporu pre moduly založené na čipe ESP8266. Na začiatku je to zásluha komunity - amatérov a inžinierov, ktorí pracujú alebo používajú Arduino IDE a vedia o podpore pre ESP8266, pomocou kajenských knižníc bolo možné pripojiť a používať ESP8266. Ale už v tej dobe bolo možné zoznámiť sa s komunitnými fórami v Cayenne veľké množstvo rôzne projekty bezdrôtových zariadení IoT.

Po dlhom testovaní svojich zariadení na Arduino a ESP8266 môžem povedať, že tieto fungujú veľmi stabilne. Dôvodom je trochu nízka spoľahlivosť Arduina s ethernetovým štítom známy problém zmrazenie ovládača W5100, existuje však niekoľko spôsobov, ako to vyriešiť, hardvér aj softvér. Môžem predpokladať, že to neplatí pre dosky Arduino s integrovaným ethernetom alebo Wi-Fi.

Nie je to dlho, čo bol napísaný článok o Raspberry Pi a Cayenne, ale nových funkcií a podporovaných periférií je oveľa viac. Okrem obrovského výberu rôznych rozširujúcich dosiek, senzorov a akčných členov, zodpovedajúcich knižníc, projektov a príkladov pre Arduino majú teraz používatelia Cayenne prístup k zariadeniam, sieťam a službám LoRa a knižniciam podpory sieťový protokol MQTT pre Arduino, C, C ++, mBed, knižnice na prácu s maklérom MQTT brokera. Rozhodne by som pre vývoj zariadení IoT a systémov pre domácu automatizáciu na Arduine odporučil služby Cayenne.

Predtým bol vynájdený kotúč na vytváranie monitorovacích zariadení Arduino.

Bolo to zaujímavé.

/ * - Nový projekt - Tento zdrojový kód grafického používateľského rozhrania bol automaticky vygenerovaný editorom RemoteXY. Na zostavenie tohto kódu pomocou knižnice RemoteXY 2.3.5 alebo novšej verzie stiahnite odkaz http://remotexy.com/en/library/ Ak sa chcete pripojiť pomocou mobilnej aplikácie RemoteXY odkazom http://remotexy.com/en/download/ - pre ANDROID 4.3.1 alebo novšia verzia; - pre iOS 1.3.5 alebo novšiu verziu; Tento zdrojový kód je bezplatný softvér; môžete ho ďalej distribuovať a / alebo upravovať podľa licenčného ustanovenia GNU Lesser General Public License vydaného Free Software Foundation; buď verziu 2.1 licencie, alebo (podľa vášho výberu) akúkoľvek novšiu verziu. */////////////////////////////////////////////////// // RemoteXY zahrnúť knižnica // ////////////////////////////////////////////////// // určujúce režim pripojenia a pripojenie knižnice RemoteXY #define REMOTEXY_MODE__ESP8266_HARDSERIAL_CLOUD #include // nastavenia pripojenia #define REMOTEXY_SERIAL Serial #define REMOTEXY_SERIAL_SPEED 9600 #define REMOTEXY_WIFI_SSID "***********" #define REMOTEXY_WIFI_PASSWORD "***********" #define REM #define REMOTEXY_CLOUD_PORT 6376 #define REMOTEXY_CLOUD_TOKEN "*************************" #include // Pridajte knižnicu DHT11 dht11 DHT; // Deklarovanie premennej triedy dht11 #define DHT11_PIN 7 // Senzor DHT11 je pripojený k digitálnemu pinu číslo 4 const int analogSignal = A3; // pripojenie analógového signálneho pinu const int digitalSignal = 8; // pripojenie digitálneho signálneho kolíka boolean noGas; // premenná na ukladanie hodnoty prítomnosti plynu int plyn = 0; // premenná na ukladanie množstva plynového plaváka hukot = 0; // premenná na ukladanie vlhkosti float temp = 0; // premenná na ukladanie teploty int chk; // premenná na ukladanie chyby DHT char msgBuffer; // konfigurácia rozhrania #pragma pack (push, 1) uint8_t RemoteXY_CONF = (255,1,0,24,0,74,0,8,13,2, 2,0,38,44,22,11,7, 81,22,11, 2,26,31,31,79,78,0,79,70,70, 0,66,132,10,13,31,24,7,10,27,21,2,24, 66,132,56,13,31,24,4,41,31,24,2,24,67,4,16,5,20,5,38,23,20,5,2,26,11,67, 4, 63, 6, 20, 5, 39, 52, 20, 5, 2, 26, 11); // štruktúra definuje všetky premenné štruktúry vášho riadiaceho rozhrania (// vstupná premenná uint8_t switch_1; // = 1, ak je prepínač povolený a = 0, ak je deaktivovaný // výstupná premenná int8_t úroveň_1; // = úroveň 0..100 pozícia int8_t úroveň_2; / / = 0..100 úroveň polohy char text_1; // = reťazec UTF8 s nulovým zakončením char text_2; // = reťazec UTF8 s nulovým zakončením // iná premenná uint8_t connect_flag; // = 1, ak je zapojený vodič, else = 0) RemoteXY; #pragma pack (pop) ///////////////////////////////////////////////////// /KONIEC RemoteXY obsahuje // //////////////////////////////////////////////// // /// definovať PIN_SWITCH_1 13 neplatné nastavenie () (RemoteXY_Init (); pinMode (PIN_SWITCH_1, VÝSTUP); // TODO nastavíte kód) void loop () (RemoteXY_Handler (); digitalWrite (PIN_SWITCH_1, (RemoteXY.switch_1 == 0)? NÍZKA: HIGH); noGas = digitalRead (digitalSignal); // odčítajte hodnotu prítomnosti plynného plynu = analogRead (analogSignal); // a jeho množstvo chk = DHT.read (DHT11_PIN); hum = DHT.humidity; temp = DHT .temperature; RemoteXY.level_1 = hum; RemoteXY.level_2 = temp; dtostrf (hum, 6, 2, RemoteXY.text_1); dtostrf (temp, 6, 2, RemoteXY.text_2); // TODO loop code / / use štruktúra RemoteXY na prenos údajov)

Používame sendvič z dosiek.

Zrazu všetko hneď fungovalo:

Od okamihu, keď bola cloudová služba RemoteXY objavená, k fotografii vyššie uplynula hodina.

Vlastnosti práce s RemoteXY.

1. Všetko je veľmi jednoduché. Je to dobré svojim spôsobom. Napríklad Blynk a Cayenne pravdepodobne nebudú schopní prísť na to od nuly za hodinu. Ak chcete používať napríklad „KaScada Cloud“, musíte si kúpiť špeciálny.

2. Na strane servera nie je žiadne spracovanie a ukladanie údajov: neexistuje žiadne spojenie s doskou - aplikácia visí „Žiadne pripojenie“.

3. Zadarmo je iba 5 dizajnových prvkov, ale Aplikácia PRO nestojí to viac ako pol dňa stráveného času.

4. Z jednej aplikácie je možné komunikovať s doskou prostredníctvom cloudového servera aj priamo. Pravda, samozrejme, nie je súčasne. A nedá sa rýchlo prepnúť - musíte zmeniť náčrt v doske. Rovnako je možné komunikovať medzi smartfónom a doskou cez Bluetooth a USB.