Arduino Mega + ESP01

Михаил З
Offline
Зарегистрирован: 22.03.2020

Прикрепляю к плате модуль 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();
}

 

b707
Offline
Зарегистрирован: 26.05.2017

к каким пинам ЕСП подключаете?

Михаил З
Offline
Зарегистрирован: 22.03.2020

8 и 9

b707
Offline
Зарегистрирован: 26.05.2017

Михаил З пишет:

8 и 9

потому и не работает. У меги есть хардварный Сериал2, поэтому софтовый в этом коде не запускается. А хардварный Сериал2 на меге - на пинах 16 и 17, если даташит не врет, а вовсе не 8 и 9

Михаил З
Offline
Зарегистрирован: 22.03.2020

пардон, это я сказал по UNO

а на меге - Serial2 - TX2/RX2