- Необходими компоненти
- Електрическа схема
- Настройка на Thinger.io за регистратор на температура ESP8266
- IFTTT настройка за NodeMCU Data Logger
- Програмиране на NodeMCU за регистриране на данни
- Данни за регистриране на Thinger.io от NodeMCU
- Създаване на крайна точка в Thinger.io за изпращане на предупреждение по имейл
Преди това използвахме NodeMCU за регистриране на данните за температурата в листа на Google. Сега тук ще изпратим данни до облака Thinger.io IoT и ще ги покажем в привлекателен графичен формат. Сензор BMP180 е свързан с NodeMCU ESP8266 за събиране на данни за температурата, влажността и надморската височина, които ще бъдат изпратени на платформата Thinger.io. В този урок ще научим как да управляваме различни функции на платформата thinger.io, като устройства, крайни точки, сегменти с данни или маркери за достъп.
Необходими компоненти
- NodeMCU ESP8266
- BMP180 Сензор за налягане
- Джъмперни проводници
- Макет
Електрическа схема
Схемата на веригата за този регистратор на данни ESP8266 е много ясна, тук само сензорът BMP180 е свързан с NodeMCU.
Сензорът BMP180 използва протокола за комуникация I2C. Така че трябва да свържете SCL и SDA щифтовете на BMP180 към SCL и SDA щифтовете (D1 и D2) на NodeMCU. Също така свържете щифта V IN и GND на BMP180 към 3.3V и GND на NodeMCU. Не свързвайте сензора директно към 5V, защото това може да повреди трайно сензора.
За да научите повече за NodeMCU, проверете различни IoT проекти, базирани на NodeMCU ESP8266.
Настройка на Thinger.io за регистратор на температура ESP8266
Thinger.io е платформа с отворен код за Интернет на нещата. Той предоставя всеки необходим инструмент за прототипиране, мащабиране и управление на свързани продукти по много прост начин. Thinger.io предлага три основни инструмента, т.е. Data Bucks, Dashboard и Endpoint за работа с данни от устройства; тези инструменти могат да се използват за визуализиране на данните на устройството и разширяване на оперативната съвместимост на устройствата.
Data Bucks: Инструментът Bucks за данни може да се използва за съхраняване на данни на устройството по мащабируем начин, програмиране на различни интервали за вземане на проби или запис на събития, предизвикани от устройства.
Табло за управление: Инструментът на таблото за управление има някои панели с персонализируеми приспособления, които могат да бъдат създадени в рамките на минути с помощта на технологията плъзгане и пускане, за да визуализират в реално време и съхранените данни.
Крайни точки: Крайните точки могат да се използват за интегриране на платформата с други услуги като IFTTT, персонализирани уеб услуги, имейли или обаждане на други устройства.
В това регистриране на ESP8266 ще разгледаме тези инструменти.
За да изпратите данни до Thinger.io, трябва да създадете безплатен акаунт в платформата Thinger.io и да следвате стъпките по-долу, за да свържете вашето устройство.
Стъпка 1: Първата стъпка е да създадете ново устройство. За да създадете ново устройство, щракнете върху Устройства в раздела на менюто и след това щракнете върху бутона Добавяне на устройство.
След това попълнете формуляра с идентификатора на устройството, описанието и идентификационните данни или генерирайте произволни идентификационни данни за вашето устройство и кликнете върху „ Добавяне на устройство“ .
Това е всичко; вашето устройство е готово за свързване. В следващата стъпка ще програмираме NodeMCU да изпраща данните до платформата Thinger.io.
IFTTT настройка за NodeMCU Data Logger
Тук използваме IFTTT за изпращане на предупреждения по имейл, когато температурата надхвърли ограничението. IFTTT (If This then That) е уеб-базирана услуга, чрез която можем да създадем вериги от условни оператори, наречени аплети. Използвайки тези аплети, можем да изпращаме известия по имейли, Twitter, Facebook.
За да използвате IFTTT, влезте в акаунта в IFTTT, ако вече имате такъв или създайте акаунт.
Сега потърсете „ Webhooks “ и кликнете върху Webhooks в раздела Services.
След това, в прозореца Webhooks, кликнете върху „Документация“ в горния десен ъгъл, за да получите частния ключ. Копирайте този ключ, този ключ ще се използва при създаване на Крайна точка в Thinger.io.
След това създайте аплет, използвайки Webhooks и Email услуги . За да създадете аплет, щракнете върху вашия профил и след това върху „ Създаване. '
Сега в следващия прозорец кликнете върху иконата „ Това “. Сега потърсете Webhooks в раздела за търсене и кликнете върху „ Webhooks“ .
Сега изберете задействане „ Получаване на уеб заявка“ и въведете името на събитието като температура и след това кликнете върху създаване на задействане.
След това кликнете върху „ Тогава това“ и след това върху имейл.
Сега в имейл кликнете върху „изпрати ми имейл“ и въведете темата и тялото на имейла и след това щракнете върху създаване на действие. В последната стъпка кликнете върху „ Готово “, за да завършите настройката на аплета.
Програмиране на NodeMCU за регистриране на данни
Пълният код за изпращане на данни до Thinger.io е даден в края на страницата. Тук обясняваме някои важни части.
Стартирайте кода, като включите всички необходими библиотеки. В ThingerESP8266.h се използва за установяване на връзка между платформата на интернет на нещата и NodeMCU докато Adafruit_BMP085.h се използва за четене на BMP сензор данни. Можете да инсталирате библиотеката ThingerESP8266.h от диспечера на библиотеки на Arduino IDEs.
#include
След това въведете идентификационни данни в кода, за да може устройството да бъде разпознато и свързано с вашия акаунт.
#define USERNAME "Вашето потребителско име" #define DEVICE_ID "NodeMCU" // Име на вашето устройство #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
След това въведете името на вашата крайна точка. Крайната точка се използва за интегриране на платформата с външни услуги като IFTTT, HTTTP заявка и др.
#define EMAIL_ENDPOINT "IFTTT"
Дефинирайте променливите, за да съхранявате данните за налягането, температурата и надморската височина.
int налягане, температура, надморска височина;
Прочетете данните на сензора във вътрешността на кухината () . В pson тип данни може да побере различни типове данни. Така че типът данни Pson се използва за получаване на множество стойности едновременно.
нещо >> (pson & out) {out = bmp.readPressure () / 100; out = bmp.readAltitude (); out = bmp.readTemperature (); };
Използвайте условието if, за да извикате Крайна точка, ако стойността на температурата надхвърли 15 градуса. Тук данните са името на крайната точка.
if (Температура> 15) {thing.call_endpoint (EMAIL_ENDPOINT, "data");} Serial.print ("Изпращане на данни");
Данни за регистриране на Thinger.io от NodeMCU
Сега свържете BMP сензора към NodeMCU и качете кода. NodeMCU ще използва идентификационните данни за вашия акаунт, за да се свърже с устройството, което сте създали по-рано. Ако се свърже успешно, ще се покаже свързан, както е показано на изображението по-долу:
Можете да проверите статистиката на вашето устройство като Предадени данни, Получени данни, IP адрес, Време на връзка и т.н., като просто щракнете върху името на устройството от менюто Устройства.
Тъй като сега получаваме данните, ще създадем табло за визуализиране на данните с помощта на приспособленията.
За да създадете табло за управление, щракнете върху Табла за управление от раздела на менюто и след това върху „ Добавяне на табло за управление“ .
Сега в следващия прозорец въведете подробности за таблото като име на таблото, идентификатор и описание и след това кликнете върху Табло за управление.
След това отворете новото табло, като кликнете върху името на таблото. По подразбиране таблото за управление ще изглежда празно. За да добавите приспособленията, първо трябва да активирате режима за редактиране, като кликнете върху горния десен превключвател на таблото. След това кликнете върху бутона „ Добавяне на приспособление“ .
Когато кликнете върху бутона „ Добавяне на приспособление “ , ще се покаже изскачащ прозорец, където можете да изберете типа на приспособлението, цвета на фона и т.н. В моя случай съм избрал приспособлението за измерване.
Когато кликнете върху запазване, ще ви отведе до следващия екран, където трябва да изберете режим Източник, Устройство, Ресурс, Стойност и Опресняване. Изберете всички стойности и след това кликнете върху бутона Запазване.
Сега повторете същата процедура за останалите променливи. Таблото ми за управление изглеждаше така:
Създаване на крайна точка в Thinger.io за изпращане на предупреждение по имейл
Сега ще създадем Крайна точка за интегриране на Thinger.io с IFTTT. Устройството може да извика крайна точка, за да извърши някакво действие, като изпращане на имейл, изпращане на SMS, обаждане на REST API, взаимодействие с IFTTT, обаждане на устройство от друг акаунт или обаждане на друга HTTP крайна точка.
За да създадете крайна точка, кликнете върху опцията „Крайна точка“ от разделите на менюто и след това върху „Добавяне на крайна точка“.
Сега в следващия прозорец въведете необходимите подробности. Подробностите са:
Идентификатор на крайна точка: Уникален идентификатор за вашата крайна точка.
Описание на крайната точка: Напишете описание или подробна информация за вашата крайна точка.
Тип на крайната точка: Изберете типа на крайната точка от дадените опции.
Maker Event Name: Въведете името на вашия IFTTT аплет.
Maker Channel Key: Вашият таен ключ за Webhooks.
След това кликнете върху Test Endpoint, за да проверите дали всичко работи. Той трябва да ви изпрати имейл с предупреждение за данните за температурата.
Вместо да използвате IFTTT Webhook Trigger, можете да изпратите имейл или телеграмно съобщение или да изпратите HTTP заявка, използвайки функциите на крайната точка.
Ето как NodeMCU ESP8266 може да се използва за регистриране на данни за температура, налягане и надморска височина от сензора BMP180 в интернет.
Работещо видео и пълен код са дадени в края на страницата.