นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน
อ่าน: 1638
ความเห็น: 0

วิธีใช้งาน Arduino Wi-Fi Module ESP8266

ESP8266

วิธีใช้งาน Arduino Wi-Fi Module ESP8266

วิธี ใช้งาน Arduino Wi-Fi Module ESP8266

ก่อนหน้านี้การติด Wi-Fi ให้กับ Arduino เป็นงานที่จะใช้กับอุปกรณ์ที่มีความสำคัญและราคาแพงเท่านั้น ไม่ติดกันเยอะเพราะ module Wi-Fi มีราคาแพงมาก ฟังก์ชัน Wi-Fi ที่อยากใช้จึงมีข้อจำกัดในด้านของราคา

แต่ตอนนี้สามารถทำได้แล้วด้วย Wi-Fi Module ESP8266 เป็นโมดูล WI-FI ด้วยเป็นโมดูลขนาดเล็ก มีราคาที่ไม่แพงของ โมดูล ESP8266 นี้จะทำให้เราสามารถติดสัญญาณ Wi-Fi ให้กับอุปกรณ์ Arduino ของเราได้ ต่อไปนี้ทุกอย่างจะสามารถเชื่อมต่อ WI-FI หรือเข้าสู่ยุคของ Wi-Fi Thinking 

ESP8266 เป็นสินค้าจากบริษัท Expressif ที่เปิดตัวมาตั้งแต่ปลายปีที่แล้ว โดยใช้เทคโนโลยีการผลิต 40 นาโนเมตร จุดเด่นสำคัญคือราคาขายของชิปตัวนี้อยู่ที่หลักร้อยนิด ๆ เท่านั้นเอง

 Wi-Fi Module ESP8266 ตัวชิปมาพร้อมกับ Firmware สั่งงานคำสั่งแบบ AT Command เพื่อเชื่อมต่อ TCP/IP ได้ทันที หรือถ้าต้องการพัฒนาซอฟต์แวร์บนตัวชิปโดยตรงก็สามารถใช้ GCC มาคอมไพล์ซอฟต์แวร์ได้

 ข้อมูล Wi-Fi Module ESP8266

โมดูล Wi-Fi Module ESP8266 นี้ใช้ไฟ 3.3V ใช้กระแสที่ 70mA สูงสุดที่ 240mA แนะนำให้ใช้แหล่งจ่ายไฟ 300mA สั่งงานโดยใช้คำสั่ง AT Command ที่อยู่ใน Firmware สามารถอัพเกรด Firmware ได้

Specification

  • Module power 3.3V, regular current consumption at 70ma, peak current at 240mA (300mA must be able to provided)
  • +20Dbm power, 100M max transmitting distance on ideal circumstance.
  • It is common and correct to see some random error data when module is power up, and end up with "ready" (Turn baud rate to 115200 can see this actual debug data, this is used for firmware updating)

IC Features

  • 802.11 b / g / n
  • WIFI @ 2.4 GHz, supports WPA / WPA2 security mode
  • Ultra-small size module 11.5mm * 11.5mm
  • Built-in 10 bit precision ADC
  • Built-in TCP / IP protocol stack
  • Built-in TR switch, balun, LNA, power amplifier and matching network
  • Built-in PLL, voltage regulator and power management components
  • 802.11b mode + 19.5dBm output power
  • Supports antenna diversity
  • Off leakage current is less than 10uA
  • Built-in low-power 32-bit CPU: can double as an application processor
  • SDIO 2.0, SPI, UART
  • STBC, 1x1 MIMO, 2x1 MIMO
  • The guard interval A-MPDU, the polymerization of the A-MSDU and 0.4 s of
  • Within 2ms of the wake, connect and transfer data packets
  • Standby power consumption is less than 1.0mW (DTIM3)
  • Operating temperature range -40 ~ 125 ℃

 

Wi-Fi Module ESP8266 มีหลายรุ่นให้เลือกใช้ตามความเหมาะสม ตามรูป ในบทความนี้จะใช้รุ่น ESP-01

 

โมดูล มีการจัดขาตามรูปนี้

เวลาต่อ บางคนอาจจะต่อไม่สะดวก เพราะมองกลับด้านต่อวงจร ผมจึงทำรูปจัดขามองจากด้านที่เห็นขา ดังนี้

ทำความรู้จักกับการติดต่อข้อมูลระหว่างเครื่องแบบ Client Server

 

การต่อวงจรจากบอร์ด  Wi-Fi Module ESP8266 ไปบอร์ด Arduino

  • Vcc-3.3V
  • Gnd-Gnd
  • CH_PD-3.3V
  • TX-TX(ขา 1)
  • Rx-RX(ขา 0)

การทดลองขั้นที่ 1 สั่งงานผ่านทาง AT Command

ในตัวอย่างนี้ เราจะใช้ Arduino uno เป็นตัวกลางในการติดต่อ ผ่านทางขา RX , TX เพื่อสั่งงาน AT Command บางครั้งอาจะมีโปรแกรมใน Arduino uno ที่เราทำไว้ที่จองขา RX , TX เพื่อความแน่ใจ เราจึงอัพโปรแกรมไฟกระพริบลงไปก่อน จากนั้นเปิด Serial Monitor ขึ้นมา ตั้งค่า baud rate 115200 และปรับช่องในรูปให้เป็น ฺBoth NL&CR จากนั้นก็พร้อมแล้ว พิมพ์คำสั่ง AT แล้วกด Enter ก็จะเห็นผลลัพธ์จาก ESP8266 ตอบกลับมาว่า OK เป็นอันว่าเชื่อมต่อสำเร็จ

 คราวนี้เรามาลองทดสอบคำสั่ง AT Command ที่มีให้เราใช้งานใน ESP8266 Wi-Fi Module โดยอ้างอิงจาก เว็บไซต์http://www.electrodragon.com/w/Wi07c ลองดูที่คำสั่ง AT+GMR เป็นคำสั่งเช็คเวอร์ชัน เมื่อพิมพ์แล้วจะได้ผลลัพธ์ออกมาดังนี้ จากรูปจะเห็นว่าเวอร์ชัน Firmware เป็น 0016091 หรือเวอร์ชัน 0.91 ตอนนี้มีเวอร์ชัน 0.9.2.2 ซึ่งเราสามารถเลือกอัพเดทเวอร์ชัน Firmware ได้ เมื่ออัพเดทแล้วจะเป็น 0018000902

คราวนี้เราอยากสั่งงาน ESP8266 ให้ทำอะไร ก็พิพม์คำสั่ง AT Command ลงไป โดยอ้างอิงจากคู่มือ AT Command หลายคนอาจจะไม่สะดวกหรือไม่เข้าใจในคำสั่ง AT Command  ผมได้ทำโปรแกรมช่วยพิมพ์คำสั่ง สำหรับ ESP8266 โดยเฉพาะมาไว้ให้แล้ว โปรแกรนนี้จะแสดงคำสั่ง AT Command วิธีใช้ และคำอธิบายให้ อำนวยความสะดวกในการทดลอง ESP8266สามารถคลิกดาวน์โหลดได้ที่นี่

ปิดโปรแกรม Serial Monitor ของ Arduino แล้วเปิดโปรแกรมนี้มาทดลองได้เลย โดยในตัวอย่างนี้ Arduino ต่อกับ COM3 เลือก Board Rae 115200 แล้วกดเชื่อมต่อ จากนั้นก็พิมพ์ AT Command ก็จะขึ้นคำสั่งที่เกี่ยวข้อง เมื่อเลื่อนลงมาก็จะเห็นคำอธิบายของคำสั่งต่าง ๆ ในตัวอย่าง เราจะมาตรวจสอบเวอร์ชัน โดยใช้คำสั่ง AT+GMR เหมือนเดิม เมื่อต้องการล้างข้อความผลลัพธ์ใน TextBox เลือกข้อความแล้วกด delete หรือพิมพ์คำสั่ง cls แล้วกด enter ในช่องคำสั่งก็ได้

 

ขั้นแรก ทดสอบตั้งโหมด Sta+AP

1. ทำการรีเซต ESP8266 โดยพิมพ์ AT+RST

2. เซตเลือกโหมด Wi-Fi Module ESP8266 สามารถตั้งโหมดได้ 3 โหมดโดยใช้คำสั่ง AT+CWMODE

AT+CWMODE : ตั้งค่า Wifi Mode : AT+CWMODE=<โหมด> : เช็คว่าอยู่โหมดไหน AT+CWMODE? : 1 = โหมด Sta 2 = โหมด AP 3 = โหมด Sta และ AP ปกติค่าเริ่มต้นจะเป็นโหมด Sta สำหรับ Router , AP เป็นโหมดปกติสำหรับ Devices 

เราต้องการตั้งเป็นโหมด Sta+AP แสดงว่า เป็นโหมด 3 ให้พิมพ์ AT+CWMODE=3

 

ขั้นที่ 2 เชื่อมต่อกับ Wi-Fi Router

1. ค้นหาเครือข่าย Wi-Fi ที่ใช้ได้ พิมพ์ AT+CWLAP รอซักครู่ ก็จะเห็นรายชื่อ wifi ที่อยู่รอบ ๆ ตัวเราปรากฎขึ้นมา

2. ทำการเชื่อมต่อกับ Wi-Fi Router ที่ต้องการ โดยพิมพ์ AT+CWJAP="ssid","pwd"  ในกรณีนี้เชื่อมต่อกับ phoneshop รหัส 123 ก็พิมพ์ AT+CWJAP="phoneshop","123" ก็จะขึ้นว่า OK

3. ตรวจสอบผลการเชื่อมต่อโดยพิมพ์ AT+CWJAP?

เมื่อตั้งค่าเรียบร้อยแล้ว เปิดอุปกรณ์ขึ้นมาใหม่ wifi ก็จะเชื่อมต่อกับเครือข่ายที่เราตั้งไว้อัตโนมัติทุกครั้ง

 

ขั้นที่ 3 ทำ Wi-Fi Module ESP8266 เป็น TCP Server

  •     AT+CIPMUX=1    เปิดโหมดการเชื่อมต่อแบบหลายจุด
  •     AT+CIPSERVER=1,8888 Setup TCP server, ช่อง Port 8888
  •     AT+CIFSR    ตรวจสอบไอพี

จากนั้นเปิดเว็บขึ้นมา พิมพ์ ip และพอร์ท แล้วสังเกตผลลัพธ์ จะเห็นว่าเราสามารถส่งค่าจากเว็บมายัง Wi-Fi Server ของเราได้แล้ว

เราสามารถส่งค่าพารามิเตอร์ไปกับ url เพื่อควบคุมให้ Arduino Server ของเราทำงานตามที่ต้องการ

 

การอัพเดท Firmware Wi-Fi Module ESP8266

ทำได้โดยการเพิ่ม ต่อขา GPIO กับกราวน์ จากนั้นเปิดโปรแกรม ดาวน์โหลดโปรแกรมอัพเดท Firmware คลิกที่นี่

การต่อวงจรจากบอร์ด  Wi-Fi Module ESP8266 ไปบอร์ด Arduino 

  • Vcc-3.3V
  • Gnd-Gnd
  • GPIO - Gnd
  • CH_PD-3.3V
  • RX-RX(ขา 0)
  • Tx-TX(ขา 1)

อย่าลืมอัพโปรแกรมไฟกระพริบลงก่อน

พิมพ์ COM Port ที่ต่อให้ถูกต้อง เลือกไฟล์ Firmware จากนั้นกด Download รอซักครู่ เป็นอันเสร็จสิ้นขึ้นตอน จะขึ้น Failed to leave Flash mode

จากนั้นถอดสาย GPIO ออก แล้วเชื่อมต่อใหม่ ถ้าอัพเดท Firmware สำเร็จ Board Rae เริ่มต้นจะเป็น 9600 ลองใช้คำสั่ง AT+GMR เช็คเวอร์ชัน ก็จะพบว่าเป็นเวอร์ชัน 0018000902 หรือเวอร์ชัน 0.92 เรียบร้อยแล้ว ซึ่งเวอร์ชันนี้จะเพิ่มความสามารถ 

  • เสถียรกวาเวอร์ชันก่อนหน้านี้ อัพเดท Firmware แบบ Clould ทำการอัพเกรดโดยพิมพ์ at command
  • รองรับการปรับ Baudrate ได้หลายช่วงคือ 9600 , 19200 , 38400 , 57600 , 74880,115200,230400,460800,921600 โดยค่าปกติเริ่มต้นคือ 9600 หรือ 115200
  • รองรั watchdog , auto restart เมื่อโปรแกรมมี error , AT command เพื่อเปิดใชงาน watchdog AT+CSYSWDENABLE; ถ้าต้องการปิดฟังก์ชันนี้ AT+CSYSWDTDISABLE

 

ref:https://www.arduinoall.com/article/21/%E0%B8%AA%E0%B8%AD%E0%B8%99-%E0%B8%A7%E0%B8%B4%E0%B8%98%E0%B8%B5-%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-arduino-wi-fi-module-esp8266

Sections: Miscellaneous
License: ซีซี: แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน Cc-by-nc-sa
created: 15 October 2016 20:03 Modified: 15 October 2016 20:03 [ Report Abuse ]
ดอกไม้
People who like this: Ico24 โอ๋-อโณ.
People Who Like This
 
Facebook
Twitter
Google

Other Posts By This Blogger

ความเห็น

ไม่มีความเห็น

ร่วมแสดงความเห็นในหน้านี้

ชื่อ:
อีเมล:
IP แอดเดรส: 3.230.173.249
ข้อความ:  
เรียกเครื่องมือจัดการข้อความ
   
ยกเลิก หรือ