Съдържание:

Как да изградите метеорологична станция с помощта на XinaBox и Ubidots по HTTP: 7 стъпки
Как да изградите метеорологична станция с помощта на XinaBox и Ubidots по HTTP: 7 стъпки

Видео: Как да изградите метеорологична станция с помощта на XinaBox и Ubidots по HTTP: 7 стъпки

Видео: Как да изградите метеорологична станция с помощта на XinaBox и Ubidots по HTTP: 7 стъпки
Видео: Sonoff NSPanel - интерактивная панель для управления умным домом 2024, Юли
Anonim
Как да изградим метеорологична станция с помощта на XinaBox и Ubidots по HTTP
Как да изградим метеорологична станция с помощта на XinaBox и Ubidots по HTTP

Научете как да направите своя собствена метеорологична станция в Ubidots, като използвате XinaBox xChips (IP01, CW01 и SW01)

Образ
Образ

ESP8266 Core и Wi-Fi модул (xChip CW01) позволява на потребителите да изпращат данни от модулните xChips на XinaBox в облака. Тези данни могат да се наблюдават дистанционно в Ubidots, където потребителите могат да се възползват от гамата си от IoT инструменти.

Усъвършенстваният метеорологичен сензор xChip SW01 (Bosch BME280) измерва температурата, влажността и атмосферното налягане, от които също могат да бъдат изчислени надморската височина, основата на облака и точката на оросяване.

В този урок използваме HTTP протокол за изпращане на сензорни данни към Ubidots. Това може да се направи и с помощта на MQTT протокол.

До края на това ръководство ще можете да наблюдавате и измервате метеорологичните условия на вашето устройство XinaBox от всяко място отдалечено с помощта на Ubidots.

Стъпка 1: Изисквания

  • 1x CW01 - WiFi ядро (ESP8266/ESP -12F)
  • 1x IP01 - USB интерфейс за програмиране (FT232R)
  • 1x SW01 - Усъвършенстван сензор за времето (BME280)
  • 1x XC10 - 10 -пакет xBUS конектори
  • Arduino IDE
  • Профил на Ubidots

Стъпка 2: Настройка на хардуера

Свържете CW01, SW01 и IP01 заедно с помощта на конекторите XC10 xBUS. Можете да го свържете, както е показано на диаграмата по -долу. Моля, вижте това ръководство за това как да сглобявате xChips като цяло.

Образ
Образ

След това свържете вашето устройство и компютър чрез USB на IP01. За целта ще трябва да използвате софтуера xFlasher, за да мигате кода, след като бъде готов. Вижте това ръководство за използване на xFlasher.

Стъпка 3: Настройване на Arduino IDE

1. Инсталирайте Arduino IDE 1.8.8

2. Инсталирайте тези библиотеки в Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

ЗАБЕЛЕЖКА: Ако не сте запознати с начина на инсталиране на библиотеки, моля, вижте връзката: Инсталиране на библиотеки на Arduino

3. С инсталирана платформа ESP8266 изберете устройството ESP8266, с което работите. В случая работим с „CW01 (модул ESP12F)“. За да изберете вашата платка от IDE на Arduino, изберете Инструменти> Платка „NodeMCU 1.0 (модул ESP12E)“.

ЗАБЕЛЕЖКА: ESP12F и ESP12E са взаимозаменяеми за тази цел.

Стъпка 4: Разбиране на кодекса

Включително библиотеки:

#include "UbidotsMicroESP8266.h"

#включи #включи

Въведете вашите идентификационни данни за Wi-Fi и Ubidots:

#define TOKEN "Your-Token" // Поставете тук своя Ubidots TOKEN

#define WIFISSID "Your-SSID" // Поставете тук своя Wi-Fi SSID #define PASSWORD "password-of-ssid" // Поставете тук вашата парола за Wi-Fi

Уникалният ви токен на Ubidots се получава от вашия акаунт в Ubidots. Вижте следната връзка, за да научите къде да намерите своя Ubidots TOKEN.

Еднократна настройка, вижте коментарите за самообяснение:

void setup () {

// Отстраняване на грешки при 115200 с помощта на сериен монитор Serial.begin (115200); // Свържете се с точката за достъп client.wifiConnection (WIFISSID, PASSWORD); // I2C комуникацията започва Wire.begin (); // Стартиране на сензора SW01 SW01.begin (); // Въвеждане на известно забавяне, 2-3 секундно забавяне (DELAY_TIME); }

Завъртете операцията, за да я поддържате непрекъснато и да се актуализирате:

void loop () {

// Създаване на променлива за съхраняване на данните, прочетени от SW01 float tempC, влажност, налягане, alt; // Създаване на променливи на устройството tempC = 0; влажност = 0; налягане = 0; alt=0; // Сензор за анкетиране за събиране на данни SW01.poll (); // Запазване на данни в променливите на устройството tempC = SW01.getTempC (); // Температура в Целзий Serial.println ("Температура:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); влажност = SW01.getHumidity (); Serial.println ("Влажност:"); Serial.print (влажност); Serial.println (" %"); Serial.println (); налягане = SW01.getPressure (); Serial.println ("Налягане:"); Serial.print (налягане); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Надморска височина:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Създаване на ubidots променливи client.add ("Температура (*C)", tempC); забавяне (500); client.add ("Влажност (%)", влажност); забавяне (500); client.add ("Налягане (Pa)", налягане); забавяне (500); client.add ("Надморска височина (m)", alt); // Изпращане на всички точки client.sendAll (true); // забавяне между четенията на сензора за стабилизиране на закъснението (DELAY_TIME); }

Пълният код:

#include "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Поставете тук вашия Ubidots TOKEN #define WIFISSID "Your-SSID" // Поставете тук своя Wi-Fi SSID #define PASSWORD "password-of-ssid" // Поставете тук вашата парола за Wi-Fi клиент Ubidots (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Създаване на обект на SW01 сензор void setup () {Serial.begin (115200); client.wifiConnection (WIFISSID, PASSWORD); Wire.begin (); // Стартиране на сензора SW01 SW01.begin (); забавяне (DELAY_TIME); } void loop () {// Създаване на променлива за съхраняване на данните, прочетени от SW01 float tempC, влажност, налягане, alt; tempC = 0; влажност = 0; налягане = 0; alt=0; // Сензор за анкети за събиране на данни SW01.poll (); // Запазване на данни в паметта на променливите tempC = SW01.getTempC (); // Температура в Целзий Serial.println ("Температура:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); влажност = SW01.getHumidity (); Serial.println ("Влажност:"); Serial.print (влажност); Serial.println (" %"); Serial.println (); налягане = SW01.getPressure (); Serial.println ("Налягане:"); Serial.print (налягане); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Надморска височина:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Създаване на ubidots променливи client.add ("Температура (*C)", tempC); забавяне (500); client.add ("Влажност (%)", влажност); забавяне (500); client.add ("Налягане (Pa)", налягане); забавяне (500); client.add ("Надморска височина (m)", alt); // Изпращане на всички точки client.sendAll (true); // забавяне между четенията на сензора за стабилизиране на закъснението (DELAY_TIME); }

Стъпка 5: Влезте в Ubidots

1. Отворете акаунта си в Ubidots. Ще видите устройство с име „ESP8266“с 4 променливи (вижте изображението по -долу).

Визуализация на устройството

Образ
Образ

Визуализация на променливи

Образ
Образ

Ако искате да промените името на устройството, използвайте кода:

client.setDataSourceName ("Ново_име");

Стъпка 6: Създаване на табла за управление в Ubidots

Таблата за управление (статични и динамични) са потребителски интерфейси за организиране и представяне на данните на устройството и прозренията, получени от данните. Таблата за управление съдържат приспособления, които показват данните като диаграми, индикатори, контроли, таблици, графики и други размери, форми и форми.

За да създадете ново табло за управление в профила си в Ubidots, вижте следния урок за Ubidots, за да научите как да го направите.

Само като справка, след като вашето табло за управление на Ubidots е създадено, трябва да имате нещо подобно на изображението по -долу:

Образ
Образ

ПРА СЪВЕТ: Има и набор от графични инструменти и инструменти за отчитане. Ако искате да научите повече за това, препоръчваме ви да разгледате това ръководство.

Образ
Образ

Стъпка 7: Обобщение

В този урок ние показахме как да кодираме и свържем метеорологична станция XinaBox към Ubidots. Това позволява дистанционно наблюдение и може да бъде завършено в рамките на 10-15 минути.

Други читатели също са намерили полезни …

  • UbiFunctions: Интегрирайте данни от платформата AmbientWeather към Ubidots
  • Анализ: Основи на синтетичните променливи
  • Температурен контрол с Ubidots MQTT и NodeMcu

Препоръчано: