อัพโหลดลงบอร์ดnode mcu v3 esp8266ไม่ได้ครับ ช่วยทีครับ

Arduino: 1.8.13 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

Executable segment sizes:

IROM   : 353280          - code in flash         (default or ICACHE_FLASH_ATTR) 

IRAM   : 27324   / 32768 - code in IRAM          (ICACHE_RAM_ATTR, ISRs...) 

DATA   : 1252  )         - initialized variables (global, static) in RAM/HEAP 

RODATA : 1636  ) / 81920 - constants             (global, static) in RAM/HEAP 

BSS    : 25016 )         - zeroed variables      (global, static) in RAM/HEAP 

Sketch uses 383492 bytes (36%) of program storage space. Maximum is 1044464 bytes.

Global variables use 27904 bytes (34%) of dynamic memory, leaving 54016 bytes for local variables. Maximum is 81920 bytes.

esptool.py v2.8

Serial port COM4

Connecting...

Traceback (most recent call last):

  File "C:\Users\mike\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4/tools/upload.py", line 65, in <module>

    esptool.main(cmdline)

  File "C:/Users/mike/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 2890, in main

    esp.connect(args.before)

  File "C:/Users/mike/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 475, in connect

    last_error = self._connect_attempt(mode=mode, esp32r0_delay=False)

  File "C:/Users/mike/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 455, in _connect_attempt

    self.sync()

  File "C:/Users/mike/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 394, in sync

    timeout=SYNC_TIMEOUT)

  File "C:/Users/mike/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 337, in command

    self.write(pkt)

  File "C:/Users/mike/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 300, in write

    self._port.write(buf)

  File "C:/Users/mike/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/pyserial\serial\serialwin32.py", line 323, in write

    raise writeTimeoutError

serial.serialutil.SerialTimeoutException: Write timeout

the selected serial port serial.serialutil.SerialTimeoutException: Write timeout

 does not exist or your board is not connected



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

ก่อนหน้านี้ สามารถ Up Code กับ Board อื่นได้ปกติไหม

ก่อนหน้านี้ตอนเรียนอัพไดัปกติครับ แต่ตอนนั้นประมาณ7เดือนที่แล้วครับ

เข้าไป update Library และ Ver. Board ก่อนครับ มีการ Up Date อุปกรณ์ และ Library

1 Like

ผมลองอัพเดตหมดแล้วก็ยังเหมือนเดิมครับ

ใช้ Board ของอะไรครับ
รบกวน ขอดู Code หน่อยครับ
เลือก Board อะไรไว้ครับ ขอดูการเลือก Board ตามตัวอย่างหน่อยครับ

void Line_Notify1(String message1) ;
#include <ESP8266WiFi.h>
#define WIFI_SSID "3BB_Thawatchai_2.4GHz" /////////////*************แก้
#define WIFI_PASSWORD "0811918302"////////**************แก้
#define LINE_TOKEN_PIR "cluGT37AqLdQzGiyXLUZk2ZyLL4L5rmqHRzvf8CCrn2" ////***************แก้
#define PirPin 12

String message1 = "%E0%B9%84%E0%B8%94%E0%B9%89%E0%B8%A3%E0%B8%B1%E0%B8%9A%E0%B8%88%E0%B8%94%E0%B8%AB%E0%B8%A1%E0%B8%B2%E0%B8%A2%E0%B9%81%E0%B8%A5%E0%B9%89%E0%B8%A7";//****************แก้
bool beep_state = false;
bool send_state = false;
uint32_t ts, ts1, ts2;
void setup() {
  Serial.begin(115200);
  Serial.println();
  pinMode(PirPin, INPUT);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);
 // dht.begin();
  Serial.println("connecting");
  WiFi.mode(WIFI_STA);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("connecting");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println();
  Serial.print("connected: ");
  Serial.println(WiFi.localIP());
  delay(10000);
  Serial.println("Pir Ready!!");
  //read_sensor();
  ts = ts1 = ts2 = millis();
}
void loop() {
  ts = millis();
  if (WiFi.status() == WL_CONNECTED) {
    digitalWrite(LED_BUILTIN, LOW);
  } else {
    digitalWrite(LED_BUILTIN, HIGH);
  }
    
  if ((ts - ts1 >= 5000) && (beep_state == true)) {
    beep_state = false;
  } 
  
  if ((digitalRead(PirPin) == HIGH) && (beep_state == false) && (WiFi.status() == WL_CONNECTED)) {
    while (digitalRead(PirPin) == HIGH) delay(100);
    Serial.println("Detect !");
    Line_Notify1(message1);
    beep_state = true;
  }
  delay(10);
}
void Line_Notify1(String message) {
  WiFiClientSecure client;
  if (!client.connect("notify-api.line.me", 443)) {
    Serial.println("connection failed");
    delay(2000);
    return;
  }
  String req = "";
  req += "POST /api/notify HTTP/1.1\r\n";
  req += "Host: notify-api.line.me\r\n";
  req += "Authorization: Bearer " + String(LINE_TOKEN_PIR) + "\r\n";
  req += "Cache-Control: no-cache\r\n";
  req += "User-Agent: ESP8266\r\n";
  req += "Content-Type: application/x-www-form-urlencoded\r\n";
  req += "Content-Length: " + String(String("message=" + message1).length()) + "\r\n";
  req += "\r\n";
  req += "message=" + message1;
  // Serial.println(req);
  client.print(req);
  delay(20);
  while (client.connected()) {
    String line = client.readStringUntil('\n');
    if (line == "\r") {
      break;
    }
  }
}

Code เขียนเองหรือ Copy จาก Net แล้วเอามาวางครับ

ตอนนี้ Code การแจ้งเข้า Line มี Library ตัวใหม่ เขียนง่ายมากแล้วครับ

copy จากในเว็บครับ

ทดลองที่ละขั้นนะครับ

  1. กดเครื่องหมายถูก ตรงมุมซ้ายบนก่อน ตรงนั้นจะเป็นการตรวจสอบ Code ว่าเขียนได้ถูกต้องไหม ถ้าถูกต้อง จะต้องไม่มีการแจ้งเตือน แต่ถ้า error copy ทั้งหน้าให้ดูหน่อย จะมีเส้นสีส้มๆแจ้งเตือนบรรทัดไหน error แล้วดูว่า แจ้งเตือนอะไร

ดังตัวอย่าง Code ของท่านที่ส่งมามันมี Error อยู่ สาเหตุจากการ Copy มาจากเนท แล้วเครื่องหมายฟันหนู ( " " ) มันไม่ถูกต้อง ต้องใช้เครื่องหมายฟันหนู ของ Front ของเครื่องเรา


Front ของเครื่องเรา

Code ของท่านที่แก้ไข ฟันหนู โดยใช้ Front ของเครื่องที่ติดตั้ง IDE ไว้ สามารถ compile ผ่าน

ได้แล้วครับ ขอบคุณครับ

สรุปให้หน่อยครับ ทำยังไงถึงสามารถแก้ปัญหาได้ จะได้เป็นข้อมูลให้กับท่านอื่นๆ ได้ทำตามเพื่อแก้ไขปัญหาเดียวกันได้ครับ