ติดตั้ง Sonoff-tasmota firmware บน Sonoff WiFi Switch เพื่อให้ใช้งาน MQTT ได้

Sonoff Switch

เป็น WiFi Switch สำเร็จรูป based on ESP8266 สำหรับตัวมันเองมี firmware ใส่มาให้จากโรงงานอยู่เเล้ว เเต่ไม่สามารถนำมาใช้กับ Home assistant ได้ จึงต้อง flash firmware ตัวใหม่เข้าไปให้สามารถใช้งาน MQTT ได้ ทำให้ทำงานร่วมกับ Home assistant ได้

ขั้นตอนการ Flash firmware ลงบน Sonoff WiFi Switch

1. Download ArduinoIDE ใช้สำหรับการเเก้ไขเเละ flash firmware ให้ sonoff switch
https://www.arduino.cc/en/main/software
ให้ Download เป็นเเบบ zip file for non admin installer เมื่อ download เสร็จเเล้ว ให้ extract ลงใน folder ที่ต้องการได้เลย

2. เมื่อติดตั้งเสร็จเเล้ว ให้เข้าไปที่ folder ที่ติดตั้งเเละสร้าง folder ใหม่ชื่อ portable
3.เปิดโปรเเกรม ArduinoIDE ขึ้นมา ไปที่ menu file->preference เมื่อเปิดขึ้นมาเเล้วให้ใส่ 
ลิ้งค์ http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json ลงในช่อง Additional boards manager URLs เพื่ออนุญาติให้ ArduinoIDE download file ที่จำเป็นต้องใช้เพื่อจะ flash firmware ลงบน esp8266
เสร็จเเล้วกด OK

4. เพื่อ download package ที่จำเป็นในการ flash firmware ลงบน esp8266ไปที่ menu tools->board->boards manager เเล้ว search หา esp8266
กด install เลย
ไปที่ menu sketch->include libraries->manage libraries เเล้ว search หา pubsubclient กับ arduinojson


กด install เลย

5. เข้าไปที่ folder portable ที่สร้างไว้ เข้าไปที่ folder sketchbook->libraries->PubSubClient->src
จะเห็นไฟล์ PubSubClient.h
ให้เข้าไปเเก้ไขไฟล์
เปลี่ยน MQTT_MAX_PACKET_SIZE จาก 128 เป็น 512
อย่าลืมกด Save

6. เข้าไป download firmware tasmota ที่ลิ้งค์ https://github.com/arendst/Sonoff-Tasmota/releases
เลือก download อันที่เป็น source code.zip
extract file ให้เรียบร้อย 

7.ใช้ ArduinoIDE เปิดไฟล์ sonoff.ino ใน folder ที่ extract ไฟล์ไว้ 
เข้าไปที่ tab user_config.h
เเก้ไขส่วนของ wifi เพื่อ config เลข ip ให้ switch เเละ เครือข่าย wifi ที่จะให้ switch เชื่อมต่อ
เเก้ไขในส่วน MQTT ให้เปลี่ยน ip ของ host เป็น ip ของ MQTT server ที่ได้ทำไว้ https://shuwernpi.blogspot.com/2018/01/mqtt-broker-mosquitto-raspberry-pi.html
ส่วน MQTT_USER เเละ MQTT_PASS ก็ตั้งให้เหมือนกับที่ตั้งไว้บน MQTT server เช่นกัน 

8. ก่อนจะ Flash firmware ให้ตั้งค่าที่ menu tools ตามรูปนี้
เมื่อเสร็จเเล้วให้กด compile ที่ปุ่มรูปเครื่อหมายถูก มุมขวาบนของโปรเเกรม

9. ก่อนจะ Flash firmware ลงใน switch จำเป็นต้องมีอุปกรณ์ สาย USB to UART
ใน blog นี้จะใช้ sonoff switch รุ่น touch us ซึ่งขั้นตอนก่อนจะ flash firmware จะยุ่งยากกว่ารุ่นอื่นๆนิดหน่อย
เมื่อเเกะออกมาเเล้ว หน้าตาก็จะประมาณนี้
pin ในวงกลมสีเเดงไม่มีมาให้ ต้องบัดกรีลงไปเอง 
เสียบกับสาย USB to UART ให้เรียบร้อย 
pin  Vcc ต่อ Vcc 
pin GND ต่อ GND 
pin Tx ต่อ Rx 
pin Rx ต่อ Tx
ของสาย
ก่อนทำการ upload ต้อง short ขา GPIO 0 ของ esp8266 ลง GND 
https://github.com/davidmpye/Sonoff-Touch-MQTT/wiki/How-to-flash
เมื่อทำตามนี้เเล้ว จึงกด upload เมื่อ upload เสร็จสิ้น ให้รอตัว switch เชื่อมต่อกับเครือข่าย สังเกตุได้จากไฟบอกสถานะบน switch หากกระพริบอยู่คือ กำลังทำการเชื่อมต่อ หากดับไปเเสดงว่าเชื่อมต่อสำเร็จ ให้เช็คโดยการเปิด web browser พิมพ์ ip ของ switch ที่ตั้งค่าไว้เเล้วในข้อ7 หากปรากฎหน้า UI ประมาณนี้ เเสดงว่าสำเร็จ
สามารถใช้หน้าต่างนี้สั่งการ switch ได้ 

ใน blog ต่อไปจะมาสอนการใช้ Sonoff WiFi switch ร่วมกับ home assistant

ความคิดเห็น

  1. ผมทำของตัว basic มันขึ้นแต่ warning: espcomm_sync failed ตลอดเลยทั้งๆที่กดปุ่ม gpio ไว้แล้ว ไม่ทราบพอทราบสาเหตุ ไหมครับ

    ตอบลบ
  2. ลองกดค้างไว้เเล้วค่อยเสียบสายusbดูครับ

    ตอบลบ

แสดงความคิดเห็น

บทความที่ได้รับความนิยม