Найти в Дзене
Квазартек

Интернет вещей. ESP8266. Данные онлайн в любой точке мира через браузер. Использование облака

В прошлой статье https://dzen.ru/media/quazartech/internet-vescei-esp8266-podkliuchenie-k-wifi-izmerenie-temperatury-i-vlajnosti-blynk-upravlenie-arduino-s-pomosciu-smartfona-6370a1b04fdcbe14d19d3f00 было рассмотрено подключение ESP8266 к сети WiFi и использование датчика DHT11 для измерения температуры и влажности. Сегодня, не меняя схему подключения, передадим данные в облако и затем с помощью браузера отобразим их. Таким образом, мы получим доступ к данным из любой точки мира, где есть интернет. То есть мы сможем видеть температуру и влажность в нашем доме в любом месте и в любое время. Использовать для наших целей будем облачный сервис https://dweet.io Первым делом в нашу ESP8266 загрузим следующий код: // импортируем библиотеку поддержки ESP8266 #include <ESP8266WiFi.h> #include "DHT.h" #define DHTPIN 5 #define DHTTYPE DHT11 //объявление объекта DHT DHT dht (DHTPIN, DHTTYPE); //Параметры сети WiFi const char* ssid = " имя вашей сети "; const char* password = " пароль от вашей се

В прошлой статье https://dzen.ru/media/quazartech/internet-vescei-esp8266-podkliuchenie-k-wifi-izmerenie-temperatury-i-vlajnosti-blynk-upravlenie-arduino-s-pomosciu-smartfona-6370a1b04fdcbe14d19d3f00

было рассмотрено подключение ESP8266 к сети WiFi и использование датчика DHT11 для измерения температуры и влажности. Сегодня, не меняя схему подключения, передадим данные в облако и затем с помощью браузера отобразим их. Таким образом, мы получим доступ к данным из любой точки мира, где есть интернет. То есть мы сможем видеть температуру и влажность в нашем доме в любом месте и в любое время.

Использовать для наших целей будем облачный сервис https://dweet.io

Первым делом в нашу ESP8266 загрузим следующий код:

// импортируем библиотеку поддержки ESP8266

#include <ESP8266WiFi.h>

#include "DHT.h"

#define DHTPIN 5

#define DHTTYPE DHT11

//объявление объекта DHT

DHT dht (DHTPIN, DHTTYPE);

//Параметры сети WiFi

const char* ssid = " имя вашей сети ";

const char* password = " пароль от вашей сети ";

float temperature;

float humidity;

// Host

const char* host = "dweet.io";

void setup() {

// put your setup code here, to run once:

Serial.begin(115200);

dht.begin();

// We start by connecting to a WiFi network

Serial.println();

Serial.println();

Serial.print("Connecting to ");

Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

}

Serial.println("");

Serial.println("WiFi connected");

Serial.println("IP address: ");

Serial.println(WiFi.localIP());

}

void loop() {

Serial.print("Connecting to ");

Serial.println(host);

// Use WiFiClient class to create TCP connections

WiFiClient client;

const int httpPort = 80;

if (!client.connect(host, httpPort)) {

Serial.println("connection failed");

return;

}

// put your main code here, to run repeatedly:

humidity = dht.readHumidity();

temperature = dht.readTemperature();

// This will send the request to the server

client.print(String("GET /dweet/for/myespdweet8266qzt437?temperature=") + String(temperature) + "&humidity=" + String(humidity) + " HTTP/1.1\r\n" +

"Host: " + host + "\r\n" +

"Connection: close\r\n\r\n");

delay(10);

// Read all the lines of the reply from server and print them to Serial

while(client.available()){

String line = client.readStringUntil('\r');

Serial.print(line);

}

Serial.println();

Serial.println("closing connection");

// Repeat every 10 seconds

delay(10000);

}

myespdweet8266qzt437 – это должно быть ваше уникальное название именно по нему будем искать свои данные в облаке. Не забываем также ввести имя и пароль вашей сети WiFi.

После загрузки открываем мониторинг порта, устанавливаем скорость 115200 бод и наблюдаем следующую картину

Далее в браузер вводим: https://dweet.io/follow/myespdweet8266qzt437

Где myespdweet8266qzt437 – ваше уникальное название, которое было прописано в коде выше. Если все сделано верно, то откроется график изменения температуры и влажности:

-2

Для более красочного отображения информации воспользуемся сервисом https://freeboard.io

1. Создадим аккаунт на этом сайте

2. Заходим в аккаунт и создаем приборную панель «Create New», придумав при этом название

-3

В следующем окне нажимаем «ADD» и добавляем источник данных. В выпадающем списке следует указать Dweet.io.

-4
-5

После придумываем любое название (Name) и вводим свое уникальное название myespdweet8266qzt437 (Thing name), которое использовали ранее. Жмем Save

На приборной панели появится источник данных

-6

Далее добавляем виджет. Нажимаем на +ADD PANE

-7

Нажимаем на «+»

-8

Выбираем Gauge

-9

Заполняем поля следующим образом

-10

В графе VALUE нажимаем на DATASOURCE. Выбираем наш источник данных – content – humidity для влажности и temperature для температуры.

В итоге мы получим следующую картину. Тут кроме Gauge добавлен виджет Sparkline.

-11

Теперь в любой момент времени и из любого места мы можем зайти на свой аккаунт https://freeboard.io, перейти в созданную панель и увидеть температуру и влажность в том помещении, где у нас сейчас включена ESP8266.