Как сбросить модуль ESP8266 wifi

Я запрограммировал ESP8266, чтобы сделать его доступным через сеть, используя нижеприведенную программу.

Первая программа

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

//SSID and Password of your wifi router
const char* ssid = "Moto";
const char* password = "reset1234";

ESP8266WebServer server(80);

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

  WiFi.begin(ssid, password);     //Connect to your WiFi router
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  //If connection successful show IP address in serial monitor
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());  //IP address assigned to your ESP

  server.begin();                  //Start server
  Serial.println("HTTP server started");
}

void loop() {
  server.handleClient();          //Handle client requests
}

Он отлично работает, каков способ его сбросить для запуска под программой? Я хотел отправить команды AT на последовательный монитор, используя нижеприведенную программу, которая была загружена успешно, но не отвечает AT-командам на Serial Monitor, поскольку ESP8266 работает над программой и отображает вывод вышеуказанной программы при запуске под программой Serial Monitor.

Я хочу перезагрузить ESP8266, чтобы он ответил на нижеприведенную программу. Каким образом?

Connected to Moto
IP address: 192.168.43.115
HTTP server started

SecondProgram

#include "SoftwareSerial.h"

SoftwareSerial esp8266(2, 3); // RX, TX

void setup()
{
  Serial.begin(9600); // serial port used for debugging
  esp8266.begin(9600);  // your ESP's baud rate might be different
}

void loop()
{
  if(esp8266.available())  // check if the ESP is sending a message
  {
    while(esp8266.available())
    {
      char c = esp8266.read();  // read the next character.

      Serial.write(c);  // writes data to the serial monitor
    }
  }

  if(Serial.available())
  {
    delay(10);  // wait to let all the input command in the serial buffer
    Serial.write("Hello");
    // read the input command in a string
    String cmd = "";
    while(Serial.available())
    {
      cmd += (char)Serial.read();
    }
    // send to the esp8266
    esp8266.println(cmd); 
  }
}
2 голоса | спросил N Sharma 9 Maypm17 2017, 20:14:07

2 ответа


3

Вам необходимо переустановить прошивку AI Thinker AT.

Вот как вы это делаете: Как обновить прошивку ESP8266 ESP -01 AI thinker

В прошлый раз, когда я это сделал, я использовал программу esptool.py и использовал , там есть две версии, по умолчанию 115200 бод, и вариант 9600 бод).

В Linux я тогда использовал команду:

[email protected]:~$ ./esptool.py --port /dev/ttyUSB0 --baud 57600 write_flash 0 ai-thinker-0.9.5.2.bin
Connecting....
Detecting chip type... ESP8266
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 512KB
Flash params set to 0x0000
Compressed 520192 bytes to 165297...
Wrote 520192 bytes (165297 compressed) at 0x00000000 in 29.0 seconds (effective 143.3 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting...

Это было, конечно же, с GPIO0, проведенным LOW для режима программирования (я на самом деле использую адаптер с программным переключателем, который управляет GPIO0), а для других операционных систем вам нужно будет изменить имя порта в соответствии с (COM3:, /dev/cu.usbmodem4873 и т. Д.).

ответил Majenko 9 Maypm17 2017, 20:27:33
-1
//reset settings - in case of trouble just put in your code
//wifiManager.resetSettings();

Это все, что вам нужно

ответил jens hansen 29 MaramThu, 29 Mar 2018 02:34:24 +03002018-03-29T02:34:24+03:0002 2018, 02:34:24

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132