[ESP8266-Sonoff] มาลอง TASMOTA firmware สำหรับ Sonoff กันครับ
สวัสดีครับหลังจากที่หายไปหลายเดือน
พอดีได้มีโอกาสไปลองเล่น Sonoff มา ซึ่งรุ่นที่ได้ลองจะเป็น Module Sonoff Basic ลักษณะจะคล้ายๆกับบัลลาสต์เลยครับแต่ขนาดตัวจะเล็กกว่าประมาณครึ่งเลยที่เดียวครับ โดยปกติแล้วหลักจากที่เราซื้อ Sonoff มาทางผู้ผลิตเขาก็ได้ให้แอพพลิเคชั่นมาด้วยชื่อว่า eWeLink รองรับทั้ง Android และ iOS นะครับสามารถลองโหลดมาเล่นได้ซึ่งภายในแอพจะเป็นควบคุมการเปิด-ปิดไฟตามสไตล์ของ Smart Home ครับ
อุปกรณ์หลักๆภายใน Sonoff Basic รุ่นนี้จะใช้ ESP8266, Relay Module และ Power Supply สำหรับแปลงไฟ 220 VAC ไป 5 VDC ส่วนตารางข้างล่างนี้จะเป็นสเปคคร่าวๆนะครับ
เข้าเรื่องเลยละกันครับ จากรูป Schematic ของ Sonoff Basic ข้างบนเราจะสังเกตเห็นว่า เอ๊ะ มันมีพอร์ทสำหรับ UART หรือ Serial-TTL ให้เราด้วยซึ่งถ้าคนที่เคยเรียนรู้เกี่ยวกับ Hardware มาจะเข้าใจว่าเป็นพอร์ทสำหรับการส่งข้อมูลและรับข้อมูลสำหรับ Microcontroller นะครับ ใช่ครับ! หลักจากนั้นผมก็ได้ตามไปศึกษาเกี่ยวกับ sonoff แล้วก็ได้พบว่าเราสามารถสร้าง Custom Firmware ของเราขึ้นมาได้เอง แต่วันนี่เราคงไม่พูดถึงนะครับ
โดยวันนี้ผมจะมาแนะนำ Firmware ที่คิดว่าความสามารถครอบคลุมในเรื่องของ Smart Home ชื่อว่า Tasmota กันนะครับ
What is Tasmota ?
Tasmota คือ Opensouce Firmware สำหรับ ESP8266 ซึ่งถูกสร้างขึ้นมาสำหรับ Sonoff โดยเฉพาะสามารถรองรับ Sonoff ได้หลายๆโมดูลครับไม่ว่าจะเป็น Sonoff Basic, Sonoff T1 1Ch จนถึง Sonoff T1 3Ch ครับ จริงๆสามารถเข้าไปเช็คดูว่า Firmware นี้ Compatibility รุ่นไหนบ้างได้จากตรงนี้เลยครับ >> Sonoff Module Compatibility
Firmware Tasmota นี้จะเพิ่มความสามารถให้ Sonoff ของเราคือ
- Web UI config
- Control over MQTT, HTTP
- Timer, Schedule
- Web Admin Authentication
- OTA firmware update
- Integration with Smart home System: Home Assistant
เนื่องจากเป็น Opensorce Firmware ทาง Developer เขาก็ได้แจก code มาด้วย ผู้ใช้งานสามารถแก้ไข source code ได้ผ่าน Arduino IDE และ Platform IO ด้วยครับ
Requirement
- Sonoff Basic
- USB to Serial
- Single Row Male Pin Header
- Soldering Iron & Soldering Lead
- Firmware Flashing Tool : Esptool.py
- Tasmota Firmware
ของพร้อมคนพร้อมเริ่มกันเลยนะครับ
- แกะ Sonoff ให้เหลือแค่บอร์ดสีเขียวๆกันก่อนนะครับ
- จากนั้นให้นำก้างปลาตัวผู้มาเสียบที่รู 4 รู เล็กๆ ซึ่งจะอยู่ใกล้ๆกับตัวเก็บประจุและปุ่มกด
- บัดกรีไปเลยครับ เป็นอันเสร็จขั้นตอนการเตรียมอุปกรณ์ หลังจากนั้นไปยังฝั่งซอร์ฟแวร์บ้าง
- ต่อสายระหว่าง USB to Serial กับ Sonoff Basic ก่อนนะครับ
**ในระหว่างต่อสาย USB to Serial ห้ามต่อ Sonoff เข้ากับไฟบ้านโดยเด็ดขาดนะครับ และควรใช้ USB to Serial แบบที่ VCC = 3.3v นะครับเพราะถ้ามากกว่านี้อาจจะไปทำลาย Microcontroller ของ Sonoff ได้ครับ**
- หลังจากต่อสายเสร็จแล้วให้เรานำ USB to Serial เสียบเข้ากับคอมพิวเตอร์ของเราเพื่อจะทำการอัพโหลดเฟิร์มแวร์ โดยก่อนจะเสียบเข้ากับคอมนั้นให้เรากดปุ่มที่อยู่บนบอร์ดก่อนเพื่อให้ Sonoff ของเราเข้าสู่โหมด Upload ก่อนครับ วิธีกดก็กดค้างไว้เลยพร้อมกับเสียบสาย USB to Serial
- เมื่อ Sonoff Basic ของเราพร้อมสำหรับการอัพโหลดแล้วให้เราทดสอบโดยการใช้ esptool เช็คค่า MAC Address ของ Sonoff ก่อน หลังจากที่ได้ MAC Address มา Sonoff จะ Reset ตัวเองด้วยนะครับ ฉะนั้นเราจำเป็นต้องทำการเสียบ USB to Serial ใหม่พร้อมกับกดปุ่มด้วยนะครับเพื่อเข้าสู่โหมด Upload
**ในขั้นตอนนี้ผมจะใช้ esptool สำหรับการอัพโหลดนะครับโดย esptool นั้นจะรันผ่าน Windows PowerShell (Windows) และ Terminal (Linux) ท่านผู้อ่านต้องทำการติดตั้ง esptool ก่อนนะครับ**
- esptool.py -p COM3 read_mac //read mac address of sonoff
- จากนั้นทำการอัพโหลด Tasmota firmware กันครับ หลังจากที่ esptool อัพโหลดเฟิร์มแวร์เสร็จแล้ว Sonoff เราจะต้องทำการ restart Sonoff 1 รอบนะครับเพื่อให้ Sonoff ของเราเข้าสู่โหมด Normal โดยสังเกตจากการกะพริบของหลอดไฟ
- esptool.py --port COM3 erase_flash //erase flash memory of sonoff
- esptool.py --port COM3 write_flash -fs 1MB -fm dout 0x0 tasmota.bin //upload tasmota firmware
- เมื่ออัพโหลดเฟิร์มแวร์เสร็จแล้ว ขั้นต่อไปทำการเชื่อมโทรศัพท์ของเราเข้ากับ WIFI Access point ของ Sonoff โดยชื่อจะขึ้นต้นเป็น sonoff-xxx ครับ เมื่อเชื่อมต่อเสร็จสิ้นระบบจะ redirect URL มาที่ 192.168.4.1 ซึ่งจะเป็น IP ของ Sonoff เพื่อให้เราใส่ชื่อ AP และ Password สำหรับเชื่อมต่อกับเน็ตที่บ้านของเรา
- หลังจาก Sonoff เชื่อมต่อกับ WIFI ที่บ้านเราแล้ว ถัดมาเราจะสามารถควบคุม Sonoff ผ่าน Web UI โดยจำเป็นต้องเข้าผ่าน IP ของ Sonoff ซึ่ง IP นี้จะเป็น IP Address ที่ Router ที่บ้านของเราเป็นคนจ่ายให้กับตัวอุปกรณ์ซึ่งเราสามารถใช้ โปรแกรม IP Scanner สแกนหาได้เลยครับแล้วก็เข้าตาม IP Address นั้น
เสร็จสิ้นการอัพโหลด Tasmota Firmware สำหรับ Sonoff แล้วครับ จากความเห็นส่วนตัวผมคิดว่า Tasmota นั้นไม่ได้มีดีแค่หน้า Web UI นะครับส่วนหลักๆที่ผมคิดว่าเจ๋งคือน่าจะเป็น Wifi config manager และการเชื่อมต่อกับ MQTT ได้ ซึ่งเราน่าจะเอาไปประยุกต์ใช้กับหลายๆโปรเจคได้เหมือนกันครับ ไว้เดี๋ยวเรื่องต่อไปผมจะมาเขียนการเชื่อมต่อ MQTT กับ Tasmota Firmware ให้นะครับ
สำหรับวันนี้ขอบคุณและสวัสดีครับ
Alternative firmware for ESP8266 with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX.
Home automation is “The Internet of Things”. It simply means the way all devices or appliances are networked together to provide customers with a ..