ESP32-DEV подключен к Wi-Fi, но не работает должным образом
Аппаратноеобеспечение :
Плата ESP32 Dev Module
Версия/Дата сегодняшнего мастера
IDE имя Arduino IDE
Частота flash 80 МГц
PSRAM включен нет
Скорость загрузки 115200
Компьютерная ОС Windows 10
Описание:
Я занимаюсь проектом, в котором хочу собирать данные с различных датчиков, а затем отображать их на своей панели мониторинга Adafruit IO. Я создал отдельный файл config.h, в котором сохранил учетные данные Wi-Fi (в моем случае я использую мобильную точку доступа в качестве Wi-Fi), а также свой ключ Adafruit IO.
Код скомпилирован и успешно загружен, и в моем телефоне я вижу, что esp32-arduino подключен к моей мобильной точке доступа, но когда я открываю последовательный монитор, он показывает "Подключение...", а также никакие данные не публикуются на панели мониторинга Adafruit
#include "config.h"
#include "max6675.h"
#include "EmonLib.h"
#define CURRENT_CAL 62.6
EnergyMonitor emon1;
#define sound_PIN 34
#define vib_PIN 35
#define smoke_PIN 33
#define current_PIN 39
#define alarm_PIN 25
int thermoDO = 19;
int thermoCS = 23;
int thermoCLK = 5;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
float Normal_Sound_Level= 250;
float Normal_Vib_Level = 5000;
int Normal_Smoke_Level= 20;
int Normal_Temp_Level = 50;
float Normal_Current_Level= 20.00;
float First_Current_Reading=70.00;
boolean is_Relay_on=true;
boolean is_Machine_on=true;
String Machine_Power;
String Machine_Power_Status;
String Alarm_State;
boolean AlarmState=false;
String reason;
int relay_PIN=32;
AdafruitIO_Feed *temperature = io.feed("temperature");
AdafruitIO_Feed *Vibration = io.feed("vibration-intensity");
AdafruitIO_Feed *Smoke = io.feed("smoke-intensity");
AdafruitIO_Feed *Current = io.feed("current");
AdafruitIO_Feed *power = io.feed("power");
void setup() {
pinMode(sound_PIN, INPUT);
pinMode(vib_PIN, INPUT);
pinMode(smoke_PIN, INPUT);
pinMode(current_PIN, INPUT);
pinMode(relay_PIN, OUTPUT);
pinMode(alarm_PIN, OUTPUT);
Serial.begin(115200);
while(! Serial);
Serial.print("Connecting to Adafruit IO");
io.connect();
power->onMessage(handleMessage);
while(io.status() < AIO_CONNECTED) {
Serial.println("Connecting.......");
Serial.println("If it Takes a Long Time, Check WIFI Username/Password!");
delay(500);
}
Serial.println();
Serial.println(io.statusText());
if (is_Relay_on==true){
power->save(HIGH);
}
emon1.current(current_PIN, CURRENT_CAL);
}
void loop() {
io.run();
switch (is_Relay_on) {
case true:
digitalWrite(relay_PIN,HIGH);
Machine_Power="ON";
AlarmState=false;
Alarm_State="OFF";
break;
case false:
digitalWrite(relay_PIN,LOW);
is_Machine_on=false;
Machine_Power="OFF";
AlarmState=true;
Alarm_State="Triggered";
break;
default:
break;
}
while (( is_Machine_on)==true) {
float sound_intense = analogRead(sound_PIN);
if (sound_intense>Normal_Sound_Level){
is_Relay_on= false;
reason="((((((Abnormal Sound Values))))))";
}
float Vib_intense = analogRead(vib_PIN);
if (Vib_intense>Normal_Vib_Level){
is_Relay_on= false;
reason="((((((Abnormal Vibration Values))))))";
}
int smoke_intense = analogRead(smoke_PIN);
if (smoke_intense>Normal_Smoke_Level){
is_Relay_on= false;
reason="((((((Abnormal Smoke Values))))))";
}
if (thermocouple.readCelsius()>Normal_Temp_Level){
is_Relay_on= false;
reason="((((((Abnormal Temperature Values))))))";
}
emon1.calcVI(20,100);
float currentDraw = emon1.Irms-2;
int supplyVoltage = 220;
if (currentDraw<0){
currentDraw=-currentDraw*0;
}
else{
currentDraw=currentDraw;
}
if (currentDraw>=First_Current_Reading){
currentDraw=0;
}
if (currentDraw>Normal_Current_Level){
is_Relay_on= false;
reason="((((((Abnormal Current Withdrawal Values))))))";
}
Current->save(currentDraw);
temperature->save(thermocouple.readCelsius());
Vibration->save(Vib_intense);
Smoke->save(smoke_intense);
Serial.println(" ");
Serial.println("..................................................");
Serial.println(" ");
Serial.print("Recieved Machine Power: ");
Serial.println("ON");
Serial.println(" ");
Serial.println("----->Sending----->-----> (((WIFI)))");
Serial.println(" ");
Serial.print("Machine Power: "); // Print the voltage.
Serial.println(Machine_Power); // Print the voltage.
Serial.print("Alarm State: "); // Print the voltage.
Serial.println(Alarm_State); // Print the voltage.
Serial.print("Sound Intensity: "); // Print the voltage.
Serial.println(sound_intense);
Serial.print("Vibration Intensity: "); // Print the voltage.
Serial.println(Vib_intense); // Print the voltage.
Serial.print("Smoke Density: "); // Print the voltage.
Serial.println(smoke_intense); // Print the voltage.
Serial.print("Temperature: ");
Serial.println(thermocouple.readCelsius());
Serial.print("Current: ");
Serial.println(currentDraw);
Serial.print("Voltage: ");
Serial.println(supplyVoltage);
Serial.print("Watts: ");
Serial.println(currentDraw * supplyVoltage);
//power->save(HIGH);
// wait one second (1000 milliseconds == 1 second)
delay(5000);
break;
}
if (AlarmState==true) {
dacWrite(alarm_PIN, 255); // buzzer ON
delay(600);
dacWrite(alarm_PIN, 0);
}
else{
dacWrite(alarm_PIN, 0);
}
while (( is_Machine_on)==false) {
Serial.println(" ");
Serial.println("..................................................");
Serial.println(" ");
Serial.println(">>>>>>>>>>Stopped Sending<<<<<<<<<<");
Serial.println(" ");
Serial.print("Recieved Machine Power: ");
Serial.println("OFF");
Serial.print("Machine Power: "); // Print the voltage.
Serial.println(Machine_Power); // Print the voltage.
Serial.print("Alarm State: "); // Print the voltage.
Serial.println(Alarm_State); // Print the voltage.
Serial.print("Reason: ");
Serial.print(reason);
Serial.println(" ");
power->save(LOW);
delay(1000);
break;
}
}
void handleMessage(AdafruitIO_Data *data) {
if(data->toPinLevel() == HIGH){
Serial.print("Recieved Machine Power: ");
Serial.println("ON");
is_Relay_on=true;
is_Machine_on=true;
}else{
Serial.print("Recieved Machine Power: ");
Serial.println("OFF");
is_Relay_on=false;
reason="(((((( Manual Online Shut Down ))))))";
}
}
Это config.h:
#define IO_USERNAME "xyz"
#define IO_KEY "xyz"
#define WIFI_SSID "test"
#define WIFI_PASS "pass"
#include "AdafruitIO_WiFi.h"
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
@greatworldboss, 👍1
Обсуждение0
- esp32 Stack canary watchpoint срабатывает
- WindowsError(31, "Устройство, подключенное к системе, не функционирует") в arduino
- Как очистить кучу памяти в esp32
- MD5 файла не соответствует данным во флэш-памяти. Ошибка ESP32 S3.
- Adafruit esp32 Feather не удалось скомпилировать
- ESP32: почему malloc может выделять только 126888 байт с кучей 402540 байт?
- Код сканирования Wi-Fi для esp32 wroom 32
- ESP32 в Arduino-IDE с FS.h и SPIFFS
Это помогло бы включить весь ваш код в вопрос (запутать ваши учетные данные Wi-Fi и Adafruit) или, что еще лучше, минимальный код, который воспроизводит проблему. Кроме того, какая прошивка запущена на ESP?, @JRobert
http://collabedit.com/qfvkd - Вы можете увидеть весь код здесь, не можете вставить весь код в комментарии из-за ограничения символов., @greatworldboss
пожалуйста, никогда не указывайте код в комментариях ... добавьте код к сообщению, @jsotola
Хорошо, я включил полный код, а также файл config.h., @greatworldboss