ets Jan 8 2013,rst cause:4, boot mode:(1,7)
У меня возникла проблема с ESP8266-01, описанная ниже:
контрольная сумма 0x42 csum 0x42 ~ld ets, 8 января 2013 г., первая причина: 4, режим загрузки: (1,0) сброс wdt
У кого есть решение, помогите!!!
#include <LiquidCrystal.h> //Загружаем библиотеку жидких кристаллов
LiquidCrystal LCD(12, 11, 5, 4, 3, 2); //Создаем жидкокристаллический объект с именем LCD
#include <ESP8266WiFi.h>
const char* ssid = "your-ssid";
const char* password = "your-password";
const char* host = "your-localhost";
#define in 7
#define out 8
#define trigPin 10
#define echoPin 13
#define relay 2
#define led 6 //красный цвет
#define led2 A0 //желтый цвет
#define led3 9 //зеленый цвет
int count = 0;
int distanceCm;
long duration;
void IN()
{
count++;
LCD.clear();
LCD.print("Number of Item:");
LCD.setCursor(0,1);
LCD.print(count);
delay(10);
LCD.setCursor(3,1);
LCD.print(distanceCm);
delay(10);
LCD.setCursor(6,1);
LCD.print(" cm");
if(distanceCm <= 3){
delayMicroseconds(10);
LCD.setCursor(10,1);
LCD.print("Full");
digitalWrite(led, HIGH);
}else{
digitalWrite(led, LOW);
}
if(distanceCm > 3 && distanceCm <= 5){
delayMicroseconds(10);
LCD.setCursor(10,1);
LCD.print("Enable");
digitalWrite(led2, HIGH);
} else{
digitalWrite(led2, LOW);
}
if(distanceCm > 5){
delayMicroseconds(10);
LCD.setCursor(10,1);
LCD.print("Empty");
digitalWrite(led3, HIGH);
} else {
digitalWrite(led3, LOW);
}
delay(500);
}
void OUT()
{
count--;
LCD.clear();
LCD.print("Number of Item:");
LCD.setCursor(0,1);
LCD.print(count);
delay(10);
LCD.setCursor(3,1);
LCD.print(distanceCm);
LCD.setCursor(6,1);
LCD.print(" cm");
if(distanceCm <= 3){
delayMicroseconds(10);
LCD.setCursor(10,1);
LCD.print("Full");
digitalWrite(led, HIGH);
}else{
digitalWrite(led, LOW);
}
if(distanceCm > 3 && distanceCm <= 5){
delayMicroseconds(10);
LCD.setCursor(10,1);
LCD.print("Enable");
digitalWrite(led2, HIGH);
} else{
digitalWrite(led2, LOW);
}
if(distanceCm > 5){
delayMicroseconds(10);
LCD.setCursor(10,1);
LCD.print("Empty");
digitalWrite(led3, HIGH);
} else {
digitalWrite(led3, LOW);
}
delay(500);
}
void setup() {
// поместите сюда свой код установки для однократного запуска:
Serial.begin(115200);
delay(10);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
LCD.begin(16,2);
LCD.print("Item Counter");
delay(2000);
pinMode(in, INPUT);
pinMode(out, INPUT);
pinMode(relay, OUTPUT);
LCD.clear();
LCD.print("Item In Box:");
LCD.setCursor(0,1);
LCD.print(count);
// Начинаем с подключения к сети Wi-Fi
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
// ESP.wdtFeed();
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
// ESP.restart();
}
int value = 0;
void loop() {
delay(0);
delay(5000);
++value;
digitalWrite(trigPin, LOW);
delayMicroseconds(10);
digitalWrite(trigPin, HIGH);
delayMicroseconds(50);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm = duration * 0.034/2;
//************************************************ ******//
//Объект подсчета ИК-датчика
if(digitalRead(in))
IN();
if(digitalRead(out))
OUT();
if(count<=0)
{
LCD.clear();
digitalWrite(relay, LOW);
LCD.clear();
LCD.print("No Item in box");
LCD.setCursor(0,1);
LCD.print("box is empty");
delay(200);
}
else{
digitalWrite(relay, HIGH);
}
Serial.print("connecting to ");
Serial.println(host);
// Используем класс WiFiClient для создания TCP-соединений
WiFiClient client;
const int httpPort = 8095;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
if(WiFi.status() != WL_CONNECTED){
WiFi.begin(ssid,password);
while (WiFi.status()!= WL_CONNECTED)
{
Serial.println("Waiting for connection");
delay(0);
}
}
String IRCount, myDistance;
IRCount = String(count);
myDistance = String(distanceCm);
// Теперь мы создаем URI для запроса
String url = "/Registration/write_data.php";
url += "?item=";
url += IRCount;
url += "&distance=";
url += myDistance;
Serial.print("Requesting URL: ");
Serial.println(url);
// Это отправит запрос на сервер
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
int timeout = millis() + 5000;
while (client.available() == 0) {
if (timeout - millis() < 0) {
Serial.println(">>> Client Timeout !");
client.stop();
return;
}
}
// Читаем все строки ответа с сервера и печатаем их в Serial
while(client.available()){
String line = client.readStringUntil('\r');
Serial.print(line);
}
Serial.println();
Serial.println("closing connection");
delay(0);
}
@Annoymous20, 👍0
Обсуждение1 ответ
esp-01 имеет 4 контакта ввода-вывода: RX, TX, io 0 и io 2. Остальные контакты недоступны. От io 6 до io 11 подключены к встроенной флэш-памяти и не могут использоваться.
Что вы думаете, используя другие контакты, кроме 0 и 2? как ты подключил эти датчики и светодиоды к esp-01?
Потому что что касается датчиков и светодиодов... Я хочу передать данные датчиков на свой сервер. Итак, можно ли сохранить данные моего датчика в базе данных MySQL и отобразить их на моей веб-странице. Я подключил эти провода к плате Arduino UNO., @Annoymous20
Есть ли у вас идеи передать данные датчиков на веб-страницу локального сервера PHP? или необходимо сменить другой приемник Wi-Fi для передачи данных на мою веб-страницу локального хоста?, @Annoymous20
Моя проблема такая же, как и на этом форуме до https://arduinoprosto.ru/q/48234/getting-error-ets-jan-8-2013-rst-cause4-boot-mode1-6-wdt-reset. Но я не вижу никакого решения для этого, @Annoymous20
нет никакой магии, которая могла бы читать контакты Uno в подключенном esp8266. вы можете использовать Firmata с библиотекой Firmata Master esp8266, но проще написать два эскиза, @Juraj
а другие эскизы связаны с основными эскизами?, @Annoymous20
проблема, которую вы связали, другая. Уно нет. датчики подключены к плате разработчика esp8266, @Juraj
я не пишу соединение esp8266 в исходном коде... я просто пишу датчики, которые подключаются к плате UNO... я не уверен, правильно это или нет, @Annoymous20
вам нужен скетч в Uno и скетч или прошивка в esp8266, @Juraj
Вы имеете в виду, что мне нужно создать два эскиза: код платы uno и исходный код esp01? Извините... я совершенно не знаю, как это сделать, @Annoymous20
шаг за шагом. сначала создайте и отладьте эскиз для Uno без подключения к сети с выводом на последовательный монитор., @Juraj
или купите плату разработки esp8266, например Wemos/Lolin или NodeMcu, и прикрепите к ней датчики., @Juraj
- AT-команда не отвечает на последовательный монитор
- Отправка данных Arduino в MySQL с помощью phpMyAdmin и XAMPP на Windows10
- Arduino выводит значения мусора на serial monitor с ESP8266
- ошибка: espcomm_upload_mem failed при загрузке скетча
- фатальная ошибка ESP8266WiFi.h: Такого файла или каталога нет
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
- Получить данные с сайта с помощью ESP8266 с помощью AT-команд
- Захват изображений с OV7670 (без FIFO) с использованием Arduino Uno?
это сброс сторожевого таймера. что прошито в esp8266?, @Juraj
@Juraj Размер флэш-памяти: 1 МБ (512 тыс. SPIFFS) Узел флэш-памяти: DIO, @Annoymous20
я уже перепробовал все размеры флэш-памяти, но ошибка все еще существует, @Annoymous20
это не то, что я спросил, @Juraj
Извините... я не понимаю, что вы имеете в виду, промелькнув в esp8266., @Annoymous20
Контакты GPIO 0, которые я использовал в esp8266-01., @Annoymous20
какая прошивка или скетч прошит? это программная ошибка при сбросе, поэтому сообщите нам, что вы загрузили, @Juraj
Я не уверен, в чем заключается ошибка... но я использую пример WiFiClient для загрузки фиктивных данных на веб-страницу локального хоста php, и это работает, но когда я использую следующий текстовый файл ниже для загрузки данных на веб-страницу, и он показывает вышеуказанная ошибка [ESP8266_upload.txt](https://github.com/esp8266/Arduino/files/2660837/ESP8266_upload.txt), @Annoymous20