Не удаётся синхронизировать ESP32 с Blynk
Я пытался вывести показания датчика DHT11 на приборную панель Blynk, но столкнулся с большими трудностями. Буду очень благодарен за небольшую помощь.
#define BLYNK_PRINT Serial
/* Fill in information from Blynk Device Info here */
#define BLYNK_TEMPLATE_ID "TMPL3cu_fjr1u"
#define BLYNK_TEMPLATE_NAME "DHT11 Example"
#define BLYNK_AUTH_TOKEN "bpPlBa8ehOqw0sJLKJeO1thMlulVXUCY"
#include <DHT.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
// Ваши учетные данные WiFi.
// Установите пароль «» для открытых сетей.
char ssid[] = "***";
char pass[] = "***";
#define DHTPIN 2 // К какому цифровому пину мы подключены
// Раскомментируйте любой используемый вами тип!
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
// Эта функция отправляет время работы Arduino каждую секунду на виртуальный вывод (5)
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature(); // или dht.readTemperature(true) для Фаренгейта
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Вы можете отправить любое значение в любое время.
// Пожалуйста, не отправляйте более 10 значений в секунду.
Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
}
void setup()
{
// Консоль отладки
Serial.begin(9600);
dht.begin();
// Настраиваем функцию, которая будет вызываться каждую секунду
timer.setInterval(1000L, sendSensor);
}
void loop()
{
Blynk.run();
timer.run();
}
Когда я запускаю это, загрузка проходит без ошибок, но Blynk показывает, что устройство находится в автономном режиме, и это отображается в последовательном мониторе Arduino IDE:
15:38:20.658 -> ELF file SHA256: 4b7072eae
15:38:20.699 ->
15:38:20.735 -> Rebooting...
15:38:20.735 -> �[5001] Connecting to 0.0.0.0
15:38:26.059 ->
15:38:26.092 -> assert failed: xQueueSemaphoreTake queue.c:1709 (( pxQueue ))
15:38:26.181 ->
15:38:26.181 ->
15:38:26.181 -> Backtrace: (some lot of characters)
15:38:26.512 ->
15:38:26.512 ->
15:38:26.545 ->
15:38:26.545 ->
15:38:26.545 -> ELF file SHA256: 4b7072eae
15:38:26.578 ->
15:38:26.578 -> Rebooting...
15:38:26.614 -> ��[5001] Connecting to 0.0.0.0
15:38:35.107 ->
15:38:35.140 -> assert failed: xQueueSemaphoreTake queue.c:1709 (( pxQueue ))
15:38:35.206 ->
15:38:35.206 ->
15:38:35.206 -> Backtrace: (some lot of characters)
15:38:35.590 ->
15:38:35.590 ->
15:38:35.590 ->
15:38:35.590 ->
15:38:35.626 -> ELF file SHA256: 4b7072eae
15:38:35.626 ->
15:38:35.626 -> Rebooting...
15:38:35.668 -> �
Пожалуйста, помогите
@KnightRiderDutt, 👍1
Обсуждение2 ответа
▲ 1
Вызовите Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass), чтобы сначала установить соединение WiFi.
См. пример ESP32_WiFi.ino.
,
@hcheung
▲ 1
Вы пропустили вызов Blynk.begin(auth, ssid, pass). Без него Blynk никогда не инициализируется должным образом, что приводит к сбою очереди/семафора. Настройка должна выглядеть так:
void setup()
{
Serial.begin(9600);
delay(1000); // Даем время последовательному порту на инициализацию
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
dht.begin();
timer.setInterval(1000L, sendSensor);
}
,
@tepalia
Смотрите также:
- Контакты RX и TX на esp32
- ESP32 - "Детектор Браунаута был активирован" при запуске Wi-Fi
- Максимальное количество подключений точки доступа ESP32: 4 или 10?
- Аналоговое чтение не работает при использовании WiFi
- Почему OTA не работает с платой ESP32-CAM Ai-Thinker?
- ESP32 открывает "captive portal" при подключении
- Автоматическая веб-страница ESP32 AP
- Чтение данных из Google Таблиц с помощью Nodemcu
у вас нет необходимых учетных данных WiFi для подключения к вашей локальной сети, @jsotola
@jsotola Да, я удалил их перед публикацией кода., @KnightRiderDutt