
วันนี้เราอยู่ในยุคที่อะไรก็ 4.0 กันไปหมดครับ เรื่อง Internet of Things (IoT) ก็เป็นเรื่องที่กำลังมาแรงนะครับ ใครที่กลัวตก trend ก็อย่าพลาดเรื่องนี้ครับ มีการคาดหมายกันว่าในปี คศ. 2020 เรื่องของระบบสมองกลฝังตัว หรือ Embeded Systems จะมีใช้กันอย่างแพร่หลาย ถึงวันนั้นคาดกันว่าจะมีอุปกรณ์ต่างๆ ต่อเชื่อมกันบนโลกอินเทอร์เน็ตมากถึง
ืีที่มา http://www.wordstream.com/blog/ws/2015/01/09/the-internet-of-things
สำหรับ Arduino ก็เป็นเรื่องที่สำคัญซึ่งผู้พัฒนาบอร์ดได้ลงทุนในการคิดค้นผลิตภัณฑ์ใหม่ๆ ที่เกี่ยวข้องกับ IoT มาอย่างต่อเนื่อง ที่ผ่านมามีบอร์ด Arduino Yun, Arduino Edsion, Arduino galileo ในช่วงแรกๆ ซึ่งราคาของบอร์ดยังคงสูงมากเมื่อเทียบกับบอร์ดมาตรฐานอย่าง Arduino Uno ในขณะเดียวกันก็มีผู้พัฒนาจากอีกฝากของโลก พัฒนา Chip ขนาดเล็กราคาถูกอย่างตระกูล ESP ทั้งหลายออกมาให้เลือกใช้ อย่างไรก็ตามก็ยังคงมีความยากลำบากในการพัฒนาโปรแกรมบนบอร์ดเหล่านี้ เนื่องจากภาษาที่ใช้ ขั้นตอนการลงโปรแกรม และการต่อกับ Hardware อื่นๆ ที่มีความซับซ้อนอยู่บ้าง
ถึงวันนี้ Arduino ได้พัฒนาบอร์ดที่มีอยู่เดิมคือ Arduino Uno ให้มีความสามารถใช้งานกับ IoT โดยใช้ Chip ESP ร่วมกับ Chip Atmega เดิม ทำให้ได้บอร์ดรุ่นใหม่ที่มีความสามารถเพิ่ม แต่ลักษณะหน้าตาคล้าย Arduino UNO แต่สามารถพัฒนาเป็นบอร์ดที่ทำงานเป็นฐานของ IoT ได้ในราคาที่ถูกลง ข้อดีที่สำคัญคือยังคงสามารถนำโปรแกรม ไลบรารี่ที่พัฒนาไว้อยู่เดิมมาต่อยอดได้ แถมยังสามารถใช้งานกับ Shield เดิมที่มีอยู่ได้อีกด้วย
สำหรับบทความนี้มีเป้าหมายในการสาธิตการใช้งานบอร์ด Arduino UNO WiFi โดยมีตัวอย่างการส่งค่าที่ได้จากการวัดอุณหภูมิเพื่อส่งขึ้น Cloud จากนั้นจะสามารถแสดงค่าที่วัดได้บน web browser ซึ่งสามารถเข้ามาอ่านได้จากที่ใดก็ได้บนโลก
เกริ่นอยู่นาน มาดูหน้าตาบอร์ดกันหน่อยดีกว่า
คราวนี้มาลองดูว่าจะทำอะไรกับมันได้บ้าง อันดับแรกต้องลองติดต่อกันดูก่อน ว่าจะเห็นกันรึเปล่า ก็ง่าย แค่จ่ายไฟเลี้ยง โดยจะเสียบ USB หรือจะใช้ Adapter 7-12 V ดูก็ได้ ทีนี้จะเห็นว่ามี Acces point ใหม่ชื่อ "Arduino-Uno-WiFi-xxxxxx"

จากนั้นเชื่อมต่อกับบอร์ดโดยกด Connect และรอซักพัก เมื่อเชื่อมได้ตัว Windows จะบอกว่าเชื่อมได้แล้วแต่ No Internet, Open ไม่ต้องตกใจนะครับ
ทีนี้ลองเข้าหน้าเว็บนี้ http://192.168.240.1 เพื่อตั้งค่าเริ่มต้นต่างๆของบอร์ดดู จะเห็นว่าเราสามารถเปลี่ยนชื่อ Access Point ได้ และสามารถตั้งค่า Network SSID ได้เอง

นอกจากนี้ยังสามารถตั้งให้มี IP address แบบ Static หรือ Dynamic ก็ได้ ตั้ง Password ได้ โดยดูรายละเอียดการตั้งค่าต่างๆ ได้จาก
http://www.arduino.org/learning/getting-started/getting-started-with-arduino-uno-wifi
ข้อควรสังเกต การใช้งาน Arduino UNO WiFi นั้นจะต้องใช้กับ Arduino IDE รุ่นใหม่ ตั้งแต่ version 1.8.x ขึ้นไปนะครับ ไม่อย่างนั้นจะยุ่งยากเรื่องการต้องมาติดตั้ง library เพิ่มเอง และไม่สามารถโปรแกรมผ่าน Wifi
คราวนี้มาถึงตอนที่จะเริ่มพัฒนา Sketch กันนะครับ สำหรับบอร์ด Arduino UNO WiFi จะสามารถ upload skecth ได้ 2 แบบ ได้แก่
- การ upload ผ่านสาย USB แบบปกติที่ใช้กันทั่วไปกับบอร์ดรุ่นอื่น
- การ upload แบบ OTA (On the Air) ซึ่งเป็นการ upload โดยผ่านทาง Wifi
สำหรับตัวอย่างและขั้นตอนที่จะสาธิตกันนี้จะเป็นการ Upload ผ่าน OTA นะครับ
ก่อนอื่น download library ที่จำเป็นต้องใช้งานกับ Arduino Uno WiFi กันก่อนที่นี่ครับ!!!
https://github.com/arduino-libraries/UnoWiFi-Developer-Edition-Lib
และติดตั้งลงใน Folder ชื่อ libraries
จากนั้นขั้นตอนที่ 1 ให้เลือกบอร์ดเป็นแบบ Arduino UNO WiFi ใน Tools -> Board: -> Arduino Uno WiFi
จากนั้นขั้นตอนที่ 2 ให้ Disconnect จาก Access point เดิมและเลือก Access point ของ Wifi บนเครื่องคอมพิวเตอร์เป็นตัว Arduino Uno Wifi ตามที่เห็นในรูปภาพด้านบน ซึ่งเมื่อเลือกแล้วจะสามารถเลือกการเชื่อมต่อแบบ WiFi ได้ดังรูปด้านล่างนี้
จากนั้นขั้นตอนที่ 3 ลองใช้ Sketch ด้านล่างนี้ไป Upload ดูนะครับจากนั้นลองเรียกผ่าน web browser ไปที่http://192.168.240.1
/*
Blink + WiFi Serial monitor
Turns on an LED on for one second, then off for one second, repeatedly.
*/
#include < Wire.h>
#include < UnoWiFiDevEd.h>
#define BAUD 9600
WifiData ESPSerial;
// the setup function runs once when you press reset or power the board
void setup() {
ESPSerial.begin(BAUD);
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
ESPSerial.println("Hello Arduitronics");
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(500); // wait for a second5
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(500); // wait for a second
}
|
และเมื่อเปิดไปที่ Tab WiFi Console

จะเห็นว่าข้อความที่เรากำหนดให้พิมพ์จากบอร์ดซึ่งส่งออกผ่าน Serial Protocol ของ ESP จะปรากฎบนหน้า web browser ครับ
ข้อควรสังเกต
การเชื่อมต่อกับบอร์ด Arduino UNO WiFi จะทำผ่านเครือข่าย WiFi หรือเรียกอีกแบบว่า OTA ได้นั้นต้องเข้าไปเลือก Access Point ของตัวบอร์ดก่อน
Link ที่น่าสนใจ
http://www.arduino.org/learning/tutorials/advanced-guides/arduino-uno-wifi-firmware-updater
บทความการใช้งาน Arduino Uno WiFi เบื้องต้นตอนที่ 2
Arduino UNO WiFi ตอนที่ 2 จะเป็นเรื่องของการนำข้อมูลขึ้นบน Cloud ด้วย thinkspeak นะครับ แล้วพบกัน
วันนี้เท่านี้ครับ พบกันตอนต่อไป 
เราให้คำปรึกษาหลังการขายกับลูกค้าด้วยนะครับ
ติดต่อผ่าน facebook โทรศัพท์ หรือ line ได้ครับ
ไม่ได้คิดแต่จะขายของถูกๆ อย่างเดียวครับ 