- Потрібні компоненти
- Кругова діаграма
- Налаштування Thinger.io для реєстратора температури ESP8266
- Налаштування IFTTT для реєстратора даних NodeMCU
- Програмування 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,3 В і GND NodeMCU. Не підключайте датчик безпосередньо до напруги 5 В, оскільки це може остаточно пошкодити датчик.
Щоб дізнатись більше про NodeMCU, перегляньте різні проекти IoT на основі NodeMCU ESP8266.
Налаштування Thinger.io для реєстратора температури ESP8266
Thinger.io - це платформа з відкритим кодом для Інтернету речей. Він забезпечує всі необхідні інструменти для створення прототипів, масштабування та управління підключеними продуктами дуже простим способом. Thinger.io пропонує три основні інструменти, тобто зниження даних, інформаційну панель та кінцеву точку для роботи з даними пристроїв; ці інструменти можуть бути використані для візуалізації даних пристрою та розширення взаємодії пристроїв.
Data Bucks: Інструмент Bucks Data може використовуватися для масштабованого зберігання даних пристрою, програмування різних інтервалів дискретизації або запису подій, викликаних пристроями.
Інформаційна панель: Інструмент інформаційної панелі має кілька панелей із настроюваними віджетами, які можна створити за лічені хвилини за допомогою технології перетягування та опускання для візуалізації даних у реальному часі та збережених даних.
Кінцеві точки: Кінцеві точки можна використовувати для інтеграції платформи з іншими службами, такими як IFTTT, користувацькі веб-служби, електронні листи або виклик інших пристроїв.
У цьому журналі ESP8266 ми збираємось вивчити ці інструменти.
Щоб надіслати дані на Thinger.io, вам потрібно створити безкоштовний обліковий запис на платформі Thinger.io і виконати наведені нижче дії для підключення пристрою.
Крок 1: Першим кроком є створення нового пристрою. Щоб створити новий пристрій, натисніть вкладку « Пристрої» на вкладці меню, а потім натисніть кнопку « Додати пристрій ».
Потім заповніть форму з ідентифікатором пристрою, описом та обліковими даними або створіть випадкові дані для свого пристрою та натисніть « Додати пристрій» .
Це все; Ваш пристрій готовий до підключення. На наступному кроці ми запрограмуємо NodeMCU для надсилання даних на платформу Thinger.io.
Налаштування IFTTT для реєстратора даних NodeMCU
Тут ми використовуємо IFTTT для надсилання попереджень електронною поштою, коли температура перевищує межу. IFTTT (If This Then That) - це веб-служба, за допомогою якої ми можемо створювати ланцюжки умовних операторів, які називаються аплетами. Використовуючи ці аплети, ми можемо надсилати сповіщення електронною поштою, Twitter, Facebook.
Щоб використовувати IFTTT, увійдіть до облікового запису IFTTT, якщо у вас вже є, або створіть обліковий запис.
Тепер знайдіть " Webhooks " і натисніть на Webhooks в розділі Services.
Потім у вікні Webhooks натисніть «Документація» у верхньому правому куті, щоб отримати закритий ключ. Скопіюйте цей ключ, цей ключ використовуватиметься під час створення кінцевої точки в Thinger.io.
Після цього створіть аплет, використовуючи Webhooks та служби електронної пошти . Щоб створити аплет, клацніть на свій профіль, а потім натисніть " Створити. '
Тепер у наступному вікні натисніть на піктограму " Це ". Тепер знайдіть Webhooks у розділі пошуку та натисніть « Webhooks» .
Тепер виберіть « Отримати тригер веб-запиту» та введіть назву події як тимчасову, а потім натисніть на створити тригер.
Після цього натисніть « Тоді це», а потім натисніть «Електронна пошта».
Тепер в електронній пошті натисніть "надіслати мені електронне повідомлення", введіть тему та текст електронної пошти, а потім натисніть на створити дію. На останньому кроці натисніть " Готово ", щоб завершити налаштування аплету.
Програмування NodeMCU для реєстрації даних
Повний код для відправки даних на Thinger.io наведено в кінці сторінки. Тут ми пояснюємо деякі важливі частини.
Запустіть код, включивши всі необхідні бібліотеки. ThingerESP8266.h використовується для встановлення з'єднання між платформою IoT і NodeMCU в той час як Adafruit_BMP085.h використовується для зчитування БМП датчика даних. Ви можете встановити бібліотеку ThingerESP8266.h з диспетчера бібліотек Arduino IDE.
#включати
Далі введіть облікові дані в коді, щоб пристрій можна було розпізнати та пов’язати з вашим обліковим записом.
#define USERNAME "Ваше ім'я користувача" #define DEVICE_ID "NodeMCU" // Назва вашого пристрою #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Потім введіть назву кінцевої точки. Кінцева точка використовується для інтеграції платформи із зовнішніми службами, такими як IFTTT, HTTTP-запит тощо.
#define EMAIL_ENDPOINT "IFTTT"
Визначте змінні для зберігання даних про тиск, температуру та висоту.
внутрішній тиск, температура, висота над рівнем моря;
Всередині петлі void () прочитайте дані датчика. 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, виклик пристрою з іншого облікового запису або виклик будь-якої іншої кінцевої точки
Щоб створити кінцеву точку, натисніть на вкладці меню пункт «Кінцева точка», а потім натисніть «Додати кінцеву точку».
Тепер у наступному вікні введіть необхідні дані. Деталі:
Ідентифікатор кінцевої точки: унікальний ідентифікатор кінцевої точки.
Опис кінцевої точки: Напишіть опис або детальну інформацію про свою Кінцеву точку.
Тип кінцевої точки: виберіть тип кінцевої точки з поданих параметрів.
Назва події Maker: Введіть ім'я вашого апплету IFTTT.
Ключ каналу Maker: секретний ключ вашого веб-хука.
Після цього натисніть Test Endpoint, щоб перевірити, чи все працює. Він повинен надіслати вам електронний лист із попередженням про дані температури.
Замість того, щоб використовувати IFTTT Webhook Trigger, ви можете надіслати повідомлення електронної пошти або Telegram, або ви можете надіслати запит HTTP, використовуючи функції Кінцевої точки.
Ось як NodeMCU ESP8266 може використовуватися для реєстрації даних про температуру, тиск і висоту від датчика BMP180 в Інтернет.
У кінці сторінки наведено робоче відео та повний код.