AT команда AT+CWJAP команда всегда терпит неудачу при подключении к Wi-Fi

here

См. раздел Подключение к Wi-Fi от https://www.cooking-hacks.com/mysignals-hw-ehealth-medical-biometric-iot-platform-arduino-tutorial.html

    #include <MySignals.h>
#include "Wire.h"
#include "SPI.h"


void setup()
{
  Serial.begin(115200);

  MySignals.begin();

  //Enable WiFi ESP8266 Power -> bit1:1
  bitSet(MySignals.expanderState, EXP_ESP8266_POWER);
  MySignals.expanderWrite(MySignals.expanderState);

  MySignals.initSensorUART();

  MySignals.enableSensorUART(WIFI_ESP8266);
  delay(1000);

  // Проверяет, запущен ли модуль Wi-Fi
  int8_t answer = sendATcommand("AT", "OK", 6000);
  if (answer == 0)
  {
    MySignals.println("Error");
    // ждет ответа от модуля
    while (answer == 0)
    {
      // Отправлять КАЖДЫЕ две секунды и ждать ответа
      answer = sendATcommand("AT", "OK", 6000);
    }
  }
  else if (answer == 1)
  {

    MySignals.println("WiFi succesfully working!");


    if (sendATcommand("AT+CWMODE=1", "OK", 6000))
    {
      MySignals.println("CWMODE OK");
    }
    else
    {
      MySignals.println("CWMODE Error");

    }


    //Измените здесь свой WIFI_SID и WIFI_PASSWORD
    if (sendATcommand("AT+CWJAP=\"WIFI_SSID\",\"WIFI_PASSWORD\"", "OK", 20000))
    {
      MySignals.println("Connected!");
    }
    else
    {
      MySignals.println("Error");

    }
  }
}

void loop()
{
  delay(5000);
}



int8_t sendATcommand(char* ATcommand, char* expected_answer1, unsigned int timeout)
{

  uint8_t x = 0,  answer = 0;
  char response[500];
  unsigned long previous;

  memset(response, '\0', sizeof(response));    // Инициализировать строку

  delay(100);

  while ( Serial.available() > 0) Serial.read();   // Очистить входной буфер

  delay(1000);
  Serial.println(ATcommand);    // Отправить команду AT

  x = 0;
  previous = millis();

  // этот цикл ждет ответа
  do
  {

    if (Serial.available() != 0)
    {
      response[x] = Serial.read();
      x++;
      // проверьте, есть ли желаемый ответ в ответе модуля
      if (strstr(response, expected_answer1) != NULL)
      {
        answer = 1;
        //MySignals.println(response);

      }
    }
    // Ждет ответ по тайм-ауту
  }
  while ((answer == 0) && ((millis() - previous) < timeout));

  return answer;
}

Я не могу подключиться к маршрутизатору, даже если я использую один и тот же SSID и пароль

, 👍1

Обсуждение

выведите ответ, если "ответ" равен 0, @Juraj