Firmware

ดาวน์โหลด & แฟลชเฟิร์มแวร์

แฟลช ESP32 ได้ 3 ทาง — แฟลชผ่านเว็บนี้โดยตรง (ไม่ต้องลงโปรแกรม), ดาวน์โหลดไฟล์ .bin ไปแฟลชเอง, หรือ อัปเดตออนไลน์ผ่าน OTA สำหรับเครื่องที่ติดตั้ง FW 2.0.1 ขึ้นไปแล้ว

1) แฟลชผ่านเว็บ (Web Serial)

ต้องใช้ Chrome, Edge หรือ Opera บนคอมพิวเตอร์ — Web Serial ไม่รองรับบน Safari, Firefox และมือถือ และหน้าเว็บต้องเปิดผ่าน https://
การแฟลชผ่านเว็บใช้ full image (ครอบทั้งชิป) จึงรีเซ็ตค่า WiFi / ชื่อแพ็ค อยู่แล้ว ติ๊กช่องนี้เพื่อบังคับลบทั้งชิปก่อน หากบอร์ดมี partition เก่าค้างจนบูตไม่ขึ้น
พร้อมแฟลช — กด “เชื่อมต่อ & แฟลช” แล้วเลือกพอร์ต COM ของบอร์ด
ถ้าเชื่อมต่อไม่ติด — ต้องลงไดรเวอร์ USB-Serial ของบอร์ดก่อน (CP2102 หรือ CH340) และบางบอร์ดต้อง กดปุ่ม BOOT ค้างไว้ ตอนเริ่มแฟลช

2) ดาวน์โหลดไฟล์ .bin ไปแฟลชเอง

มี 2 แบบต่อรุ่น — full (bootloader + partition + app รวมกัน) แฟลชที่ 0x0 บูตได้จากบอร์ดเปล่า · app only แฟลชที่ 0x10000 ใช้กับ OTA หรือบอร์ดที่มี bootloader เดิมอยู่แล้วเท่านั้น

คำสั่ง esptool (full image → บูตได้จากบอร์ดเปล่า)

esptool.py --chip esp32 --port COM3 --baud 921600 write_flash 0x0 bmsgo-esp32-2.0.2-full.bin

รุ่น S3 เปลี่ยนเป็น --chip esp32s3 และไฟล์ …-esp32s3-…-full.bin — full image ครอบทั้งชิป การแฟลชจึงรีเซ็ตค่า WiFi/ชื่อแพ็ค (Device Code จาก eFuse ไม่เปลี่ยน) ถ้าต้องการอัปเดตแบบเก็บค่าเดิมให้ใช้ OTA ในข้อ 3

3) อัปเดตออนไลน์ (OTA) — FW 2.0.1 ขึ้นไป

เครื่องที่ลง FW 2.0.1 แล้ว ไม่ต้องต่อสาย USB อีก ตัวเครื่องจะเช็คเวอร์ชันใหม่กับ bmsgo.life ให้เอง

  1. เปิดหน้าเว็บของเครื่อง

    เข้าที่ IP ของ ESP32 ในวง LAN เช่น http://192.168.1.50 ถ้ามีเวอร์ชันใหม่จะมีแถบเขียวขึ้นบนสุดของแดชบอร์ด
  2. ไปที่ Settings → Firmware update

    กด Check for update เพื่อถามเซิร์ฟเวอร์ แล้วกด Download & install
  3. รอจนขึ้น “restarting”

    ห้ามตัดไฟระหว่างอัปเดต ใช้เวลาประมาณ 20–60 วินาที ถ้าดาวน์โหลดไม่สำเร็จ เครื่องจะทิ้งไฟล์และรันเฟิร์มแวร์เดิมต่อ
  4. อัปโหลดไฟล์เองก็ได้

    ในหน้าเดียวกันมีช่อง Manual update from a file เลือกไฟล์ .bin จากเครื่องแล้วกดอัปโหลด ใช้ได้แม้ไม่มีอินเทอร์เน็ต
ข้อควรรู้เรื่อง partition — OTA ต้องใช้ partition scheme ที่มี 2 ช่องแอป ถ้าคอมไพล์เองให้เลือก “Minimal SPIFFS (Large APPS with OTA)” ใน Arduino IDE ไฟล์ที่แจกในหน้านี้คอมไพล์มาแบบรองรับ OTA แล้ว

คำถามที่พบบ่อย

แฟลชผ่านเว็บแล้วค่าเดิมหายไหม?
การแฟลชผ่านเว็บใช้ full image (ครอบทั้งชิป) จึงรีเซ็ตค่า WiFi / ชื่อแพ็ค / โทเคน เหมือนลงใหม่จากศูนย์ แต่ Device Code ไม่เปลี่ยน (สร้างจาก eFuse MAC ของชิป) ประวัติบน bmsgo.life จึงต่อเนื่อง หลังแฟลชเสร็จเครื่องจะเปิดหน้าตั้งค่า WiFi ให้เอง ถ้าต้องการอัปเดตแบบเก็บค่าเดิม ให้ใช้ OTA (ข้อ 3) แทน
Device Code เปลี่ยนไหมหลังแฟลชใหม่?
ไม่เปลี่ยน — Device Code สร้างจาก eFuse MAC ของชิป ESP32 ซึ่งเป็นค่าฮาร์ดแวร์ ไม่ว่าจะแฟลชกี่ครั้งก็ได้รหัสเดิม ประวัติข้อมูลบน bmsgo.life จึงต่อเนื่อง
ใช้ไฟล์ของรุ่น CYD กับบอร์ดธรรมดาได้ไหม?
ไม่ได้ รุ่น CYD คอมไพล์สำหรับจอ ESP32-2432S028R และใช้ขา RS485 คนละขา (TX=22 / RX=27) ถ้าลงผิดรุ่นจะไม่มีข้อมูลขึ้นและจออาจไม่ติด เลือกให้ตรงกับบอร์ดที่ใช้จริง
อยากย้อนกลับไปเวอร์ชันเก่า
ดาวน์โหลด .bin ของเวอร์ชันที่ต้องการจากรายการด้านบน แล้วแฟลชผ่านเว็บหรือ esptool ได้เลย — OTA จะอัปเดตขึ้นอย่างเดียว แต่การแฟลชผ่านสายลงเวอร์ชันใดก็ได้