Vývoj zařízení IOT na Arduino pomocí služby MyDevices Cayenne. Blynk: Snadná kontrola Malinové a Arduino Cloud Services pro ovládání Arduino

Sessions - očistit v řadách blbců!
Dnes budeme nakonfigurovat management ESP8266 za 5 minut od vašeho smartphonu (IOS nebo Android) pomocí nového bliká cloudová služba. Video a detaily pod řezem.


Instalace aplikace Blynk na smartphone

Zaregistrujte se v příloze a vytvořte nový projekt.

Například zadejte název projektu ESP8266.. V terénu Hardwarový model. Vybrat ESP8266.. (Doufám, že si všimnete impozantního seznamu podporovaných zařízení) automaticky generované Automatický token. Odeslat do své poštovní schránky.

Po stisknutí tlačítka Vytvořit. Budete k dispozici prázdné pole pro navrhování UI ovládacího panelu ESP8266.

Klikněte na plus nahoře vpravo - zobrazí se panel nástrojů Box widgetu. Přidání widgetů na ovládací panel. Stojí za zmínku, že seznam widgetů bude stále doplněn.

Pro vzorek vyberte typ widgetu Knoflík. - Tento widget je okamžitě přidán do panelu. Upravit s jedním dotekem. Název nelze vyplnit, jen správně můžete vybrat barvu indikátoru v poli Výstupní kolík. Vyberte si správné Digitální.a nechal libovolný volný pin Gpio.. Níže přepněte typ tlačítka na Přepínač.

Dále nastavte knihovnu BLYNK v Arduino IDE. To vám pomůže oficiální pokyny. Můžete také vzít knihovnu poslední verze Přímo od úložiště a ručně. Dále vyberte příklad ESP8266_standAlone. a předepisovat v něm Automatický token.které máme poštou SSID a heslo vy WiFi sítě. Vyplňte a nalijte skica v ESP8266.

Nádherná věc - ESP8266. Docela výkonný procesor, spousta paměti, vestavěný ovladač WiFi. ESP32, samozřejmě, ještě lepší, ale také je dražší. Ale teď to není o nich. Přesněji, ne přesně o nich. Na ESP je velmi snadné stavět téměř každá domácí automatizace a dálkové ovládání a ovládání ze smartphonu nebo počítače. Příklad takového zařízení je na tomto místě. Jeden problém - pracovat s takovým zařízením nejen domácí síťA z kdekoli v planetě (kde je přístup k internetu, samozřejmě je nutný určitý server - mediátor, který obdrží zprávy ze zařízení a přenáší je na vás, a naopak. Samozřejmě existují možnosti a přímou komunikaci, ale nepovažuji je zde kvůli složitosti provádění nebo vysokých nákladů.

Seznam uvedený v tomto článku neplatí plnost a ještě více tak na jedinečnost, pokusil jsem se analyzovat a strukturovat možnosti určitých bezplatných služeb. Nejdříve, pro sebe, ale pokud to bude užitečné pro každého jiného - použití na zdraví. Když jsem hledal veřejný MQTT server pro sebe, jsem připustil spoustu internetových zdrojů. Hledal jsem především na ESP8266.RU, ale bohužel, tam je polovina služeb nebo žádné pracovníky nebo již pro mě nejsou vhodné pro jeden nebo jiný parametry. Vše, co je zde napsáno, je první ze všech mých osobních zkušeností, vaše zkušenosti s těmito službami mohou být zcela odlišné. Pokud víte nějaké jiné takové služby - napsat v komentáři nebo poštu (pošta a další kontakty jsou v pravém horním rohu uzávěrů webu) a pokusím se zkontrolovat a přidat seznam.

MQTT makléři

MQTT protokol je možná první věc, kterou si koupíte ve vyhledávačích, když hledáte cestu dálkové ovládání různé "inteligentní kousky". Nemůžu ručit, že je to nejjednodušší protokol (jen nemám co s porovnáním s něčím, nějakým způsobem jsem se na něj okamžitě zastavil), ale můj osobně nezpůsobil žádné potíže. Příklady - hodně. Připravené knihovny pro Arduino IDE nejsou také sami, protože říkají "Vyberte si chuť". Mobilní aplikace jsou dostačující k výběru jak pro smartphone, a pro ovládací panel vyrobený ze starobylého tabletu. Takže to je pravděpodobně nejoblíbenější možnost implementovat dálkové ovládání. Cloud servery jsou také docela mnoho, nazývají mQTT makléři. Nebudu zvážit zásadu provozu protokolu a serverů, tyto informace jsou dostačující na jiných stránkách.

Cloudmqtt.com.

Začal jsem z této služby. Jen proto, že téměř všechny příklady práce s protokolem MQTT jsou založeny na něm. Služba je poměrně pohodlná a jednoduchá, vše je intuitivní. V roce 2018 služba povolena zdarma tarifní plán Připojení až 10 zařízení, která byla docela spokojená. Ke konci roku 2018 však vlastníci služeb revidovali své politiky a na volné "roztomilé cat" tarifní plán nyní je k dispozici pouze 5 připojení. Pro mě osobně je to velmi malé. Můžu současně připojit tři "řídicí" zařízení - dvě smartphony a tablety a pouze dvě připojení zůstávají pro samotné ESP. A už mám spoustu různých automobilů a je stále plánováno. Samozřejmě se můžete přiblížit několik instancí makléřů uvnitř jednoho ÚčetI když nedávno zavedly omezení. Ale v tomto případě budou tři řídicí zařízení stále "e-mailem" tři připojení pro každou instanci a takovou ekonomiku soory - a nepřítel si nepřeje. Nejlevnější placený plán poplatku "Humble Hedgehog" stojí v době psaní 5 $ měsíčně. Ne, jsem jeden docela slavný obojživelník, který by zaplatil takové peníze každý měsíc. Ano, a možnosti nejsou tak inteligentní - 25 připojení. Proto jsem musel hledat další možnosti.

profesionálové: pohodlné a snadné

Minusy: Pouze 5 spojení na volném tarifu

flespi.io.

Po poměrně dlouho jsem použil mQtt.flespi.io makléř. On mě přitahoval tím, že v době, kdy jsem s ním začal pracovat, přijímal až 100 konkurenčních spojení současně a obrovské množství přenášených a uložených zpráv. Nádherný! Služba však není tak pohodlná jako cloudmqtt. Ovládací panel není velmi pohodlný (I když se zlepšuje), nastavení přístupových práv není jasné na první pohled, autorizaci a zařízení a smartphony tokenů s omezenou dobu. Neexistují žádné funkce některých funkcí, nebo jsem nenašel, jak používat. Například, jak odstranit uložené (uchované) zprávy ze základny - nikdy jsem nebyl nalezen. Striktně řečeno, to není jen mQTT makléř, takže možná jsem nechápal všechny své schopnosti. Někdy on. různé smartphony Vymaže informace v některých tématech. Několikrát kvůli chybám v firmwaru a trvalé odvolání zařízení k serveru, služba plně blokovala účet několik hodin. To však mohlo být odpuštěno pro takové příležitosti. Ale bohužel, a tady touha vydělat si nahoře - od roku 2019 bylo zavedeno omezení 10 spojení na volném tarifu. V tom není nic hanebného, \u200b\u200bale nejsem připraven zaplatit takové peníze za koníček, a dokonce i za služby poměrně pochybné kvality. Obecně budeme hledat stejné, ale s perlovými knoflíky ...

profesionálové: Než to bylo až 100 spojení

Minusy: Není to vhodné, složené při nastavování přístupu, zadržený z panelu neodstrante

Hivemq veřejný makléř.

Plně bezplatný veřejný makléř bez omezení. Alespoň hlavní strana Makléř o nich není napsán. Ale existuje velká "ale" - Tento makléř nemá žádnou autorizaci, to znamená, že ne. To znamená, že všechny odeslané mezi přístrojem a máte zprávu, můžete si přečíst někdo. To by nebylo velké tragédie, kdyby to byl pouze indikátor teploty a vlhkosti, nepředstavují tajemství. Ale pokud jde o vzdálenou správu "inteligentního domova", pak je takový makléř v zásadě vhodné. Koneckonců bych nechtěl, aby někdo umožnil jakékoli zařízení v domě, nebo například vypnout alarm.

profesionálové

Minusy

Eclipse MQTT.

Jiný veřejný makléř bez povolení. Jak je napsáno na webu, tento makléř je určen především pro testování a není určen k uložení a přenosu důvěrných informací. Chcete-li se připojit k serveru, musíte použít následující parametry: server iot.Eclipse.org, port 1883; Pro TLS V1.2, v1.1 nebo v1.0 - port 8883. Připojení a webové desky jsou k dispozici. Obecně platí, že stejně jako Hivemq, pouze v laterální projekci ...

profesionálové: Zdarma, bez omezení připojení

Minusy: Vhodné pro testování a povětrnostní stanice bez dálkového ovládání

mosquitto.org.

A další veřejný makléř bez povolení. Nemůžete opakovat, všechny stejné jako Hivemq a Eclipse MQTT. Všimněte si, že všechny tyto servery podporují šifrování TLS neznamená, že vaše data jsou chráněna. Převodovka mezi přístrojem a serverem je chráněn, ale samotná data jsou v otevřeném přístupu.

profesionálové: Zdarma, bez omezení připojení

Minusy: Vhodné pro testování a povětrnostní stanice bez dálkového ovládání

IBM Cloud (Bluemix)

To není mQTT makléř, to je celá platforma "Internet of Worku Platform". Ale ve své kompozici je mQTT makléř. Na plánu volného tarifu je povolen až 500 registrovaných zařízení a 200 MB informací o každé metrice. Je to docela elegantní nejen pro dům, ale i pro komerční zařízení. Ale jako vždy, ne bez "ale". Za prvé, je velmi obtížné pochopit tuto platformu. Existuje dokumentace, ale je to moc. Ne - moc! Strávil jsem ne o hodinu více - méně porozumět, jak nakonfigurovat připojení. Za druhé, platforma umožňuje publikovat témata přísně v konkrétním formátu: "Iot-2 / Evt / Event_ID / FMT / Format_String". Podobně s příkazy: "iot-2 / cmd / command_id / fmt / formát_string". A všichni - žádné svobody - to znamená, že číslo zprávy a samotnou zprávu. Formáty přenášených zpráv jsou však již větší - "JSON", "XML", "txt" a "csv". Snad někdo takový přístup bude vypadat velmi správný a pohodlný, ale nepřitahoval mě. Ano, a je obtížné pro všechny záměry - příležitosti, zřejmě, hodně, ale s tím musí být každý schopen nejprve.

profesionálové: Velmi velké limity připojení

Minusy: Velmi složité pro začátečníky, omezení na témata

mqtt.dioty.co.

Jedná se o zcela volný makléř. Dokud. Na stránce Nastavení připojení se napíná následující: "Tento mQTT makléř v současné době pracuje v beta. V této fázi beta testování nebudeme účtovat poplatek, pokud překročíte limit v 50000 zprávách měsíčně. Vyhrazujeme si však právo dočasně pozastavit svůj účet v případě, že máte vliv na službu jiných uživatelů. V tomto případě vás budeme vždy kontaktovat e-mailem, abychom se pokusili pochopit vaše specifické potřeby a jak je můžeme uspokojit. ". 50.000 příspěvků za měsíc je asi 70 zpráv za hodinu, což není tolik, pokud se domníváte, že jedno zařízení může publikovat pro datovou relaci od senzorů až 50 zpráv. Broker podporuje povolení a připojení TLS. Registrace je vázána na účet Google. Existuje malé omezení - všechna vaše témata by měla začít s adresou e-mailemTím, co jste se zaregistrovali ve službě, například: "/ [Chráněný emailem]/ ... / ... / ... ". Tento problém je však více či méně významný pouze při nastavování klientů MQTT na smartphonu (získat více textu), a to není vždy. Podle mého názoru si tato služba dokonale zaslouží pozornost. Nekontroloval jsem s ním, jen jsem se zaregistroval.

profesionálové: zcela zdarma

Minusy: Je nutná určitá předpona pro témata, omezení přibližně 70 zpráv za hodinu

Solace.Cloud (pubsub +)

To není tolik m2 mcer jako celé platformy IOT. Na volném plánu tarifu je až 50 přípojek povoleno 1 GB přenášené daty za měsíc, až 4 GB uložená data (resp. Zprávy). Není špatné. Ale má dokonce volná verze Hodně nastavení - je těžké zjistit "s rozsahem". To je důvod, proč jsem je neměl užívat. Možná přijde čas, budu se zabývat a konfigurovat.

profesionálové: Až 50 připojení

Minusy: Docela složené ve zvládnutí

myqtthub.com.

Zřejmě estonský makléř. Na volném plánu tarifu umožňuje: až 100 uživatelů, ale až 50 spojení; 10MB uložená data; Až 50 PŘIPOJENÍ PRO PŘIPOJENÍ, maximálně 250 odběrů (a není jasné, předplatné "Úvod / #" je jeden předplatné nebo hodně?); 300 zpráv za minutu, ale ne více než 800 za hodinu a ne více než 10 000 za den. Pokud budete pokračovat z pravidelných (každých pět minut) publikací, neuvidí ne více než 34 zpráv najednou. Stále existují omezení - více jako více na hlavní stránce služby. Omezení však vypadají docela reálné domácí použití. Nezkoušeli ...

profesionálové: Až 50 připojení

Minusy: Omezení počtu zpráv

mqtt.by.

Snadné použití Běloruského makléře. Neexistuje nic o omezeních. Podporuje autorizaci, ale je možné provést některá témata s veřejností, to znamená, že je otevřena pro všechny ostatní uživatele služby. Neexistuje však žádná bezpečnostní podpora připojení (TLS), může být pro některé aplikace kritické. Každé publikované téma musí začít s předponou "/ user / user_name", což poněkud komplikuje nastavení mobilních zákazníků MQTT, ale ne významně. Z výhod - na serveru jsou veřejná témata s datem a časem, která je velmi vhodná pro ovládací panel založený na tabletu, která pracuje 24 hodin denně - zároveň a hodinky je stále sama (sto dvanáct 🙂). Obecně, docela normální makléř, jen aby pracoval stabilní.

profesionálové: Bez omezení existují veřejná témata, můžete zveřejnit vaše témata

Minusy: Bez šifrování připojení SSL / TLS

mqtt.4api.ru.

Ruský broker zdarma - "Poskytujeme přístup k bezplatnému serveru MQTT pro každého." Oprávnění a registrace na službě sociální sítě. Vypadalo to, zřejmě, ne příliš dávno. Ačkoliv samotná stránka má certifikát SSL, parametry dat jsou zadány pouze pro "bez SSL", zřejmě připojení SSL pro zařízení není k dispozici. Stále na stránce připojení napsal následující: "Nedoporučujeme používat tento server. Pro životně důležité projekty. " Ovládací panel má velmi skromnou funkčnost, takže je třeba použít třetí stranu

profesionálové: Bez omezení

Minusy: No SSL / TLS připojení šifrování, špatné ovládací panel Funkční

Ostatní služby

Jeden MQTT nebude krmen. MQTT je jednoduché a pohodlné, ale umožňuje zobrazit informace "zde a teď" bez historie změn v čase. Chcete-li zobrazit grafy, existují i \u200b\u200bdalší služby, aby vytvořily práci, s nimiž není také obtížné. Některé z nich jsou níže.

Věci.

Věci, které jsou k dispozici jako služba zdarma Pro nekomerční malé projekty (<3 миллиона сообщений в год или ~ 8 200 сообщений в день). Сервис позволяет накапливать получаемые данные в своих хранилищах, после чего их можно удобно просматривать в виде графиков. В том числе и на сторонних сайтах, .

Ze vlastností služby - má integraci s Matlab analytics, ale jak moc jsem se nepokusil konfigurovat skripty Matlab, takže jsem nevyšel ven. No, ne moc a chtěl. Ve volném účtu služba umožňuje vytvořit až čtyři kanály, každá z kanálů může být uložena až 8 polí s různými daty. Dokonce i na volném účtu je další omezení - není možné publikovat data častěji než jednou za 15 sekund (doporučuje se pauzu 20 sekund), je to jako "ochrana" překročení limitu 8 200 zpráv za den. V zásadě se všechny mé "vydavatelé" snadno zapadají do tohoto limitu, mám dost. Službu používám po poměrně dlouhou dobu, je to docela pohodlné a jednoduché, ne-li počítat Matlab. Existuje několik programů - zákazníci pro Android, ale mnohem méně než pro MQTT.

profesionálové: Jednoduché použití na ESP, pohodlné webové stránky

Minusy: Mnoho omezení na bezplatném účtu

open-monitoring.Online.

Tato služba je podobná věcech - můžete také posílat data a pak procházet ve formě tabulek, grafů a histogramů. Rozhraní je jednodušší než věci, ale také přizpůsobit je to mnohem snazší.

Zpočátku byla tato služba vytvořena, protože tomu rozumím, sledovat parametry osobních solárních elektráren, ale je také vhodný pro jiné účely. Služba je k dispozici všem a svobodným, bez významných omezení v tuto chvíli. Jediné omezení, které jsem pochopil, je poslat skupinu hodnot na server pro jeden regulátor, nemůže být častěji jednou za minutu. Ale na počtu hodnot pro každý regulátor a na počtu restrikčních regulátorů se zdá být č. Odesílání dat na server se provádí jednoduchým požadavkem Získávání, implementace na arduinoidu už ne více než hodinu. Na rozdíl od toho, že uložená data lze zobrazit na jednom grafu (s překrytím), stejně jako přizpůsobit nějakou řídicí panel pro výstup nejnovějších hodnot. Můžete také zobrazit uložené hodnoty ve formě jednoduché tabulky.

profesionálové: Jednoduché použití na ESP, pohodlné rozhraní, téměř žádná omezení

Minusy: Neexistuje žádná možnost vybrat grafiku na stránkách třetích stran (na rozdíl od věcech), dobře, nebo jsem ještě nenašel, jak to udělat

beebotte.

Na hlavní stránce této služby je napsáno následující: "Připojení všeho a vše v reálném čase pomocí bohatých API, které podporuje odpočinek, WebSockets a MQTT." Osobně jsem tuto službu nepoužil. Soudě podle toho, co jsem pochopil z popisu, je to divoká směs mqtt makléř a věceč. Ve volném režimu není počet kanálů a zdrojů omezen, ale počet zpráv je omezen: 0,05 milionu za den | 1,5 milionu měsíčně. Pro uložené zprávy jsou limity ještě méně: 5 000 za den | 150 000 za měsíc. Kromě toho jsou zprávy uloženy pouze maximálně tři měsíce, po kterých jsou odstraněny. To znamená, že po celý rok nebudete vypadat. O mém mobilním klientovi pro smartphone se mi ještě neznám. Registrovaný. Zkusím to. Závěry k tomu příliš brzy.

Blynk.

Aktivně propagační služba pro dálkové ovládání "Inteligentní zařízení". Já bych dokonce řekl agresivně - všechny fóra psát, kde potřebujeme a kde to není nutné. Obecně platí, že tento platformu není pro milovníky, ale spíše pro podnikání. Zapnuto "Volný režim" je dán velmi málo zdrojů, s výjimkou paměti zapamatování LED nebo zapnout jedno relé. Obecně jsem se pokusil jednou - a hodil, okamžitě zdroje a ukončeno. Příliš chamtivý.

profesionálové: nenalezeno

Minusy: Garegi, mobilní klient pouze jeden

I když je to všechno. Pokud znáte další způsoby, jak spravovat ESP vzdáleně (vyžaduje se "Mobile") - prosím napište mi. Dej nám diskutovat a možná přidat článek.

Připojení přes Remotexy Cloud Server umožňuje ovládat zařízení odkudkoliv na světě, kde je internet.

Modul ESP8266 bude konfigurován jako klient pro připojení přístupu WiFi. Přístupový bod musí mít přístup k internetu. Knihovna Remotexy se zaregistruje zařízení na cloudovém serveru.

Mobilní aplikace se připojí k serveru Cloud, a nikoli přímo do zařízení. Zařízení bude tedy k dispozici odkudkoliv na internetu.

Poznámka:V tento moment Připojení přes Cloud Server prochází testovacím krokem. Toto je možné přerušení serveru.

Krok 1. Vytvořte projekt grafického rozhraní

Krok 5. Upravte ESP8266

Je třeba konfigurovat modul ESP8266. Možná, že váš modul má již nezbytnou výchozí nastavení, ale je lepší jej zkontrolovat.

Co potřebujete zkontrolovat:

  • Modul má firmware s podporou příkazů verze není nižší než v0.40;
  • Modul je konfigurován pro rychlost 115200.

Krok 6. Připojte ESP8266 na Arduino UNO

Připojte ESP8266 na Arduino UNO podle tohoto schématu. Upozorňujeme, že kontakty RX-TX jsou spojeny crosshairem.

Vzhledem k tomu, že úrovně signálů modulu ESP8266 jsou 3,3V a v Arduino, jsou 5V, je nutné použít odolný dělič napětí pro převod úrovně signálu.


Krok 7. Vložte skicu v Arduino.

Skica je naložena v Arduino obvyklým způsobem. Vzhledem k tomu, že modul ESP8266 je však připojen k kontaktům 0 a 1, programování se stává nemožné. Kompilátor zobrazí chybu.

Před programováním odpojte vodiče, které jdou na ESP8266 z kontaktů 0 a 1. Programování. Vraťte kontakty na místo. Klepněte na tlačítko ARDUINO RESET.

Poznámka:První znakem je, že programování úspěšně projelo, toto je blikání modré LED na modulu ESP8266 ihned po resetu. Blikající modrá LED znamená výměnu dat mezi Arduino a ESP8266. V těchto 8, Arduino byl nakonfigurován pro konfiguraci ESP8266 pro připojení přístupového bodu. Po určité době bude LED dioda znovu blikat, což znamená pokus o registraci na serveru Remotexy Cloud Server.

Krok 8. Připojte se z mobilní aplikace.

Zkontrolujte Power ESP8266.

Je také možné, že váš ESP8266 postrádá napájení napájení. Některé desky Arduino mají slabý stabilizátor napětí 3.3 V, který není schopen vydávat 200-300 mA ve špičkových režimech. V tomto případě v sériovém monitoru zobrazíte také přestávku příkazové sekvence.

Vadim Kolesnik, Tiraspol

Vzrušující, jednoduchý a rychlý vývoj plnohodnotných internetových zařízení na Arduino pomocí cloudové služby

Všeobecné

myDevices zabývající se vývojem softwaru a aplikací v Internetu věcí (IOT) a je rozdělením Avanquestu. MyDevices Cayenne - první drag-and-drop aplikace a cloudová služba pro zjednodušené projekty rozvoje IOT na malinových pi.

Portál Radiotozman byl nedávno zveřejněn, ve kterém jsem se pokusil odhalit hlavní výhody a schopnosti systému při práci na jednomodupovém počítači Raspberry PI (RPI). Ale projekt Cayenne se neustále rozvíjí, vývojáři, založený na přání uživatelů, postupně přidávají nové funkce, eliminují nedostatky a chyby.

Vývoj zařízení IOT na Arduino a malinovém PI při práci s Cayenne se v podstatě liší. Pokud jde o Malxenne PI, platforma Cayenne lze považovat za vizuální vývojové prostředí: fyzicky spojujeme různé periferní zařízení do desky maliny PI a pak pracujeme pouze v online prostředí Cayenne (Nastavení widgetů, zpracování dat, algoritmů pro automatizaci zápisu).

Pokud jde o Arduino, řídicí panel Cayenne je pouze sadou widgetů a ovládacích prvků, které vizualizují data ze senzorů a vysílají uživatelská data pro řízení ovládacích prvků nebo jiných výkonných zařízení. Přímo provoz s senzory, výkonná zařízení, další periferní zařízení (například displej, druhá klávesnice), zpracování podmínek automatizace je přiřazeno mikrokontroléru. Jinými slovy, vše sestává na standardní vývoj zařízení na Arduino; Samotný uživatel píše programový kód, ale s integrací do projektu flexibilních funkcí IOT Cayenne. V tomto stanovisku, podle mého názoru, podle mého názoru je hlavní výhodou Cayenne: můžete připojit všechny senzory a servopohony do systému, aniž by byly omezeny seznam podporovaných periferií.

Uživatelské rozhraní a práce

Pokud jde o uživatelské rozhraní systému, jeho nastavení, řídicí metody a widgety na řídicím panelu, to vše zůstává podobným systémem na malinovém PI, samozřejmě, s výjimkou jednotlivých jedinečných prvků, které jsou inherentní (například a Vzdálená plocha, stav paměti, načítání procesoru). Proto porozumět základům práce se systémem, doporučuji se seznámit s články. Veškeré informace v článku jsou relevantní pro webové rozhraní systému a rozhraní pro mobilní aplikace. Také v článku označuje seznam podporovaných periferií.

Rozvíjet zařízení nebo aplikace IOT, potřebujeme:

  • Mít svůj účet na službě Cayenne (můžete použít existující);
  • Nainstalujte integrované vývojové prostředí Arduino IDE;
  • Přidejte knihovnu funkcí Cayenne v Arduino IDE;
  • Konfigurace Arduino IDE: Vyberte poplatek a port COM, ke kterému je připojen;
  • Připojení ke štítu Arduino Ethernet nebo rozšíření štítu Wi-Fi (nebo použijte arduino s integrovaným síťovým rozhraním).

Myslím, že proces instalace vývojového prostředí Arduino IDE, stejně jako volba poplatků a přístavů ve vysvětlení nepotřebuje, a my půjdeme na hlavní.

Knihovna Cayenne pro Arduino je jednoduše a rychle instalována pomocí Správce knihoven (obrázek 2).

Po instalaci knihovny, budeme moci používat ji ve vašich aplikacích a nová složka se jménem Cayenne se zobrazí v sekci Příklady skici. Podle mého názoru vám tyto příklady neumožňují plně pochopit, jak pracovat se systémem, ale přesto by měly být prozkoumány, a také připomenout vám, že existuje obrovská část dokumentace na systému Cayenne. V obecném případě je tato knihovna sadou náčrtků, které vám umožní zjednodušit připojení a výměnu dat mezi senzory / servopohony a cloudovou službou.

Provedením přípravných operací, konfigurace vývojového prostředí a připojení rozšíkové desky Ethernet Shield, můžete začít rozvíjet zařízení IOT.

Arduino je připojen k počítači USB, v ethernetovém štítu připojte místní síťový kabel. V internetovém prohlížeči se přihlásíme k účtu Cayenne a přidejte nové zařízení do ovládacího panelu - Arduino. Dále vyberte typ desky, způsob připojení k Internetu (poměrně mnoho možností), věnujte pozornost jedinečnému autorizačnímu klíči pro naše zařízení a počkejte na desku Arduino do Cayenne (obrázek 3).

Pro každé nové zařízení je generován nový jedinečný klíč, v budoucnu lze nalézt v nastavení zařízení (Poplatky).

Jakmile zvolíte způsob připojení k síti, zobrazí se okno se zdrojovým kódem programu Microcontroller. Toto je požadované minimum pro připojení zařízení k cloudové službě. Upozorňujeme, že text programu již zadal váš autorizační klíč a připojen knihovnu odpovídající zvolenému způsobu připojení k síti (obrázek 4). Zkopírujte tento kód v Arduino IDE, kompilovat a zátěže v tomto poplatku. Pokud bylo vše správně nakonfigurováno, pak se v ovládacím panelu Cayenne zobrazí nová aktivní zařízení a řídicí panel, kde nyní můžete přidat widgety a ovládací prvky. Kromě toho, již v této fázi můžete dálkově ovládat dostupné digitální a analogové porty Arduino, aniž by zapisovali jeden řádek kódu - na přístrojové desce, přidejte widget, zadejte typ port (digitální), jeho název na desce a Uložte widget. Nyní kliknutím na tlačítko v prohlížeči změníte logický stav portu. Jednoduše přidáním příslušných widgetů můžete spravovat výstupy PWM, přijímat "RAW" data z analogových vstupů ARDUINO, řídí stav digitálních vstupů.

Vývoj zařízení na konkrétním příkladu

Teď vám řeknu o dalších funkcích a funkcích systému. Jako příklad jsem shromáždil jednoduchý systém, který zahrnoval:

  • Arduino UNO Board;
  • Prodlužovací deska Ethernet Shield na řadič Wiznet W5100;
  • Teplotní senzor DS18B20;
  • Fotorezistor;
  • Termistor;
  • Několik LED diod;
  • OLED displej na ovladači SSD1306.

Schematický diagram spojovacích senzorů a LED diod do Arduino je znázorněno na obrázku 5.

Dovolte mi, abych vám připomněl, že většina otázek souvisejících s připojením různých senzorů a pohonů, můžete najít odpovědi v sekci Dokumentace.

Domnívám se, že o spojovacích LED diodách, digitální teplotní senzor a OLED zobrazení otázek nebude vzniknout. Snímače analogového osvětlení a teploty jsou připojeny k analogovým vstupům podle odporového rozdělovače. Současně pro řetězec termistoru je nutné znát přesný odpor rezistoru R6, tato hodnota bude použita ve zdrojovém kódu během výpočtů.

Po připojení článků uvedených na diagramu napište náčrt Arduino a pak nainstalujte požadované widgety na řídicím panelu Cayenne. V současné době, Arduino deska již načtena minimální skici a deska je určena v řídicím panelu Cayenne. Jak jsem řekl výše, v této fázi můžeme přidat widgety k řízení LED diod D1, D2, stejně jako získání "syrových" dat z analogových vstupů, ke kterým je termistor a fotorezistor připojeni (obrázky 6, 7).

Bez psaní jednoho řádku arduino kódu jsme již obdrželi jednoduchý systém dálkového ovládání a řízení (obrázek 8).

Použití digitálních teplotních čidel, termistoru, PWM, například pro řízení LED D2, bude nutné přidat minimální skici. Chcete-li začít, definujeme potřebné knihovny.

#Zahrnout.< CayenneEthernet.h> // Použijte poplatek rozšíření Ethernet Shield
#Zahrnout.< CayenneTemperature.h> // Funkce konverze dat s termistorem
#Zahrnout.< OneWire.h> // funkce pro práci s 1vodičovou sběrnicí
#Zahrnout.< DallasTemperature.h> // funkce pro práci s digitálními teplotními čidly
#Zahrnout.< Arduino.h> // standardní konstanty a proměnné Arduino.
#Zahrnout.< U8x8lib.h> // knihovna pro práci s displejem OLED v textovém režimu
#Zahrnout.< Wire.h> // Podpora hardwarového rozhraní I 2 C

#Define virtual_pin_1 v0 // virtuální kanál pro senzor DS18B20
#define virtual_pin_2 v1 // - pro termistor
#define virtual_pin_3 v2 // - pro LED D2 obdržíme údaje o hodnotě PWM
#Define LED2_PWM 6 // Real Arduino port, ke kterému je připojena LED dioda D2

Virtuální kanály nejsou digitální a ne analogové vstupní / výstupní porty. Při čtení analogových vstupů obdrží uživatel data z 10bitového mikrokontroléru ADC. Hodnoty vrácené ADC jsou v rozsahu 0 ... 1023 a úměrné napětí na tomto vstupu. Jinými slovy, pokud připojujete teplotní čidlo na analogový arduino vstupu, nebudete dostat hodnotu teploty, budou vyžadovány další transformace a matematické výpočty pro převod napětí - teplota napětí.

Pro zjednodušení konverzí dat, formátování a zpracování jsou navrženy virtuální kanály. Jedná se o poměrně výkonný nástroj, který se používá k výměně mezi Arduino a Cayenne, stejně jako pro snadné formátování dat pro účely jejich srozumitelné vizualizace na přístrojové desce. Nezapomeňte, že virtuální kanály nemají fyzické parametry.

Cayenne.Virtualwrite (V1, 123) // Přenos virtuálního kanálu celého čísla V1
Cayenne.Virtualwrite (V2, 12.34) // Přenos s plovoucí čárkou hodnoty Virtuální kanál V2

Například čtením analogového teplotního čidla, budeme moci převést hodnotu ke snížení Celsia a převést tuto hodnotu do řídicího panelu. Virtuální kanály vám navíc umožňují implementovat kontrolu jakéhokoliv periferie připojeného k analogovým nebo digitálním portum Arduino, aniž by bylo nutné napsat jakýkoliv další kód. V tuto chvíli jsou podporovány dva typy dat, se kterým jsou virtuální kanály provozu: celé číslo (celé číslo) a plovoucí bod (float). V budoucnu je plánováno podporovat symbolické typy a pole. Na přístrojové desce na virtuálním kanálu se můžete připojit a konfigurovat typ dat přijatých uživatelským widgetem pro vizualizaci.

// Digitální port, ke kterému budou připojeny senzory DS18B20. Nepoužívejte Arduino 0 a 1 (Rx / TX) porty.
CONST INT DS18B20_PIN \u003d 2;
// Analogový port, ke kterému je termistor připojen.
CONST INT termistorpin \u003d 0;
// Odolnost vůči trvalému odporu (9 com), který je součástí série s termistorem k zemi.
CONST odolnost proti plováku \u003d 9000;
// Autorizační klíč Cayenne. Najdete ji v webovém rozhraní Cayenne na kartě Nastavení zařízení.
Char token \u003d "640c9odi4";
Onewire onewire (ds18b20_pin);
Senzory dallastemperature (& onewire);
Termistorový termistor (termistorpin, odpor);

Podle jeho uvážení téměř v jakémkoli fázi můžete přidat výběr informací ladění do zdrojového kódu do sekvenčního portu.

V sekci Inicializace uveďte následující funkce:

vOID SETUP ()
{
Cayenne.begin (token); // Připojte se k Cayenne se zadaným autorizačním klíčem
Senzory.begin (); // inicializace digitálních teplotních senzorů
U8x8.begin (); // inicializace a zobrazení informací o tisku na displeji OLED

u8x8.SetPowersave (0);
U8x8.SETFONT (U8x8_Font_torussansbold8_r);
U8x8.drawstring (2,0, "Cayenne test");
U8x8.drawString (1,2, "provozovat systém");
}

V hlavním programovém cyklu budeme mít pouze jednu funkci:

voidová smyčka ()
{
Cayenne.run ();
}

Veškerá výměna dat s řídicím panelem Cayenne se provádí pomocí několika funkcí:

Cayenne_in (virtual_pin) - Určuje funkci, která je volána po přijetí zařízení aktualizovaných dat přes virtuální kanál z serveru Cayenne.

Cayenne_out (virtual_pin) - Určuje funkci, která se nazývá, když chcete odeslat aktualizovaná data ze zařízení do serveru Cayenne.

Cayenne_Connected () - Funkce se provádí pokaždé, když je zařízení připojeno k serveru Cayenne. Obecně tato funkce slouží k synchronizaci.

Cayenne.syncall () - Funkce, která generuje požadavek na server Cayenne Server pro synchronizaci všech widgetů. Stav analogových a digitálních portů Arduino bude obnoven a každý virtuální kanál vygeneruje událost CAYENNE_IN.

Cayenne.syncvirtal (virtual_pin) - Synchronizace zadaným virtuálním kanálem. V důsledku provedení se nazývá odpovídající handler Cayenne_in.

V mém diagramu je LED dioda D2 připojena k digitálnímu portu D6 Arduino. Tento port má alternativní funkci - výstup PWM. Chcete-li implementovat dálkové ovládání těchto LED diod v režimu PWM, budeme muset přijímat data z řídicího panelu. Chcete-li to provést, napište funkci, která bude prováděna při aktualizaci dat prostřednictvím virtuálního kanálu V2:

Cayenne_in (v2)
{
// Získejte data na hodnotu PWM z řídicího panelu (posuvník)
int pwmvalue \u003d getValue.asint (); // Hodnota v rozsahu 0 - 1023
Analogwrite (LED2_PWM, pwmvalue / 4); // Pro PWM musí být hodnota v rozsahu 0 - 255
}

Nyní přidáme widget "Posuvník" na přístrojové desce s názvem LED_2 PWM (PWM) a ve svých nastaveních určujeme, že pracuje prostřednictvím virtuálního kanálu 2 (Obrázek 9).

Po stažení skica v desce můžete použít posuvník na řídicím panelu Cayenne Ovládání světelnosti LED diody D2. Všechno je velmi rychlé a snadné ...

Cayenne_out (v0)
{
Senzory.Requesttemperatures (); // Přijímat data z digitálních teplotních senzorů.
// Převést data z termistoru, formátovat je a odešlete je na server přes virtuální kanál V1
Cayenne.celsiuswrite (v1, termistor.getcelius ());
// formát data z digitálního snímače teploty a odešlete je do virtuálního kanálu serveru v0
Cayenne.celsiuswrite (v0, senzory.gettempcbyIndex (0));
}

Prostřednictvím použití virtuálních kanálů se celý funkční kód pro vysílání absolutně různých dat skládá ze dvou řádků. Na přístrojové desce přidejte widgety pro teplotní senzor DS18B20 a termistor (jsou připraveni v ovládacím panelu). Přizpůsobit widgety, načtěte skicu v poplatku a ... Připraveno (obrázky 10a, 10b)!


Obrázek 10. Pohled na řídicí panel Cayenne pro řízení Arduino (teplotní senzory,
Light, LED ovládání D1, PWM LED ovládání D2):

Nezapomeňte, že stejné ovládací a řídicí funkce jsou k dispozici mobilní aplikace. Všechny widgety nainstalované ve webovém rozhraní uvidí v mobilní aplikaci (obrázek 10b).

Vzhled Zařízení s připojenými periferiemi jsou znázorněna na obrázku 11.

Schopnost vyvinout bezdrátová zařízení IOT

Můžete si všimnout, že na některých snímcích obrazovkách je viditelný ovládací panel, kde kromě Arduino UNO a Raspberry PI je zařízení s názvem ESP8266-1. Dobře další zařízení Na známém modulu ESP-12 (ESP8266), který je připojen k serveru Cayenne Wi-Fi a má svou samostatnou řídicí panel (obrázky 12a, 12b). Takové zařízení je bezdrátový regulační a řídicí uzel. Dvě LED diody jsou připojeny k modulu (jeden je připojen k výstupu ESP8266 PWM) a digitální teplotní senzor DS18B20.


Obrázek 12. Dashboard pro bezdrátové zařízení na modulu ESP-12:
a) Webové rozhraní, b) mobilní aplikace.

Díky podpoře jádra ESP8266, prostředí Arduino IDE prostředí, implementace bezdrátových IOT zařízení s Cayenne se neliší od vývoje na Arduino. Jinými slovy, jakýkoliv modul na čipu ESP8266 je Arduino deska s rozhraním Wi-Fi. Pro tento modul Wi-Fi píšeme podobnou skici, používáme stejné knihovny pro práci s senzory, digitální a analogové vstupní / výstupní porty jsou k dispozici. Tento modul nahromadil obrovské množství informací, různé dokumentace a vývoj.

Diagram obvodového připojení k modulu ESP8266 je znázorněno na obrázku 13. Použil jsem samostatný modul ESP-12 bez přechodové desky s integrovaným výkonovým obvodem a programovacím rozhraním, což značně komplikoval práci na stádiu stáhnutí skica. Optimální možností bude použití modulu typu Ready-made NodeDCU V3, který je vyroben v faktoru formuláře Arduino a má schéma odpovídající rozhraní. (Vysoce důležitý okamžik Při programování modulu). Vzhled modulu s připojenými LED diodami a teplotním čidlem je znázorněn na obrázku 14.

Pokud jde o připojení k serveru Cayenne a výměnu dat, vše je zde pro Arduino. Všechny koncepty virtuálních kanálů jsou uloženy, používají se stejné funkce, používá se také jedinečný autorizační klíč. Rozdíl pouze ve fázi připojení modulu na internet.

Pro připojení zařízení na modulu ESP8266 působíme analogicky k přidání jakékoli arduino desky a reagujeme na pohotovostní režim pro připojení zařízení k Cayenne, kde bude generována minimální skica.

Musíme změnit tuto skici. Připojujeme následující knihovny:

#Include "cayennedefines.h" // konstanty a proměnné cayenne
#include "bllynksimpleesp8266.h" // funkce pro práci s ESP8266
#include "cayennewifeLient.h" // funkce pro implementaci klienta Wi-Fi

char token \u003d "3yj62u9ogi";
Char ssid \u003d "network_ssid"; // SSID a heslo pro síť Wi-Fi.
Char heslo \u003d "network_password";

V části Inicializace přidejte řetězec:

Cayenne.begin (token, SSID, heslo);

Kompilace zatížením do modulu (trvá déle než stahování na tabuli ARDUINO), těšíme se na připojení a aktivaci nového zařízení v řídicím panelu Cayenne. Dále, všechny jako pro Arduino: Přidat funkce do práce s senzory a I / O porty, přidat widgety do řídicího panelu. Jen nádherný, není to?!

Závěr

Podle výsledků práce s Cayenne na Raspberry PI a Arduino mohu určitě říci, že malina PI by neměl být používán k vývoji internetových zařízeních věcí, a to i s Cayenne. Co neříká o Arduino - navzdory omezeným zdrojům, nedostatek multitaskingu, nízkého výpočetní síle (I když se jedná o sporný okamžik, vzhledem k charakteristikám nových arduino desek na procesorech ramene), je ideální pro rozvoj jednoduchého IOT Zařízení a domácí automatizační systémy.

Kromě toho, v této souvislosti, hlavní výhodou Arduino, jak jsem si všiml výše, je schopnost nezávisle vyvíjet zařízení, studovat obvody, psaní kódu, rozvoj programovacích dovedností, navzdory argumentům profesionálních programátorů, které nelze naučit z Arduino. Možná, ale ... ve vztahu k Arduino, Cayenne platforma poskytuje pouze grafiku uživatelské rozhraní A některé zjednodušené zpracování dat. Všechno zbytek se musíte rozvíjet, včetně primárních zpracování dat ze senzorů, podsystém zpracování událostí, stejně jako algoritmy automatizace. Nyní přidejte do Arduino Snadné rozvoji zařízení pro bezdrátové IOT do modulu Wi-Fi modulu ESP8266 a již oficiální podpora (i když není úplný) nejnovější čip ESP32, který má bohatou periferii na palubě, a máte obrovské příležitosti k rozvoji zásadně nových zařízení a máte obrovské příležitosti. Přilákání tohoto procesu je nejen milenci, ale také profesionály.

V době přípravy nebyla Cayenne hlášena na oficiální podpoře modulů na čipu ESP8266. Zpočátku se jedná o zásluhy Společenství - amatéry a inženýrů, kteří pracují nebo používají Arduino IDE a víte o podpoře ESP8266, s využitím knihoven Cayenne byly schopny připojit a používat ESP8266. Ale i v té době, Cayenneho komunitní fóra by již mohla být obeznámena velké množství Různé projekty zařízení bezdrátových IOT.

Po dlouhém testování jeho zařízení na Arduino a ESP8266 mohu říci, že tato práce funguje velmi stabilní. Několik nízké spolehlivosti Arduino s ethernetovým štítem je způsobeno slavný problém W5100 Controller visí však několik způsobů, jak jej vyřešit, hardware i software. Mohu předpokládat, že se to netýká arduino desek s integrovaným ethernetem nebo Wi-Fi.

Od okamžiku přípravy článku na Malinové PI a Cayenne nebyl moc času, ale nové funkce a podporované periferie se staly mnohem větší. Kromě toho, že má obrovský výběr různých prodloužených desek, senzorů a výkonných zařízení, příslušných knihoven, projektů a příkladů pro ARDUINO, nyní v uživatelích Cayenne, jsou k dispozici zařízení, sítí a služby LORA, podpůrné knihovny síťový protokol MQTT pro Arduino, C, C ++, MED, knihovny pro práci s MQTT Broker Mosquito. Rozvíjely rozvíjet internetové zařízení a domácí automatizační systémy na Arduino, doporučil bych služby Cayenne.

Dříve jsem byl představen kolo, abych vytvořil arduino zařízení pro monitorování.

Bylo to zajímavé.

/ * - Nový projekt - Tento zdrojový kód grafického uživatelského rozhraní bylo generováno automaticky remotexy editorem. Chcete-li tento kód zkompilovat pomocí knihovny Remotexy 2.3.5 nebo novější verzí Stáhnout podle odkazu http://remotexy.com/en/Library/ Připojit pomocí aplikace Remotexy Mobile App podle odkazu http://remotexy.com/en/download/ - pro Android 4.3.1 nebo novější verze; - pro IOS 1.3.5 nebo novější verzi; Tento zdrojový kód je svobodný software; Můžete ji přerozdělit a / nebo jej upravit podle podmínek GNU menší veřejné veřejné veřejné veřejné veřejné veřejné veřejné veřejné licence, jak je publikováno volným softwarem Foundation; Buď verze 2.1 licence nebo (ve vaší volbě) libovolnou novější verzi. * ///////////////////////////////////// // // Remotexy zahrnout knihovnu // /// ////////////////////////////////////////// // // Definice spojení režim a připojení remotexy #define remotexy_mode__sp8266_mode__sp8266_mode__sp8266_hardservial_cloud #include // Nastavení připojení #define Remotexy_Serial Serial #define Remotexy_Serial_Speed \u200b\u200b9600 #DEFINE REMOTEXY_WIFI_SSID "************" #define remotexy_wifi_password "*********" #define Remotexy_Cloud_Server "Cloud. remotexy .com "#define remotexy_cloud_port 6376 #define Remotexy_Cloud_Token" ************************** „#include // přidat knihovnu DHT11 DHT11 DHT; Oznámení o variabilní třídě DHT11 #define DHT11_PIN 7 // Senzor DHT11 je připojen k digitální borovice číslo 4 CONST INT analogSignal \u003d A3; // Připojte analogové signalizační pin Const Int DigitalSignal \u003d 8; // propojení digitální signalizace pina boolean nogas; // proměnná pro ukládání hodnoty přítomnosti plynu int plyn \u003d 0; // proměnná pro skladování množství plováku plováku hučení \u003d 0; // proměnná pro skladování vlhkosti plavání temp \u003d 0; // proměnná pro skladování teploty int CHK; // proměnná pro ukládání chyby dht char msgbuffer; // Konfigurace rozhraní #PRAGMA balení (push, 1) uint8_t remotexy_conf \u003d (255,1,0,24,0,74,0,8,13,2, 2,0,38,44,22,11,8, 81,22,11, 2,26,31,31,79,78,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,26,5,20, 5.38,23,20,52,26,11,67, 4, 63,6,20, 5,39,52,20,5,26, 11); // Struktura určuje všechny proměnné řídicího rozhraní sestavy (// vstupní proměnná Uint8_T spínač_1; // \u003d 1, pokud je spínač zapnutý a \u003d 0, pokud je zakázáno // Výstupní proměnná INT8_T LEVEL_1; // \u003d 0..100) INT8_T pozice Level_2 úrovni; poloha / / \u003d 0..100 úroveň CHAR text_1; // \u003d řádek UTF8 ukončení nulový char text_2; // \u003d řádek UTF8 ukončení nula // další proměnné UINT8_T Connect_Flag; // \u003d 1, jestliže vodič připojený, jinak \u003d 0) Remotexie; #Pragma Pack (POP) /////////////////////////////////////// // END REMOTEXY ZAHRNUJE // ///////////////////////////////////// // // /// # define pin_switch_1 13 void setup () (remotexy_init (); pinmode (pin_switch_1, výstup); // TODO nastavíte code) void loop () (remotexy_handler (); DigitalWrite (pin_switch_1 (remotexy.switch_1 \u003d\u003d 0) Low: High); nogas \u003d DigitalRead (DigitalSignal); // Číst přítomnost GAS \u003d Analogread (AnalogSignal); // a o jeho množství CHK \u003d DHT.READ (DHT11_PIN); HUM \u003d DHT.Humidity; Teplota \u003d DHT.temperature; remotexy.level_1 \u003d hum, remotexy.level_2 \u003d teplota, dtostrf (Hum, 6, 2, Remotexy.text_1), dtostrf (teplota, 6, 2, remotexy.text_2); // Todo smyčka kód / / Použijte Remotexy konstrukce pro přenos dat )

Používáme sendvič z desek.

Najednou, všechno okamžitě vydělalo:

Od okamžiku objevování cloudové služby, Remotexy na fotografii výše prošel hodinu.

Vlastnosti práce s Remotexy.

1. Všechno je velmi jednoduché. Je to dobré. S Blynkem a Cayenne, například, sotva od nuly za hodinu se ukáže pochopit. Chcete-li použít například "Kcada Cloud", musíte si koupit speciální.

2. Na straně serveru nejsou žádné zpracování a ukládání dat: žádné připojení s deskou - aplikace visí "bez spojení".

3. ZDARMA pouze 5 návrhových prvků, ale aplikace Pro není dražší než polovina času.

4. Existuje příležitost z jedné aplikace komunikovat s deskou jak přes cloudový server a přímo. Pravda, ne ve stejnou dobu. Samozřejmě. A přepínač okamžitě nemožné - musíte změnit náčrtek v desce. Existuje také možnost komunikovat smartphone s Bluetooth a USB deskou.