
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Узнайте, как создать собственную метеостанцию в Ubidots, используя XinaBox xChips (IP01, CW01 и SW01)

Ядро ESP8266 и модуль 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
- IDE Arduino
- Аккаунт Ubidots
Шаг 2: Настройка оборудования
Соедините CW01, SW01 и IP01 вместе с помощью разъемов XC10 xBUS. Вы можете подключить его, как показано на схеме ниже. Пожалуйста, прочтите это руководство о том, как собрать xChips в целом.

Затем подключите устройство к ПК через USB-порт IP01. Для этого вам нужно будет использовать программное обеспечение xFlasher, чтобы прошить код, когда он будет готов. См. Это руководство по использованию xFlasher.
Шаг 3: Настройка IDE Arduino
1. Установите Arduino IDE 1.8.8.
2. Установите эти библиотеки на Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.
ПРИМЕЧАНИЕ. Если вы не знакомы с тем, как устанавливать библиотеки, перейдите по ссылке: Установка библиотек Arduino.
3. Установив платформу ESP8266, выберите устройство ESP8266, с которым вы работаете. В данном случае мы работаем с «CW01 (модуль ESP12F)». Чтобы выбрать плату в среде Arduino IDE, выберите «Инструменты»> «Плата» «NodeMCU 1.0 (модуль ESP12E)».
ПРИМЕЧАНИЕ: ESP12F и ESP12E для этой цели взаимозаменяемы.
Шаг 4: понимание кода
Включая библиотеки:
#include "UbidotsMicroESP8266.h"
#include #include
Введите свои учетные данные Wi-Fi и Ubidots:
#define TOKEN "Your-Token" // Поместите сюда свой ТОКЕН Ubidots
#define WIFISSID "Your-SSID" // Введите здесь свой SSID Wi-Fi #define PASSWORD "password-of-ssid" // Введите здесь свой пароль Wi-Fi
Ваш уникальный ТОКЕН Ubidots получен из вашей учетной записи Ubidots. Перейдите по следующей ссылке, чтобы узнать, где найти свой ТОКЕН Ubidots.
Одноразовая установка, см. Комментарии для пояснений:
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 ("Temperature:"); Serial.print (tempC); Serial.println ("* C"); Serial.println (); влажность = SW01.getHumidity (); Serial.println ("Влажность:"); Серийный отпечаток (влажность); Serial.println ("%"); Serial.println (); давление = SW01.getPressure (); Serial.println ("Давление:"); Serial.print (давление); Serial.println ("Па"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Высота:"); Serial.print (alt); Serial.println ("м"); Serial.println (); // Создание переменных ubidots client.add ("Temperature (* C)", tempC); задержка (500); client.add («Влажность (%)», влажность); задержка (500); client.add ("Давление (Па)", давление); задержка (500); client.add ("Высота (м)", alt); // Отправляем все точки client.sendAll (true); // задержка между чтениями датчика для стабилизации задержки (DELAY_TIME); }
Полный код:
#include "UbidotsMicroESP8266.h"
#include #include #define TOKEN "Your-Token" // Поместите сюда свой ТОКЕН Ubidots #define WIFISSID "Your-SSID" // Поместите сюда свой SSID Wi-Fi #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, ПАРОЛЬ); 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 ("Temperature:"); Serial.print (tempC); Serial.println ("* C"); Serial.println (); влажность = SW01.getHumidity (); Serial.println ("Влажность:"); Серийный отпечаток (влажность); Serial.println ("%"); Serial.println (); давление = SW01.getPressure (); Serial.println ("Давление:"); Serial.print (давление); Serial.println ("Па"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Высота:"); Serial.print (alt); Serial.println ("м"); Serial.println (); // Создание переменных ubidots client.add ("Temperature (* C)", tempC); задержка (500); client.add («Влажность (%)», влажность); задержка (500); client.add ("Давление (Па)", давление); задержка (500); client.add ("Высота (м)", 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
Рекомендуемые:
Управление Led через приложение Blynk с помощью Nodemcu через Интернет: 5 шагов

Управление светодиодом через приложение Blynk с помощью Nodemcu через Интернет: Привет всем, сегодня мы покажем вам, как вы можете управлять светодиодом с помощью смартфона через Интернет
Как построить систему полива растений с помощью Arduino: 7 шагов

Как построить систему полива растений с помощью Arduino: в этом уроке мы узнаем, как создать систему полива растений, используя датчик влажности, водяной насос и мигающий зеленый светодиод, если все в порядке, а также OLED-дисплей и Visuino. Посмотрите видео
Как построить светодиодный куб 8x8x8 и управлять им с помощью Arduino: 7 шагов (с изображениями)

Как построить светодиодный куб 8x8x8 и управлять им с помощью Arduino: редактирование в январе 2020 года: я оставляю это на тот случай, если кто-то захочет использовать его для генерации идей, но больше нет смысла строить куб на основе этих инструкций. Микросхемы драйверов светодиодов больше не производятся, и оба эскиза написаны в старой версии
Как построить систему автоматического полива растений своими руками с помощью предупреждений Wi-Fi: 15 шагов

Как построить автоматическую систему полива растений своими руками с помощью предупреждений Wi-Fi: это законченный проект, автоматическая система полива растений своими руками, управляемая через #WiFi. Для этого проекта мы использовали комплект для сборки автоматической садовой системы с самополивом от Adosia. В этой установке используются соленоидные водяные клапаны и аналог почвенного
Как сделать простую метеостанцию с помощью Arduino: 6 шагов (с изображениями)

Как сделать простую метеостанцию с помощью Arduino: Здравствуйте, ребята, в этой инструкции я объясню, как сделать простую метеостанцию для измерения температуры и влажности с помощью датчика DHT11 и Arduino, полученные данные будут отображаться на ЖК-дисплее. Прежде чем приступить к этому руководству, вы должны знать, что