簡體   English   中英

已解決 --- ESP8266 with DHT11 / DHT22 Standalon -> 問題 Arduino 到 flash ESP8266

[英]Solved --- ESP8266 with DHT11 / DHT22 Standalon -> problem with Arduino to flash the ESP8266

在來這里之前,我已經嘗試了很多在 .net 和這里找到的解決方案。 問題是:編譯代碼(順利通過)后,我嘗試通過 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

接收+0 - 發送

TX+1 - RX

3.3V - CH_PD/EN

根據ESP8266pinout

我嘗試過了

  • 更改上傳速度
  • 改變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 對其進行編程。 由此,我非常確定設備的良好工作 state。

下面是我的 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
}

我想獨立使用這個套件

我遵循了本教程(以及其他)

感謝您的關注和幫助。

我會首先嘗試使用簡單的 Blink 草圖對您的 ESP-01 進行編程,以確認 ESP-01 是否正常。

這些是來自您引用的同一網站的示例:

此外,ESP8266 需要大量的 WiFi 傳輸功率。 有時使用單獨的電源並在 ESP 芯片的 VCC 和 GND 之間添加 470uF 或 1000uF 電容會有所幫助。

我希望這可以幫助你成功。

問題不在於編碼,而在於布線。

請記住(使用 ESP8266-01):

引腳 1 作為 GND(從左到右 1、2、3、4)在板中間附近的行上

引腳 5 作為 VCC(從右到左 5、6、7、8)在板脊附近的行上

上傳連接

引腳 5 和 7 必須永久連接才能將代碼加載到 ESP8266-01:引腳 1 和 3 必須在上傳持續時間內連接。

上傳所有內容后,返回使用 position(uplug 1 - 3),如下所示: 使用連接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM