Arduino Mega + ESP01
- Войдите на сайт для отправки комментариев
Ср, 22/07/2020 - 17:14
Прикрепляю к плате модуль WiFi ESP-01/
модуль в сети виден, обнаруживается в "ESP8266 Config.exe", настраивается.
при попытке инициализации в проекте не инициализируется. какие могут быть проблемы:
причём, проект стандартный, сканирование сети WiFi. ранее работал. Теперь ни один проект не работает с WiFi. Модулей несколько, везде одинаково
#include "WiFiEsp.h" // Emulate Serial1 on pins 6/7 if not present #ifndef HAVE_HWSERIAL1 #include "SoftwareSerial.h" SoftwareSerial Serial2(9, 8); // RX, TX #endif int val = 0; void setup() { Serial.begin(115200); Serial.println("стартую ..."); // initialize serial for debugging Serial2.begin(115200); // initialize serial for ESP module if (Serial2) Serial.println("порт для WiFi открыт"); // initialize ESP module Serial.println("сейчас ..."); WiFi.init(&Serial2); Serial.println("готово ..."); // check for the presence of the shield //if (WiFi.status() == WL_NO_SHIELD) { // Serial.println("WiFi shield not present"); // on't continue // while (true); //} // Print WiFi MAC address printMacAddress(); } void loop() { if (Serial.available() > 0) { //Serial.println("поехали ..."); char e = Serial.read(); val = e; Serial.println(e); if (e == 's') { Serial.println(); Serial.println("Scanning available networks..."); listNetworks(); } else if (e == 'g') { Serial2.println("AT+GMR"); } else if (e == 'p') { printWifiStatus(); } else Serial.println("нет комманды такой"); } //if (Serial2.available() > 0) { } } void printMacAddress() { // get your MAC address byte mac[6]; WiFi.macAddress(mac); // print MAC address char buf[20]; sprintf(buf, "%02X:%02X:%02X:%02X:%02X:%02X", mac[5], mac[4], mac[3], mac[2], mac[1], mac[0]); Serial.print("MAC address: "); Serial.println(buf); } void printWifiStatus() { // print the SSID of the network you're attached to: Serial.print("SSID: "); Serial.println(WiFi.SSID()); // print your WiFi shield's IP address: IPAddress ip = WiFi.localIP(); Serial.print("IP Address: "); Serial.println(ip); // print the received signal strength: long rssi = WiFi.RSSI(); Serial.print("signal strength (RSSI):"); Serial.print(rssi); Serial.println(" dBm"); } void listNetworks() { // scan for nearby networks int numSsid = WiFi.scanNetworks(); if (numSsid == -1) { Serial.println("Couldn't get a wifi connection"); while (true); } // print the list of networks seen Serial.print("Number of available networks:"); Serial.println(numSsid); // print the network number and name for each network found for (int thisNet = 0; thisNet < numSsid; thisNet++) { Serial.print(thisNet); Serial.print(") "); Serial.print(WiFi.SSID(thisNet)); Serial.print("\tSignal: "); Serial.print(WiFi.RSSI(thisNet)); Serial.print(" dBm"); Serial.print("\tEncryption: "); printEncryptionType(WiFi.encryptionType(thisNet)); } } void printEncryptionType(int thisType) { // read the encryption type and print out the name switch (thisType) { case ENC_TYPE_WEP: Serial.print("WEP"); break; case ENC_TYPE_WPA_PSK: Serial.print("WPA_PSK"); break; case ENC_TYPE_WPA2_PSK: Serial.print("WPA2_PSK"); break; case ENC_TYPE_WPA_WPA2_PSK: Serial.print("WPA_WPA2_PSK"); break; case ENC_TYPE_NONE: Serial.print("None"); break; } Serial.println(); }
к каким пинам ЕСП подключаете?
8 и 9
8 и 9
потому и не работает. У меги есть хардварный Сериал2, поэтому софтовый в этом коде не запускается. А хардварный Сериал2 на меге - на пинах 16 и 17, если даташит не врет, а вовсе не 8 и 9
пардон, это я сказал по UNO
а на меге - Serial2 - TX2/RX2