โปรเจค นี้จะเป็นการนำ Ethernet Shield W5100 ควบคุมการแสดงผล ปิดเปิด ไฟ LED ผ่าน ทุกที่ ที่สามารถเชื่อมต่ออินเตอร์เน็ตได้ ด้วยแอพ Blynk ที่สามารถเชื่อมต่ออุปกรณ์ Device ของเราเข้ากับ internet ได้อย่างง่ายดาย
จาก โปรเจค Arduino UNO + Blynk ปิด เปิด ไฟ LED ผ่าน อินเตอร์เน็ต มีข้อเสียคือ ในการทำงานต้องเปิด คอมพิวเตอร์ หรือ PC ของเราตลอดเวลา เราจะแก้ปัญหานี้ด้วยการใช้ Ethernet Shield W5100 เพิ่มเข้าไป ก็จะสามารถเชื่อมต่อ Arduino กับโลกกว้างภายนอกผ่านทาง Internet ได้แล้ว
การเชื่อมต่อ ระหว่าง Arduino + Ethernet Shield กับ อินเตอร์เน็ต
IoT หรือ Internet of Things หรือเทคโนโลยีของ อุปกรณ์และเครื่องใช้ต่างๆ ที่จะทำงานโดยมีการเชื่อมโยงถึงกันผ่านทางเครือข่ายอินเทอร์เน็ต กำลังเป็นเทคโนโลยีที่ถูกพูดถึงมากขึ้นเรื่อยๆ เราได้เห็นทั้งฮาร์ดแวร์รุ่นใหม่ๆ มีการประกาศมาตรฐาน มีทั้งบริการและเครื่องมือชนิดใหม่ ออกมาให้ได้ติดตามกันอย่างต่อเนื่อง และ ก็มีบริการที่น่าสนใจเป็นอย่างมาก โดยเจ้าบริการที่ว่านี้มีชื่อว่า Blynk
Blynk Application เป็นโปรแกรมบนมือถือที่ทำให้เราสร้างหน้าต่างควบคุมหรือแสดงผลเชื่อมต่อกับพวกไมโครคอนโทรเลอร์(Ardunio, ESP8266, Raspberry Pi) ได้ง่ายๆ และยังสามารถควบคุมผ่าน ทุกที่ ที่สามารถเชื่อมต่ออินเตอร์เน็ต ได้อีกด้วย
อุปกรณ์ที่ใช้
1. Arduino UNO R3 - Made in italy
2. สาย Jumper Female to Male ยาว 20cm.
3. สาย Jumper Male to Male ยาว 20cm.
4. Prototype PCB Board 4x6 cm Double Sides
5. แผ่นอะคริลิคใส ขนาด 15 x 30 เซนติเมตร
6. สกรูหัวกลม+น็อตตัวเมีย ขนาด 3มม ยาว 12มม
7. Relay 1 Channel DC 5V Module
8. SMD LED Lighting G4 AC DC 12V
9. รางถ่าน AA 8 ก้อน
10. Ethernet Shield W5100
11. Adapter DC 5V 2A Power Supply
ประกอบ Ethernet Shield W5100 ลงไป บน Arduino UNO ตามรูป
การต่อวงจร ระหว่าง Relay กับ Ethernet Shield
Relay <--> Ethernet
การต่อวงจร ระหว่าง Ethernet + Relay + LED + รางถ่าน
ไปที่ Play Store ค้นหา Blynk
ติดตั้ง เหมือน App ทั่วๆไป
เปิด Blynk Application ขึ้นมา
-> Create New Account
กรอก อีเมล และ พาสเวิด -> Sign Up
ตั้งค่า ดังนี้
your hardware เป็น Arduino UNO
connection type เป็น Ethernet
ตั้งชื่อ Project ในตัวอย่างชื่อ W5100 แล้วจึงคลิก Create
เลือก เป็นแบบ SWITCH แล้ว คลิก ที่ PIN
Select pin -> Digital -> D7 -> CONTINUE
ไปที่
http://www.blynk.cc/getting-started/
ดาวน์โหลด ไลบรารี่ Blynk
แก้ไข YourAuthToken ที่เราได้รับจาก อีเมล
ที่เราได้รับจาก อีเมล
เมื่อแก้ไขแล้ว อัพโหลดโค้ด ไปยัง Arduino UNO
/*************************************************************
Download latest Blynk library here:
https://github.com/blynkkk/blynk-library/releases/latest
Blynk is a platform with iOS and Android apps to control
Arduino, Raspberry Pi and the likes over the Internet.
You can easily build graphic interfaces for all your
projects by simply dragging and dropping widgets.
Downloads, docs, tutorials: http://www.blynk.cc
Sketch generator: http://examples.blynk.cc
Blynk community: http://community.blynk.cc
Social networks: http://www.fb.com/blynkapp
http://twitter.com/blynk_app
Blynk library is licensed under MIT license
This example code is in public domain.
*************************************************************
This example shows how to use Arduino Ethernet shield (W5100)
to connect your project to Blynk.
NOTE: Pins 10, 11, 12 and 13 are reserved for Ethernet module.
DON'T use them in your sketch directly!
WARNING: If you have an SD card, you may need to disable it
by setting pin 4 to HIGH. Read more here:
https://www.arduino.cc/en/Main/ArduinoEthernetShield
Feel free to apply it to any other example. It's simple!
*************************************************************/
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "b8152a62d1c54b20862ab77ae4b233 45"; // ต้องแก้ไข
#define W5100_CS 10
#define SDCARD_CS 4
void setup()
{
// Debug console
Serial.begin(9600);
pinMode(SDCARD_CS, OUTPUT);
digitalWrite(SDCARD_CS, HIGH); // Deselect the SD card
Blynk.begin(auth);
// You can also specify server:
//Blynk.begin(auth, "blynk-cloud.com", 8442);
//Blynk.begin(auth, IPAddress(192,168,1,100), 8442);
// For more options, see Boards_Ethernet/Arduino_Ethernet_Manual example
}
void loop()
{
Blynk.run();
}
ถอดสาย USB ออก แล้วใช้สายแลน RJ45 เชื่อมต่อ ระหว่าง Ethernet Shield กับ Router เพื่อที่จะทำให้สามารถติดต่อกับระบบเครือข่ายได้ และ ป้อนไฟ จาก Adapter 5V เข้า Arduino UNO
กลับไปที่ Blynk Application คลิกที่ เครื่องหมาย สามเหลี่ยม
วีดีโอผลลัพธ์การทำงานของ โปรเจค Ethernet + Blynk ปิด เปิด ไฟ LED ผ่าน อินเตอร์เน็ต
จาก โปรเจค Arduino UNO + Blynk ปิด เปิด ไฟ LED ผ่าน อินเตอร์เน็ต มีข้อเสียคือ ในการทำงานต้องเปิด คอมพิวเตอร์ หรือ PC ของเราตลอดเวลา เราจะแก้ปัญหานี้ด้วยการใช้ Ethernet Shield W5100 เพิ่มเข้าไป ก็จะสามารถเชื่อมต่อ Arduino กับโลกกว้างภายนอกผ่านทาง Internet ได้แล้ว
การเชื่อมต่อ ระหว่าง Arduino + Ethernet Shield กับ อินเตอร์เน็ต
IoT หรือ Internet of Things หรือเทคโนโลยีของ อุปกรณ์และเครื่องใช้ต่างๆ ที่จะทำงานโดยมีการเชื่อมโยงถึงกันผ่านทางเครือข่ายอินเทอร์เน็ต กำลังเป็นเทคโนโลยีที่ถูกพูดถึงมากขึ้นเรื่อยๆ เราได้เห็นทั้งฮาร์ดแวร์รุ่นใหม่ๆ มีการประกาศมาตรฐาน มีทั้งบริการและเครื่องมือชนิดใหม่ ออกมาให้ได้ติดตามกันอย่างต่อเนื่อง และ ก็มีบริการที่น่าสนใจเป็นอย่างมาก โดยเจ้าบริการที่ว่านี้มีชื่อว่า Blynk
Blynk Application เป็นโปรแกรมบนมือถือที่ทำให้เราสร้างหน้าต่างควบคุมหรือแสดงผลเชื่อมต่อกับพวกไมโครคอนโทรเลอร์(Ardunio, ESP8266, Raspberry Pi) ได้ง่ายๆ และยังสามารถควบคุมผ่าน ทุกที่ ที่สามารถเชื่อมต่ออินเตอร์เน็ต ได้อีกด้วย
อุปกรณ์ที่ใช้
1. Arduino UNO R3 - Made in italy
2. สาย Jumper Female to Male ยาว 20cm.
3. สาย Jumper Male to Male ยาว 20cm.
4. Prototype PCB Board 4x6 cm Double Sides
5. แผ่นอะคริลิคใส ขนาด 15 x 30 เซนติเมตร
6. สกรูหัวกลม+น็อตตัวเมีย ขนาด 3มม ยาว 12มม
7. Relay 1 Channel DC 5V Module
8. SMD LED Lighting G4 AC DC 12V
9. รางถ่าน AA 8 ก้อน
10. Ethernet Shield W5100
11. Adapter DC 5V 2A Power Supply
ประกอบ Ethernet Shield เข้ากับ Arduino UNO R3
ประกอบ Ethernet Shield W5100 ลงไป บน Arduino UNO ตามรูป
การต่อวงจร ระหว่าง Relay กับ Ethernet Shield
Relay <--> Ethernet
5V <--> 5V
GND <--> GND
IN <--> D7
GND <--> GND
IN <--> D7
ติดตั้ง เหมือน App ทั่วๆไป
เปิด Blynk Application ขึ้นมา
-> Create New Account
กรอก อีเมล และ พาสเวิด -> Sign Up
-> New Project
ตั้งค่า ดังนี้
your hardware เป็น Arduino UNO
connection type เป็น Ethernet
ตั้งชื่อ Project ในตัวอย่างชื่อ W5100 แล้วจึงคลิก Create
โปรกรม จะส่ง Auth Toke ไปที่ อีเมล ที่เรากรอกไว้ -> OK
เลือก เป็นแบบ SWITCH แล้ว คลิก ที่ PIN
ไปที่
http://www.blynk.cc/getting-started/
ดาวน์โหลด ไลบรารี่ Blynk
เปิด โปรแกรม Arduino IDE จากนั้นให้ทำการเพิ่ม ไลบรารี่ Blynk ให้กับ Arduino (IDE) ของเรา
การเพิ่ม ไลบรารี่ Blynk ให้กับ Arduino (IDE) ของเรา ตามรูป
แก้ไข YourAuthToken ที่เราได้รับจาก อีเมล
ที่เราได้รับจาก อีเมล
เมื่อแก้ไขแล้ว อัพโหลดโค้ด ไปยัง Arduino UNO
/*************************************************************
Download latest Blynk library here:
https://github.com/blynkkk/blynk-library/releases/latest
Blynk is a platform with iOS and Android apps to control
Arduino, Raspberry Pi and the likes over the Internet.
You can easily build graphic interfaces for all your
projects by simply dragging and dropping widgets.
Downloads, docs, tutorials: http://www.blynk.cc
Sketch generator: http://examples.blynk.cc
Blynk community: http://community.blynk.cc
Social networks: http://www.fb.com/blynkapp
http://twitter.com/blynk_app
Blynk library is licensed under MIT license
This example code is in public domain.
*************************************************************
This example shows how to use Arduino Ethernet shield (W5100)
to connect your project to Blynk.
NOTE: Pins 10, 11, 12 and 13 are reserved for Ethernet module.
DON'T use them in your sketch directly!
WARNING: If you have an SD card, you may need to disable it
by setting pin 4 to HIGH. Read more here:
https://www.arduino.cc/en/Main/ArduinoEthernetShield
Feel free to apply it to any other example. It's simple!
*************************************************************/
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "b8152a62d1c54b20862ab77ae4b233
#define W5100_CS 10
#define SDCARD_CS 4
void setup()
{
// Debug console
Serial.begin(9600);
pinMode(SDCARD_CS, OUTPUT);
digitalWrite(SDCARD_CS, HIGH); // Deselect the SD card
Blynk.begin(auth);
// You can also specify server:
//Blynk.begin(auth, "blynk-cloud.com", 8442);
//Blynk.begin(auth, IPAddress(192,168,1,100), 8442);
// For more options, see Boards_Ethernet/Arduino_Ethernet_Manual example
}
void loop()
{
Blynk.run();
}
ถอดสาย USB ออก แล้วใช้สายแลน RJ45 เชื่อมต่อ ระหว่าง Ethernet Shield กับ Router เพื่อที่จะทำให้สามารถติดต่อกับระบบเครือข่ายได้ และ ป้อนไฟ จาก Adapter 5V เข้า Arduino UNO
กลับไปที่ Blynk Application คลิกที่ เครื่องหมาย สามเหลี่ยม
เพื่อทดสอบการทำงานของโปรแกรม W5100
วีดีโอผลลัพธ์การทำงานของ โปรเจค Ethernet + Blynk ปิด เปิด ไฟ LED ผ่าน อินเตอร์เน็ต