Arduino басқаруға арналған бұлттық қызметтер. myDevices Cayenne сервисінің көмегімен Arduino-да IoT құрылғыларын әзірлеу

ESPers - жыпылықтаушылар қатарына қосылыңыз!
Бүгін біз ESP8266 басқаруын смартфоннан (iOS немесе Android) 5 минут ішінде Blink жаңа бұлттық қызметін пайдаланып орнатамыз. Бейне және кесу астындағы мәліметтер.


Смартфонға Blynk қолданбасын орнатыңыз

Қолданбаға тіркеліп, жаңа жоба жасаңыз.

Мысалы, жоба атын енгізіңіз ESP8266. Алаңда Аппараттық модельтаңдаңыз ESP8266. (қолдау көрсетілетін жабдықтың әсерлі тізімін байқайсыз деп үміттенемін) Автоматты түрде жасалған Авторлық белгіпошта жәшігіңізге жіберіңіз.

Түймені басқаннан кейін Жасау ESP8266 басқару тақтасының пайдаланушы интерфейсін жобалауға арналған бос өріске қол жеткізе аласыз.

Жоғарғы оң жақтағы плюс белгісін басыңыз - құралдар тақтасы пайда болады Виджет қорабыбақылау тақтасына виджеттерді қосу үшін. Айта кету керек, виджеттердің тізімі одан әрі өсе береді.

Сынақ үшін виджет түрін таңдаңыз Түйме— бұл виджет бірден сіздің панеліңізге қосылады. Оны бір түрту арқылы өңдеңіз. Атын толтырудың қажеті жоқ, оң жақтағы өрісте индикатордың түсін таңдауға болады. ШЫҒУ PINоң жақтан таңдаңыз Сандық, ал сол жақта кез келген бос түйреуіш бар GPIO. Төменде түйме түрін ауыстырыңыз Ауыстыру.

Содан кейін Arduino IDE-де Blynk кітапханасын орнатыңыз. Бұл үшін сізге ресми нұсқаулар көмектеседі. Сондай-ақ кітапхананың соңғы нұсқасын тікелей репозиторийден алып, оны қолмен орнатуға болады. Әрі қарай, мысалды таңдаңыз ESP8266_Стандалонжәне оған жазыңыз Авторлық белгібіз пошта арқылы алғанбыз, SSID және құпия сөзсіздің WiFi желіңіз. Эскизді ESP8266 құрылғысына құрастырыңыз және жүктеңіз.

Ескі күндерді еске түсірсек, Wire кітапханасы әлі өңделмеген кезде, Arduino платформасы кейбір аппараттық құралдары бар микроконтроллер ғана болды. Қазір бізде бір тақталы компьютерлер және ESP32 сияқты кірістірілген Wi-Fi бар арзан микроконтроллерлер бар. Дегенмен, ендірілген жүйелерді бағдарламалау мен әзірлеуді қол жетімді ету және бүгінгі күні қол жетімді жүздеген құрылғылар арасында кеңінен қолдау көрсету қажеттілігі әрқашан бар.



Сонымен, жақында Embedded Linux конференциясында Arduino негізін қалаушы Массимо Банци бұлт тұжырымдамасына Arduino-ның жауабы қандай болатынын жариялады - онлайн әзірлеу ортасы және қосылған құрылғылардың кең экожүйесі. Мұның бәрі Arduino Create деп аталады және кез келген әзірлеушіге ендірілген жүйелер жобаларын жасауға және оларды қашықтан басқаруға мүмкіндік беретін онлайн IDE болып табылады.


Массимо презентациясында көрсетілгендей, Arduino Create бағдарламасының негізгі идеясы қосылған құрылғыларды Интернетке шығару және қашықтан бағдарламалауды және эфирлік микробағдарламаны қосу болып табылады. Бұл Arduino экожүйесі болғандықтан, жүздеген әртүрлі платформалар үшін қолжетімді болуы үшін көптеген кітапханалар пайдаланылды. Қазіргі уақытта көптеген тақталарға, соның ішінде Raspberry Pi, BeagleBone және бірнеше Intel IoT тақталарына қолдау көрсетіледі.


Бұл дамудың негізгі бағыты платформаның тәуелсіздігі болып табылады және толығымен дерлік пайдаланудың қарапайымдылығы мен өзара әрекеттесуіне бағытталған. Бұл бес жыл бұрынғы Arduino экожүйесінен айтарлықтай өзгеріс, мысалы, Arduino тақталары негізінен ATmega328p микроконтроллерлеріне негізделген кезде. Бірнеше жылдан кейін Arduino эскиздерін ATtiny85 микроконтроллерлеріне бағдарламалау және жазу мүмкін болды. Содан бері көп нәрсе өзгерді. Қазір бізде Raspberry Pi бар, Intel заттар нарығында өз атын шығарды және бізде миллиондаған процессорға негізделген тақталар мен смартфондарға арналған жүйелік чиптер (SoC) бар.


Басқа компаниялар мен ұйымдар Raspberry Pi және басқа да бір борттық компьютерлер үшін онлайн ортаға өз үлесін қосқанымен, Массимо Банзи ұсынған нәрсе, сайып келгенде, Arduino ұйымының жағымды және мағыналы өзгерісі болып табылады.


Массимо Банзидің өнерін көргісі келетіндерге бейнеролик ұсынылады.

RemoteXY бұлттық сервері арқылы қосылу құрылғыны Интернетке кіру мүмкіндігі бар әлемнің кез келген жерінен басқаруға мүмкіндік береді.

ESP8266 модулі WiFi кіру нүктесіне қосылу үшін клиент ретінде конфигурацияланады. Кіру нүктесінде Интернетке кіру мүмкіндігі болуы керек. RemoteXY кітапханасы құрылғының бұлттық серверде тіркелгенін қамтамасыз етеді.

Мобильді қолданба құрылғыға тікелей емес, бұлттық серверге қосылады. Осылайша, құрылғы Интернеттің кез келген жерінен қол жетімді болады.

Ескерту:Қазіргі уақытта бұлттық сервер арқылы қосылу сынақтан өтуде. Бұл сервер жұмысында үзілістерге әкелуі мүмкін.

1-қадам: GUI жобасын жасаңыз

5-қадам: ESP8266 орнатыңыз

ESP8266 модуліне конфигурация қажет. Мүмкін сіздің модульде әдепкі бойынша қажетті параметрлер бар, бірақ мұны тексерген дұрыс.

Тексерілетін нәрселер:

  • Модульде v0.40 төмен емес AT пәрмендері нұсқасын қолдайтын микробағдарлама бар;
  • Модуль 115200 жұмыс жылдамдығына конфигурацияланған.

6-қадам: ESP8266-ны Arduino Uno-ға қосыңыз

Төмендегі диаграммаға сәйкес ESP8266 құрылғысын Arduino Uno құрылғысына қосыңыз. RX-TX түйреуіштері қиғаш сызықпен қосылғанын ескеріңіз.

ESP8266 модулінің сигнал деңгейлері 3,3 В және Arduino 5 В болғандықтан, сигнал деңгейін түрлендіру үшін резистивті кернеу бөлгішті пайдалану қажет.


7-қадам: Эскизді Arduino-ға жүктеңіз.

Эскиз Arduino-ға әдеттегідей жүктеледі. Дегенмен, ESP8266 модулі 0 және 1 түйреуіштерге қосылғандықтан, бағдарламалау мүмкін болмайды. Компилятор қатені көрсетеді.

Бағдарламалау алдында ESP8266 құрылғысына баратын сымдарды 0 және 1 түйреуіштерден ажыратыңыз. Бағдарламалауды орындаңыз. Содан кейін контактілерді орнына қойыңыз. Arduino қалпына келтіру түймесін басыңыз.

Ескерту:Бағдарламалау сәтті болғанының бірінші белгісі - қалпына келтіруден кейін бірден жыпылықтайтын ESP8266 модуліндегі көк жарық диоды. Көк жарық диодты жыпылықтау Arduino мен ESP8266 арасында деректер алмасуды білдіреді. Осы жарты секунд ішінде Arduino кіру нүктесіне қосылу үшін ESP8266 конфигурациялайды. Біраз уақыттан кейін жарық диоды қайтадан жыпылықтайды, бұл RemoteXY бұлттық серверінде тіркелу әрекетін білдіреді.

8-қадам: Мобильді қолданбадан қосылыңыз.

ESP8266 қуат көзін тексеріңіз

Сондай-ақ ESP8266 құрылғысында қуат көзінен қуат жеткіліксіз болуы мүмкін. Кейбір Arduino тақталарында 3,3 В әлсіз кернеу реттегіші бар, ол ең жоғары режимдерде 200-300 мА жеткізуге қабілетсіз. Бұл жағдайда Сериялық мониторда командалар тізбегіндегі үзілістерді де көресіз.

Өткен жылы Microsoft смарт құрылғылар мен интеграцияланған электрониканы басқаруға арналған бұлтты серверді жариялады. Azure IoT Hub бағдарламасы ең аз бағдарламалаумен құрылғылар арасында байланысты орнатуға және оны Azure негізіндегі жобаларыңызға біріктіруге мүмкіндік береді. Мұның қалай жұмыс істейтінін көру үшін біз қарапайым тапсырманы қарастырамыз - Arduino контроллеріне қосылған сенсордан бұлтқа көрсеткіштерді жіберу.

Сонымен, бізде қарапайым құрылғы бар. Ол контроллерден, шағын тақтайшадан, фоторезистордан (жарық сенсорынан) және тұрақтандырғыш резистордан тұрады. Контроллер - кірістірілген Wi-Fi бар Genuino MKR1000 - егер сіз бірдей алғыңыз келсе, ол 35 доллар тұрады. Тақта micro-USB арқылы қуат алады.


Негізінде кез келген сенсорды орнатуға болады - бұл біздің болашақ жоспарларымызға ешқандай әсер етпейді. Төмендегі суретте біздің құрылғы бұлтпен байланысатын диаграмма көрсетілген.



Құрылғы деректерді IoT хабына жібереді, онда Stream Analytics қызметі арқылы өткеннен кейін ол дерекқорға кіреді және Power BI көмегімен өңделеді. Біз бұл нәрселердің барлығын сәл кейінірек қарастырамыз, бірақ әзірге негізгілерден бастайық.

АҚПАРАТ

Мақаланың соңында алынған жобаның көздері бар. Егер сіз ұқсас нәрсені жасауды жоспарласаңыз, оларды тексеруді ұмытпаңыз.

IoT Hub ресми түрде орыс тіліне «Интернет заттар орталығы» деп аударылады. Ол құрылғылардан деректерді қабылдай алады және оларға хабарламалар немесе пәрмендер жібере алады.

IoT хабынан басқа, Event Hub деп аталатын басқа қызмет құрылғылармен өзара әрекеттесе алады. Оның өткізу қабілеттілігі жоғары, бірақ хабарламаларды тек бір бағытта – құрылғыдан бұлтқа жібереді. IoT хабы MQTT, WebSocket арқылы MQTT, AMQP, WebSocket және HTTP арқылы AMQP сияқты протоколдарды қолдайды. Event Hub WebSocket және HTTP арқылы AMQP, AMQP қолдайды. Хабтар арасындағы айырмашылық және оларды бірге пайдалану жолы туралы толығырақ Microsoft веб-сайтында оқи аласыз. Біз IoT хабын зерттейміз (ол қызықырақ).

Бұрын мен бақылауға арналған Arduino құрылғысын жасау дөңгелегін қайта ойлап таптым.

Қызық болды.

/* -- Жаңа жоба -- Бұл графикалық пайдаланушы интерфейсінің бастапқы коды RemoteXY редакторымен автоматты түрде жасалған. Бұл кодты RemoteXY кітапханасының 2.3.5 немесе одан кейінгі нұсқасын пайдаланып құрастыру үшін http://remotexy.com/en/library/ сілтеме арқылы жүктеп алыңыз RemoteXY мобильді қолданбасын пайдаланып қосылу үшін http://remotexy.com/en/download/ - үшін ANDROID 4.3.1 немесе одан кейінгі нұсқасы; - iOS 1.3.5 немесе одан кейінгі нұсқасы үшін; Бұл бастапқы код тегін бағдарламалық құрал болып табылады; Сіз оны Free Software Foundation жариялаған GNU Lesser General Public License шарттары бойынша қайта тарата аласыз және/немесе өзгерте аласыз; Лицензияның 2.1 нұсқасы немесе (сіздің таңдауыңыз бойынша) кез келген кейінгі нұсқасы. */ ////////////////////////////////////////// // RemoteXY кітапхананы қамту //////////////////////////////////////////// // қосылу режимін анықтау және RemoteXY кітапханасын қоса #define REMOTEXY_MODE__ESP8266_HARDSERIAL_CLOUD #include // қосылым параметрлері #REMOTEXY_SERIAL сериясын анықтау #REMOTEXY_SERIAL_SPEED 9600 анықтау #REMOTEXY_WIFI_SSID анықтау "**********" #REMOTEXY_WIFI_PASSWORD анықтау "**********" #REMOTEXY_SERIAL_SPEED 9600 анықтау. .com" #define REMOTEXY_CLOUD_PORT 6376 #REMOTEXY_CLOUD_TOKEN анықтау "************************" #қосу // DHT11 кітапханасын қосу dht11 DHT; // dht11 класс айнымалысын жариялау #define DHT11_PIN 7 // DHT11 сенсоры №4 сандық пинге қосылған const int analogSignal = A3; //аналогтық сигналды қосу const int digitalSignal = 8; //сандық сигналды қосу логикалық noGas; //газ қатысуының мәнін сақтауға арналған айнымалы int gaz = 0; //газ флоатының шамасын сақтауға арналған айнымалы = 0; //ылғалдылықты сақтауға арналған айнымалы температура = 0; //температураны сақтауға арналған айнымалы int chk; //қатені сақтауға арналған айнымалы DHT char msgBuffer; // интерфейс конфигурациясы #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); // құрылым басқару интерфейсі құрылымының барлық айнымалы мәндерін анықтайды ( // uint8_t switch_1 кіріс айнымалысы; // қосқыш қосулы болса =1 және өшірілген болса =0 // int8_t level_1 шығыс айнымалысы; // =0..100 деңгейі position int8_t level_2; / / =0..100 level позиция char text_1; // = нөлмен аяқталатын UTF8 жолы // = басқа uint8_t connect_flag айнымалысы; else =0 ) RemoteXY; #прагма жинағы(поп) ////////////////////////////////////////// / END RemoteXY мыналарды қамтиды /////////////////////////////////////////// #define PIN_SWITCH_1 13 void setup() ( RemoteXY_Init (); pinMode (PIN_SWITCH_1, OUTPUT); // DODO орнату коды ) void loop() ( RemoteXY_Handler (); digitalWrite(PIN_SWITCH_1) (Remote_SWITCH_1) :NOGas = digitalRead(digitalSignal); .level_2 = temp / деректерді тасымалдау үшін RemoteXY құрылымын пайдаланыңыз)

Біз тақтай сэндвичін қолданамыз.

Күтпеген жерден бәрі бірден жұмыс істеді:

RemoteXY бұлттық қызметінің ашылуынан жоғарыдағы фотосуретке дейін бір сағат өтті.

RemoteXY-мен жұмыс істеу ерекшеліктері.

1. Барлығы өте қарапайым. Бұл өзінше жақсы. Мысалы, Blynk және Cayenne көмегімен оны бір сағат ішінде нөлден бастап анықтау екіталай. Мысалы, «KaScada Cloud» пайдалану үшін арнайы құрылғы сатып алу қажет.

2. Сервер жағында деректерді өңдеу және сақтау жоқ: тақтамен байланыс жоқ - қолданба «Байланыс жоқ» дегенді көрсетеді.

3. Тек 5 дизайн элементі тегін, бірақ PRO қолданбасы жұмсалған уақыттың жарты күнінен аспайды.

4. Тақтамен бір қолданбадан бұлттық сервер арқылы да, тікелей де байланысуға болады. Бір мезгілде емес, әрине. Жылдам ауысу мүмкін емес - тақтадағы эскизді өзгерту керек. Сондай-ақ смартфон мен плата арасында Bluetooth және USB арқылы байланысуға болады.