Blynk + html+ espl01
- Войдите на сайт для отправки комментариев
Сб, 11/01/2020 - 22:11
Здравствуйте, помогите пожалуйста. Столкнулся с проблемой( из-за не опытности), надо чтоб температуру c датчика dht11 передала на blynk и httml. Скетч нашел, соединить не могу, заранее спасибо.
#include "ESP8266WiFi.h" // Подключаем библиотеку ESP8266WiFi #include "Adafruit_Sensor.h" // Adafruit_Sensor #include "DHT.h" // Подключаем библиотеку DHT const char* ssid = "тут имя"; // Название Вашей WiFi сети const char* password = "тут пароль"; // Пароль от Вашей WiFi сети #define DHTPIN 2 // Пин к которому подключен датчик #define DHTTYPE DHT11 // Используемый датчик DHT 11 // #define DHTTYPE DHT21 // #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); // Инициализируем датчик WiFiServer server(80); // Указываем порт Web-сервера void setup() { Serial.begin(115200); // Скорость передачи 115200 delay(10); // Пауза 10 мкс dht.begin(); // Инициализация DHT Serial.println(""); // Печать пустой строки Serial.print("Connecting to "); // Печать "Подключение к:" Serial.println(ssid); // Печать "Название Вашей WiFi сети" WiFi.begin(ssid, password); // Подключение к WiFi Сети while (WiFi.status() != WL_CONNECTED) // Проверка подключения к WiFi сети { delay(500); // Пауза 500 мкс Serial.print("."); // Печать "." } Serial.println(""); // Печать пустой строки Serial.println("WiFi connected"); // Печать "Подключение к WiFi сети осуществлено" server.begin(); // Запуск Web сервера Serial.println("Web server running."); // Печать "Веб-сервер запущен" delay(10000); // Пауза 10 000 мкс Serial.println(WiFi.localIP()); // Печатаем полученный IP-адрес ESP } void loop() { WiFiClient client = server.available(); // Получаем данные, посылаемые клиентом if (client){ Serial.println("New client"); // Отправка "Новый клиент" boolean blank_line = true; // Создаем переменную, чтобы определить конец HTTP-запроса while (client.connected()){ // Пока есть соединение с клиентом if (client.available()){ // Если клиент активен char c = client.read(); // Считываем посылаемую информацию в переменную "с" if (c == '\n' && blank_line){ // Вывод HTML страницы float t = dht.readTemperature(); // Запрос на считывание температуры float h = dht.readHumidity(); client.println("HTTP/1.1 200 OK"); // Стандартный заголовок HTTP client.println("Content-Type: text/html"); client.println("Connection: close"); // Соединение будет закрыто после завершения ответа client.println("Refresh: 10"); // Автоматическое обновление каждые 10 сек client.println(); client.println("<!DOCTYPE HTML>"); // Веб-страница создается с использованием HTML client.println("<html>"); // Открытие тега HTML client.println("<head>"); client.print("<title>ESP8266 TEMP</title>"); // Название страницы client.println("</head>"); client.println("<body>"); client.println("<h1>ESP8266 - Temperature & Humidity</h1>"); client.println("<h3>t = "); client.println(t); // Отображение температуры client.println("*C</h3>"); client.println("</head>"); client.println("<body>"); client.println("<h3>H= "); client.println(h); // Отображение влажности client.println("</h3>"); client.println("</body>"); client.println("</html>"); // Закрытие тега HTML break; // Выход } if (c == '\n'){ // Если "с" равен символу новой строки blank_line = true; // Тогда начинаем новую строку } else if (c != '\r'){ // Если "с" не равен символу возврата курсора на начало строки blank_line = false; // Тогда получаем символ на текущей строке } } } client.stop(); // Закрытие соединения Serial.println("Client disconnected."); // Печать "Клиент отключен" } }
/************************************************************** * Blynk is a platform with iOS and Android apps to control * Arduino, Raspberry Pi and the likes over the Internet. * You can easily build graphic interfaces for all your * projects by simply dragging and dropping widgets. * * Downloads, docs, tutorials: http://www.blynk.cc * Blynk community: http://community.blynk.cc * Social networks: http://www.fb.com/blynkapp * http://twitter.com/blynk_app * Blynk library is licensed under MIT license * ************************************************************** * Внимание : * Для этого скетча вам необходима данная библиотека: * https://github.com/jfturcot/SimpleTimer * * DHT11 ----pin 2 * * **************************************************************/ #define BLYNK_PRINT Serial // Comment this out to disable prints and save space #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <SimpleTimer.h> #include <dht11.h> dht11 DHT; #define DHT11_PIN 2 // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "*******************************"; //Токен сгенерированый Блинком (Проверьте почту) SimpleTimer timer; void setup() { Serial.begin(9600); // See the connection status in Serial Monitor Blynk.begin(auth, "***SSID*****", "***KEY**"); //сюда вписываем имя и пароль WiFi сети // Setup a function to be called every second timer.setInterval(1000L, sendUptime); } // This function sends Arduino's up time every second to Virtual Pin (5). // In the app, Widget's reading frequency should be set to PUSH. This means // that you define how often to send data to Blynk App. void sendUptime() { // You can send any value at any time. // Please don't send more that 10 values per second. Blynk.virtualWrite(10, DHT.temperature); //Виртульный pin Blynk.virtualWrite(11, DHT.humidity); // Виртульный pin } void loop() { Blynk.run(); // Initiates Blynk timer.run(); // Initiates SimpleTimer int chk; chk = DHT.read(DHT11_PIN); // READ DATA }
За что спасибо? Если хотите, чтобы кто-то сделал за вас- спасибом не отделаетесь
это понятно, я не прям хочу, чтоб предоставили готовый скетч, мб ссылочку почитпть
Читать как кто-то соединял два точно таких же скетча или что?
я пытался соединить 2 скетча, если было бы так просто в этой жизни.
Демонстрируйте, как пытались...
Блин, скетч не сохранился, пытаюсь вспомнить
Блин, скетч не сохранился, пытаюсь вспомнить
если писали сами - вспомнить легко
Получилось так, еще не пробовал, пока загружается.
Это работает, но чет криво, он конется к блинку секунд через 5, а сервер дает секунд через 15, примерно
Поставил ds18b20, на сервере показывает, а dht 11 не всегда, мб в скетче проблема, а м б в питании, я все делаю на Breadboard'e
DHTxx должны читаться не чаще раза в 1-2 секунды (в зависимости от модели).
Вкурсе, в скетче стоит 10 секунд. в блинке все норм, вроде как. Добавил еще ds18b20, с ним все хорошо.
уже задержку поставил 5 секунд, все равно не хочет, попробовал другой скетч. такая же фигня, мб сломал, когда припаивал его.