โปรเจค Ethernet + Blynk ปิด เปิด ไฟ LED ผ่าน อินเตอร์เน็ต




โปรเจค นี้จะเป็นการนำ 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 เข้ากับ Arduino UNO R3

ประกอบ Ethernet Shield W5100  ลงไป บน Arduino UNO ตามรูป


การต่อวงจร ระหว่าง Relay กับ 
Ethernet Shield






Relay
 <--> Ethernet

5V <--> 5V
GND <--> GND
IN <--> D7



การต่อวงจร ระหว่าง Ethernet + Relay + LED + รางถ่าน




ไปที่ Play Store ค้นหา Blynk

ติดตั้ง เหมือน App ทั่วๆไป



เปิด Blynk Application ขึ้นมา

-> Create New Account






กรอก อีเมล และ พาสเวิด -> Sign Up




-> New Project




เลือก DEVICE



ตั้งค่า ดังนี้

your hardware เป็น Arduino UNO



connection type เป็น Ethernet
ตั้งชื่อ Project ในตัวอย่างชื่อ W5100 แล้วจึงคลิก Create




โปรกรม จะส่ง Auth Toke ไปที่ อีเมล ที่เรากรอกไว้ -> OK


โดยทุกๆครั้งที่เริ่มสร้างโปรเจคใหม่ AUTH TOKEN จะถูกเปลี่ยนใหม่เสมอ ซึ่ง KEY นี้เองที่เป็นเสมือนกุญแจสำหรับเชื่อมต่อ


คลิก เครื่องหมาย +



คลิก เพิ่ม Button


จะมี ปุ่ม BUTTON เพิ่มเข้ามาที่หน้าจอ แล้วจึง คลิกที่ BUTTON เพื่อตั้งค่า



เลือก เป็นแบบ SWITCH แล้ว คลิก ที่ PIN


Select pin -> Digital -> D7 -> CONTINUE


BUTTON จะอยู่ริมซ้ายมือบน


เพื่อความสวยงาม ให้ ลาก BUTTON ไว้กลางหน้าจอ




ไปที่

http://www.blynk.cc/getting-started/

ดาวน์โหลด ไลบรารี่ Blynk






เปิด โปรแกรม Arduino IDE จากนั้นให้ทำการเพิ่ม ไลบรารี่ Blynk  ให้กับ Arduino (IDE) ของเรา
การเพิ่ม ไลบรารี่ Blynk ให้กับ Arduino (IDE) ของเรา ตามรูป




เลือกไฟล์ ไลบรารี่ blynk-library-0.4.8.ZIP ที่เรา ดาวน์โหลดมาอยู่ในคอมพิวเตอร์ของเรา จากนั้นคลิก Open โปรแกรม จะเพิ่ม ไลบรารี่ Blynk เข้าสู่ Arduino (IDE) ของเรา



เมื่อเพิ่มเสร็จแล้วไปที่ File -> Eamples -> Blynk -> Boards_Ethernet -> Arduino_Ethernet



แก้ไข 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[] = "b8152a62d1c54b20862ab77ae4b23345";  // ต้องแก้ไข

#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 ผ่าน อินเตอร์เน็ต