Update_Firmware_ - ThaiEasyElec.com · PDF fileวิธี Update Firmware EWLM107 WiFi...
Transcript of Update_Firmware_ - ThaiEasyElec.com · PDF fileวิธี Update Firmware EWLM107 WiFi...
วธ Update Firmware
EWLM107 WiFi Serial Transceiver Module w/ ESP8266
อปกรณท.ใช:
1. บอรด Arduino
http://www.thaieasyelec.com/products/development-boards/arduino/official-boards-made-in-
italy/arduino-uno-r3-detail.html
รปท% 1 Arduino UNO R3
2. โมดล JY-MCU IIC Level Converter สาหรบแปลงระดบแรงดนสญญาณ
http://www.thaieasyelec.com/products/china-direct/jy-mcu-iic-level-converter-module-detail.html
รปท% 2 JY-MCU IIC Level Converter
3. Jumper wire สาหรบเช%อมตออปกรณตางๆ
3.1 Male to Female
http://www.thaieasyelec.com/prototyping/jumper-wires/jumper-wire-1-pack-20-
detail.html
รปท% 3 Jumper wire Male to Female
3.2 Female to Female
http://www.thaieasyelec.com/prototyping/jumper-wires/jumper-wire-1-pack-202012-05-
21-10-48-08-detail.html
รปท% 4 Jumper wire Female to Female
โปรแกรมท.ใช:
1. โปรแกรม Arduino IDE (http://arduino.cc/en/Main/Software)
2. esp8266_flasher (http://www.thaieasyelec.com/downloads/EWLM107/esp8266_flasher.rar)
3. Binary File V0.9.2.2 AT Firmware.bin หรอใหมกวา
(http://www.thaieasyelec.com/downloads/EWLM107/V0.9.2.2_AT_Firmware.bin.zip)
วธตอ ESP8266 เขากบ Arduino
รปท% 5 การเช%อมตอกบบอรด Arduino ท%แนะนา
ขอควรระวง
!!! จากการทดลองตอ ESP8266 กบ Arduino โดยตรงดงวงจรในภาพท. 6 พบวาสามารถใชงานได
ปรกตด แตทางเรากไมแนะนาใหใชงานในรปแบบนQ เน.องจากอาจทาใหโมดลเสยหายได หรอ อาจสงผลกระทบ
ใหโมดลมอายการใชงานสQนลงกเปนได ทางเราจงไมแนะนา และ ควรมโมดล หรอ วงจรลดทอนแรงดนดงใน
ภาพท. 5
รปท% 6 การเช%อมตอกบบอรด Arduino ท%ไมแนะนา
การเขยนโปรแกรมลงใน Arduino เพ.อให ESP8266 เขาสโหมดโปรแกรม
1. เปดโปรแกรม Arduino IDE
2. เขยนโปรแกรมดงนd
int ch_pd = 3;
int io0 = 2;
void setup() {
pinMode(ch_pd, OUTPUT);
pinMode(io0, OUTPUT);
digitalWrite(io0,LOW);
digitalWrite(ch_pd, LOW);
delay(1000);
digitalWrite(ch_pd, HIGH);
}
void loop()
{
}
รปท% 7 การเขยนโปรแกรมใน Arduino IDE
3. คาอธบายโปรแกรม: เม%อโปรแกรมทางาน จะกาหนดใหขา IO1 เปน Low เพ%อเตรยมพรอมเขาโหมด
โปรแกรม จากนdนกาหนดใหขา ch_pd เปน Low เพ%อทาใหโมดลหยดทางาน หนวงเวลา 1 วนาท
จากนdนส%งใหขา ch_pd เปน High เพ%อใหโมดล กลบมาเร%มทางานอกครd ง และ เม%อ โมดล Start ขdนมา
หากขา IO1 เปน Low จะทาใหโมดลเขาสโหมด Program
4. Compile โปรแกรม หาก compile สาเรจจะแสดงดงรปท% 8 หาก Compile ไมสาเรจใหตรวจสอบ Code
ดอกครd ง
รปท% 8 ลกษณะการ Compile ท%สาเรจ
5. Upload โปรแกรมลงไปบนบอรด Arduino
รปท% 9 Upload สาเรจ
รปท% 10 Upload ไมสาเรจ
หาก Upload ไมสาเรจ ใหถอดสาย Rx,Tx ออกจากบอรด Arduino กอน แลว Upload ใหมอก
ครd ง เม%อสาเรจแลวจงตอสาย Rx,Tx กลบไปดงเดม
รปท% 11 รปแสดงการแกไขหาก upload ไมสาเรจ
เร.ม Upload Firmware
1. เปดโปรแกรม esp8266_flasher
2. กด Button “Bin” และ Browse File ไปท% V0.9.2.2 AT Firmware.bin
รปท% 12 กดปม Bin
รปท% 13 เลอกไฟล
3. กาหนด Comport เปน Port ของ Arduino (สามารถด Comport ไดท% Device Manager)
รปท%14 แสดงตวอยาง Comport ท%เช%อมตอกบบอรด Arduino
รปท% 15 แสดงการเลอก Comport ใหตรงกบท%บอรด Arduino เช%อมตออย
4. กดปม Download
รปท% 16 ปม Download
5. รอจน Flash Firmware เสรจ
รปท% 17 โปรแกรมกาลง Flash Firmware
6. เม%อ Flash Firmware เสรจแลว ใหตอวงจรใหม เพ%อใช SoftwareSerial ของ Arduino
รปท% 18 การตอวงจรท%ใชงาน Software Serial ของ Arduino
7. เขยนโปรแกรม ดงนd
#include <SoftwareSerial.h>
int ch_pd = 9;
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
pinMode(ch_pd, OUTPUT);
digitalWrite(ch_pd, LOW);
delay(500);
digitalWrite(ch_pd, HIGH);
Serial.begin(9600);
mySerial.begin(9600);
}
void loop()
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
8. Compile โปรแกรม หากไมสาเรจใหตรวจสอบท% code อกครd ง
9. Upload โปรแกรมลงไปบนบอรด
10. เปด Serial Monitor บน Arduino IDE
11. เลอกตdงคา Both NL & CR ท%เมนลางขวา ขางๆ เมน Baud rate
12. เลอก Baud rate เปน 9600 (Firmware V0.9.2.2 Default Baud rate =9600)
13. ทดลอง พมพ AT แลวกดปม Send
14. ทดลอง พมพ AT+RST แลวกดปม Send (Reset module)
15. ทดลอง พมพ AT+CWMODE=1 แลวกดปม Send (ตdงคาเปน Mode Station)
16. ทดลองพมพ AT+CWLAP แลวกดปม Send (List Access Point)
!!! สามารถทดลอง ใช AT Command ตางๆโดยศกษา เพ%มเตม จาก เอกสาร user manual เพ%มเตมได