带有 DHT11 / DHT22 Standalon 的 ESP8266 -> Arduino 刷新 ESP8266 时出现问题

问题描述 投票:0回答:2

在来到这里之前,我已经尝试了很多在网上和这里找到的解决方案。 问题是: 编译代码(通过良好)后,我尝试通过 Arduino 将其上传到 ESP8266。 结果是:

« esptool.py v3.0 Serial port /dev/ttyACM0

Connecting........_____....._____....._____....._____....._____....._____.....____

Traceback (most recent call last):
File "/home/patrick/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/upload.py", line 66, in <module> esptool.main(cmdline)

File "/home/patrick/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 3552, in main esp.connect(args.before, args.connect_attempts)

File "/home/patrick/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 529, in connect raise

FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error)) esptool.

FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

_ le port série sélectionné _  n'existe pas ou votre Arduino n'est pas connecté »

在传输过程中,我可以看到 Arduino(TX 和 RX)DEL 闪烁,Arduino RX 闪烁,ESP8266 TX 也闪烁。 从那里......我感觉有良好的联系。

引脚排列是这样的

Arduino - ESP8266

接地 - 接地

3.3V-VCC

RX+0 - 发送

TX+1 - RX

3.3V - CH_PD/EN

根据ESP8266引脚排列

我尝试过

  • 更改上传速度
  • 更改CPU频率
  • 改变晶体频率
  • 切换 TX / RX 以防万一我会将它们插反
  • 更新了 DHT 驱动程序并相应地调整了代码
  • 将 Arduino IDE 上的 ESP8666 驱动程序从 3.2 降级到 2.5.1、2.5.0、2.4.9
  • 修改upload.py文件第66行及其左右

我的 ESP8666 之前确实正确连接到 WiFi 网络,使用 Raspberry PICO 和 micropython 对其进行编程。 由此,我非常确定设备的良好工作状态。

下面是我的C++代码

#include <ESP8266WiFi.h>
#include <DHT.h>

const char* ssid     = "BullFrog"; // Your ssid
const char* password = "Pr1on$J3sus"; // Your Password

WiFiServer server(80);

//Instantiation d'une nouvelle classe DHT
// DHT DHT (pin, type, count);
//  @param  pin
//    pin number that sensor is connected
//  @param  type
//    type of sensor
//  @param  count
//    number of sensors
DHT DHT(2, 11, 1);

double Fahrenheit(double celsius) {
return ((double)(9 / 5) * celsius) + 32;
}

double Kelvin(double celsius) {
return celsius + 273.15;
}

void setup() {
Serial.begin(115200);
delay(10);
Serial.println();

// Connect to WiFi network
WiFi.mode(WIFI_STA);
Serial.println();
Serial.println();
Serial.print("Tentative de connexion au Wifi nommé ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Connexion WiFi établie");

// Start the server
server.begin();
Serial.println("Démarrage du serveur web");

// Print the IP address
Serial.println(WiFi.localIP());
}

void loop() {
int err;
float temp, humi;
if (temp = DHT.readTemperature(false, false)) {
  Serial.print("Température:");
  Serial.print(temp);
} else {
  Serial.println();
  Serial.print("Erreur lors de la lecture de la température. No :");
  Serial.print(err);
  Serial.println();
}

if (temp = DHT.readHumidity(false)) {
  Serial.print(" Humidité:");
  Serial.print(humi);
  Serial.println();
} else {
  Serial.println();
  Serial.print("Erreur lors de la lecture de l humidité relative. No :");
  Serial.print(err);
  Serial.println();
}
WiFiClient client = server.available();
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close"); 
client.println("Refresh: 5");  
client.println();
client.println("<!DOCTYPE html>");
client.println("<html xmlns='http://www.w3.org/1999/xhtml'>");
client.println("<head>\n<meta charset='UTF-8'>");
client.println("<title>ESP8266 Température & Humidité DHT11</title>");
client.println("</head>\n<body>");
client.println("<H2>Capteurs ESP8266 & DHT11</H2>");
client.println("<H3>Humidité / Température</H3>");
client.println("<pre>");
client.print("Humidité (%)       : ");
client.println((float)humi, 2);
client.print("Température (°C)  : ");
client.println((float)temp, 2);
client.print("Température (°F)  : ");
client.println(Fahrenheit(temp), 2);
client.print("Température (°K)  : ");
client.println(Kelvin(temp), 2);
client.println("</pre>");
client.println("<H3>Revenez nous voir!</H3>");
client.print("</body>\n</html>");
//  delay(DHT11_RETRY_DELAY); //delay for reread
}

我想独立使用这个套件

我遵循了

本教程(以及其他)

感谢您的关注和帮助。

arduino esp8266
2个回答
0
投票
我会首先尝试使用简单的 Blink 草图对 ESP-01 进行编程,只是为了确认 ESP-01 是否正常。

这些是来自您引用的同一网站的示例:

  • https://www.elec-cafe.com/tag/esp8266-flasher/
  • https://www.elec-cafe.com/esp8266-esp-01-firmware-update/
此外,ESP8266 需要大量电量来进行 WiFi 传输。 有时使用单独的电源并在 ESP 芯片的 VCC 和 GND 之间添加 470uF 或 1000uF 电容器会有所帮助。

我希望这可以帮助您成功。


0
投票
问题不在于编码,而在于接线。

请记住(使用 ESP8266-01):

靠近板中间的那一排引脚1作为GND(从左到右1,2,3,4)

靠近板脊的那一排引脚5作为VCC(从右到左5、6、7、8)

Uploading connection

引脚 5 和 7 必须永久连接 将代码加载到 ESP8266-01 中:在上传时间内必须连接引脚 1 和 3。

所有内容上传完毕后,回到使用位置(uplug 1 - 3),如下所示:

Using connections

© www.soinside.com 2019 - 2024. All rights reserved.