ESP8266 บน Arduino IDE

ESP8266 บน Arduino IDE


     ก่อนหน้านี้ เราคงจะเคยได้ยินชื่อของ โมดูล ESP8266 กันมาบ้างแล้วนะครับ ด้วยขนาดและราคาทำให้โมดูลตัวนี้ เป็นที่นิยมอย่างรวดเร็ว และมีให้เลือกใช้กันหลากหลายโมเดล ตั้งแต่ ESP-01 ไปจนถึงถึง ESP-12
     การใช้งาน ESP8266 ในช่วงแรกนั้นจะเป็นการนำเอา ESP ไปใช้ในลักษณะของโมดูล Serial to Wi-Fi ทำให้ Microcontroller ของเราสามารถเชื่อมต่อกับระบบ Wi-Fi ได้อย่างง่ายดายผ่าน AT Command
     ต่อมาเริ่มมีการนำ ESP มาใช้งานในรูปแบบ Standalone มากขึ้น โดยเขียน Firmware ลงไปบน ESP8266 โดยตรงเพื่อให้ ESP สามารถรับค่าจาก Sensor ต่างๆ ประมวลผล และรับส่งข้อมูลได้ด้วยตัวมันเพียงลำพัง ซึ่งสามารถพัฒนาได้โดยใช้ SDK จากผู้ผลิต แต่การใช้งาน SDK ก็ไม่สะดวกกับการพัฒนามากนัก ต่อมาจึงมีการพัฒนามาใช้ Node MCU โดยใช้ ภาษา Lua ในการพัฒนา ซึ่งก็สามารถใช้งานได้ดีในระดับหนึ่ง
     และในที่สุดวันนี้ ESP8266 ก็สามารถพัฒนาด้วย Platform Arduino ได้แล้ว และใช้ Arduuino IDE เป็น Tool ในการพัฒนาและ โปรแกรม ทำให้ขั้นตอนในการติดตั้ง Environment ต่างๆง่ายขึ้น และยังใช้รูปแบบการเขียนโปรแกรมเช่นเดียวกับ Arduino ที่เราคุ้นเคยกันเป็นอย่างดีอยู่แล้ว

1

Credit -> http://www.tinkerelectric.com/uncategorized/cheap-wifi-the-esp8266/

เริ่มต้นใช้งาน ESP8266 บน Arduino IDE
– ในขั้นตอนแรกให้ Download Arduino IDE ที่มีการปรับแต่งให้ใช้งานกับ ESP8266 ได้จาก Link
https://github.com/esp8266/arduino

2

– เมื่อ Download เสร็จเรียบร้อยแล้ว ให้ทำการ Extract File ออกมา
– เปิดโปรแกรม Arduino IDE ขึ้นมา

3

– ไปที่ Menu File -> Examples จะเห็นตัวอย่าง การใช้งานที่มากับ IDE

4

– ทดลองเปิด File -> Example -> ESP8266WebServer -> HelloServer

5

– ตั้งค่า SSID และ Password

6

– เลือก Target Board ESP8266 ไปที่ Menu Tools -> Boards -> Generic ESP8266 board

7

– เลือก Serial Port ที่ต่อกับ ESP8266 ไปที่ Tools -> Port -> COM…

8

– เลือก Programmer ไปที่ ESP8266 ไปที่ Tools -> Programmer -> esptool

9

– จากนั้น สั่งให้ ESP8266 เข้าสู่โหมด Program โดย ต่อขา GPIO0 ลง GND และ Reset Module

ภาพการต่อวงจร

– Compile และ Program ลงไปบน ESP8266

11

– ลอยขา GPIO0 แล้วกด Reset เพื่อเข้าสู่โหมด Run
– ทดสอบใช้งาน Webserver

12

– เรียบร้อยแล้วครับ …
– มีข้อแนะนำเพิ่มเติมที่ 1 เราสามารถเอา Firmware ที่เรา Compile ไปแจกจ่ายแต่ .bin ได้นะครับ เมื่อเรา compile เสร็จแล้วจะถูกเก็บอยู่ตาม Path ที่ปรากฏใน Arduino IDE เช่น

13

ซึ่งเราสามารถนำ 2 File นี้ไปโปรแกรมให้กับ ESP8266 ตัวอื่นๆ ที่ตำแหน่ง Address 00000 และ Address 40000 ตามลำดับได้ โดยใช้โปรแกรม nodemcu-flasher (https://github.com/nodemcu/nodemcu-flasher) เช่นเดียวกับการ update Firmware AT Command ให้กับESP8266


– มีข้อแนะนำเพิ่มเติมที่ 2 นอกจาก Example Code ที่มากับ Arduino IDE แล้ว ที่ https://github.com/esp8266/arduino จะมีคำแนะนำสำหรับคำสั่ง Function ต่างๆสำหรับใช้งาน ESP8266 บน Arduino IDE ให้นะครับ เช่นการใช้งาน GPIO , I2C , SPI ,และ MQTT และ สำหรับ Library ของ Arduiuno ที่เขียนบน base ของ Platform Arduino จะสามารถนำมาใช้งานกับ ESP8266 ได้เช่นกัน

แหล่งที่มาของข้อมูล
– http://hackaday.com/2015/03/28/arduino-ide-support-for-the-esp8266/
– https://github.com/esp8266/arduino
– https://github.com/nodemcu/nodemcu-flasher