โปรเจกต์ ควบคุม 2 Relays ผ่าน Internet
ใช้งาน Arduino MKR GSM 1400 และ Blynk app เพื่อควบคุม 2 relays ของ MKR Relay Proto Shield
ใช้งาน Arduino MKR GSM 1400 และ Blynk app เพื่อควบคุม 2 relays ของ MKR Relay Proto Shield
หมายเหตุ: บทช่วยสอนนี้อาจล้าสมัย โปรดไปที่ here สำหรับเวอร์ชันที่เป็นปัจจุบันมากกว่า
โปรเจกต์นี้แสดงวิธีการควบคุม MKR Relay shield โดยใช้ Arduino MKR GSM 1400 และบริการ Blynk cloud เราได้สร้างแอปพลิเคชันง่ายๆ ที่ช่วยให้สามารถสลับการทำงานของ Relay ที่รวมอยู่บน shield โดยใช้ widget ของ Blynk
โปรเจกต์นี้ใช้ Arduino MKR GSM 1400, เสาอากาศ, battery pack, smartphone ที่ติดตั้ง Blynk, SIM card สำหรับข้อมูล 1 อัน, LED 2 ดวง, ตัวต้านทาน 220 ohm 2 ตัว, breadboard, สายไฟ และ MKR Relay Shield นอกจากนี้คุณยังต้องดาวน์โหลด Blynk library ผ่าน Library Manager ของ Arduino Software (IDE)


เสาอากาศ, SIM และ battery pack ควรเชื่อมต่อกับคอนเน็กเตอร์ของตัวเองที่ส่วนหัวและส่วนท้ายของ MKR GSM 1400
วงจรบน breadboard นั้นง่ายมาก: ต่อ 5V และ GND ไปยังรางบน breadboard (5V ต่อกับรางสีแดง และ GND ต่อกับรางสีดำ) วาง LED แต่ละดวงลงบน breadboard โดยให้ขาที่สั้นกว่า (-) ต่อไปยังรางสีดำด้วยสายจัมเปอร์ ขาแต่ละข้างที่ยาวกว่า (+) ต่อเข้ากับตัวต้านทาน 220 ohm ซึ่งเชื่อมต่อด้วยสายจัมเปอร์ไปยังหน้าสัมผัส NO หนึ่งในคอนเน็กเตอร์ของ Relay ขา common ของ Relay แต่ละตัวจะต่อเข้ากับรางสีแดงของ breadboard (5V)
เมื่อ Relay ทำงาน (excited) มันจะปิดหน้าสัมผัส NO และจ่ายไฟ 5V ไปยัง LED ทำให้ไฟสว่างขึ้น
ระมัดระวังในการเชื่อมต่อ MKR GSM 1400 เข้ากับ MKR Relay Protoshield ให้ถูกต้อง โดยจัดตำแหน่งป้ายชื่อของคอนเน็กเตอร์บนแต่ละ Board ให้ตรงกัน

โปรเจกต์นี้ใช้บริการ Blynk cloud และอินเทอร์เฟซของแอปพลิเคชันเพื่อควบคุม Relay ทั้ง 2 ตัวของ MKR Relay Protoshield จาก smartphone Blynk library ช่วยให้สามารถเชื่อมต่อผ่านอินเทอร์เน็ตระหว่าง MKR GSM 1400 ของเราและอินเทอร์เฟซบน smartphone ระบบ IOS หรือ Android ความง่ายในการใช้งานของ Blynk ทำให้การสร้างอินเทอร์เฟซทำได้ง่ายและตรงไปตรงมา การสื่อสารเป็นแบบสองทาง ซึ่งช่วยให้เราสร้างสวิตช์เสมือน (virtual switches) สองตัวและ LED หนึ่งดวงบนอินเทอร์เฟซได้ LED บนหน้าจอ smartphone จะถูกขับเคลื่อนโดย MKR GSM 1400 ของเรา ในขณะที่สวิตช์ทั้งสองตัวใช้สำหรับขับเคลื่อน D1 และ D2 ที่เชื่อมต่อกับ MKR Relay Protoshield
เพื่อให้ง่ายขึ้น เราได้แบ่งปัน QR Code ของอินเทอร์เฟซ เพื่อให้คุณตั้งค่าทุกอย่างบน smartphone ได้ทันที แม้ว่าคุณจะเพิ่งเริ่มใช้งาน Blynk ก็ตาม

เมื่อโหลดอินเทอร์เฟซแล้ว คุณควรจะเห็นสิ่งที่คล้ายกับภาพหน้าจอนี้:

ขั้นตอนถัดไปจำเป็นต้องผูกแอป Blynk บน smartphone ของคุณเข้ากับ MKR GSM 1400 ซึ่งจะทำได้โดยใช้ token ที่คุณควรส่งจาก smartphone ไปยังอีเมลของคุณ
แตะที่ไอคอนรูปน็อตที่มุมขวาบนเพื่อเปิดหน้า Project Settings page

ซอฟต์แวร์ที่จัดเตรียมไว้สำหรับโปรเจกต์นี้ใช้ Arduino sketch ที่รวม MKRGSM และ Blynk library พร้อมกับแอปพลิเคชัน Blynk แบบง่าย เพื่อให้สามารถควบคุม Relay ของ shield ผ่าน Board MKRGSM ได้
โค้ดส่วนแรกใช้สำหรับรวม library ที่จำเป็นสำหรับแอปพลิเคชัน; MKRGSM จะรวมฟังก์ชันการเชื่อมต่อ GSM ทั้งหมด ซึ่งใช้งานได้ผ่านออบเจ็กต์ GSMClient, GPRS และ GSM, ส่วนหัว (header) BlynkSimpleMKRGSM จะนำเข้า API ที่ทำให้ sketch สามารถโต้ตอบกับแอป Blynk ได้:
#define BLYNK_PRINT Serial
#include <MKRGSM.h>
#include <BlynkSimpleMKRGSM.h>
GSMClient client;
GPRS gprs;
GSM gsmAccess;
หลังจากส่วนของการ include จะมีการกำหนดข้อมูลประจำตัวทั้งหมดที่จำเป็นสำหรับการเชื่อมต่อ auth[] จำเป็นสำหรับการจับคู่ sketch กับโปรเจกต์เฉพาะบน Blynk ส่วน pin, apn, user และ pass จะถูกใช้เพื่อเข้าถึง SIM และสร้างการเชื่อมต่อกับเครือข่ายข้อมูล ค่าของพวกมันจะถูกกำหนดโดยฟิลด์ป้อนข้อมูลที่ระบุไว้ใน Secrets tab.Pleasenote: หาก SIM ไม่มี PIN หรือเครือข่ายไม่ต้องการ Password คุณต้องใส่ "" ในฟิลด์ Secrets ที่เกี่ยวข้อง
char auth[] = SECRET_AUTH_TOKEN;
// Your access credentials.
// Set password to "" for open networks.
char pin[] = SECRET_PINNUMBER;
char apn[] = SECRET_GPRS_APN;
char user[] = SECRET_GPRS_LOGIN;
char pass[] = SECRET_GPRS_PASSWORD;
WidgetLED ใช้สำหรับควบคุม led widget บนแอป ค่าในวงเล็บคือ Pin ที่กำหนดให้กับออบเจ็กต์นี้ ในตัวอย่างนี้คือ Virtual pin 1 (V1), Blynk timer ใช้สำหรับกำหนดเวลาการกะพริบของ LED บนแอป:
BlynkTimer timer;
WidgetLED led1(V1);
BlynkTimer timer;
ส่วน setup ช่วยในการเริ่มต้นออบเจ็กต์ทั้งหมดที่ใช้ใน sketch, Blynk instance มีบทบาทสำคัญเนื่องจากทำหน้าที่สร้างการเชื่อมต่อและเริ่มต้นโครงสร้างทั้งหมดเพื่อควบคุม widget ของแอปบน smartphone:
void setup()
{
// Debug console
Serial.begin(9600);
// Here your Arduino connects to the Blynk, through begin you can set all the access credential required to establish a connection with the app
Blynk.begin(auth, gsmAccess, gprs, client , pin, apn, user, pass);
//here is assigned the time interval and function that should be executed when the timer interrupt rises
timer.setInterval(1000L, blinkLedWidget);
}
ฟังก์ชัน blinkLedWidget() จะเชื่อมโยงกับการขัดจังหวะเวลา (time interrupt) และจะถูกเรียกเมื่อมีการขัดจังหวะเกิดขึ้น โดยจะดึงค่าของ led1 (Pin V1) และสลับสถานะของมัน:
//Is alive code section, this allow to turn ON and OF the led on blynk app
void blinkLedWidget()
{
// the following APIs allow to get and set a value on the led widget of the app
if (led1.getValue()) {
led1.off();
Serial.println("LED on V1: off");
} else {
led1.on();
Serial.println("LED on V1: on");
}
}
ก่อนที่คุณจะสามารถเริ่มใช้งานทุกอย่างได้ คุณควรกรอกข้อมูลในส่วนของโค้ด arduino_secrets.h ด้วย auth token ที่ได้รับทางอีเมลและข้อมูลประจำตัวเพื่อเข้าถึงอินเทอร์เน็ตผ่าน GPRS เมื่อมีข้อมูลนี้แล้ว สามารถอัปโหลด sketch ไปยัง MKR GSM 1400 ได้
เปิดแอปพลิเคชัน Blynk บน smartphone ของคุณ จากนั้นเลือกโปรเจกต์ที่สร้างด้วย QR code แล้วแตะที่ไอคอน "play" ทางด้านขวาของแถบด้านบน คุณควรเห็นไอคอนของ Board ขนาดเล็กที่มีจุดสีแดงอยู่บนนั้น: นี่คือสถานะการเชื่อมต่อกับ Board ของคุณ อัปโหลด sketch และรอให้กระบวนการเชื่อมต่อเกิดขึ้น คุณอาจต้องการตรวจสอบผ่าน Serial Monitor
อย่างไรก็ตาม เมื่อ Board เชื่อมต่อกับเซิร์ฟเวอร์ Blynk แล้ว จุดสีแดงควรจะหายไป และบนอินเทอร์เฟซคุณควรเริ่มเห็น virtual LED กะพริบช้าๆ คุณเชื่อมต่อสำเร็จแล้ว!
แตะสวิตช์ทรงกลมทั้งสองตัวเพื่อเปิดและปิด LED หากคุณได้ยินเสียง Relay คลิกแต่ไม่มีไฟจาก LED ให้ตรวจสอบการเดินสายไฟ
เราได้สอนวิธีควบคุม Relay ทั้งสองตัวของ MKR Relay Protoboard จาก smartphone โดยใช้ Blynk แล้ว คุณสามารถเปลี่ยน LED ทั้งสองดวงเป็นอุปกรณ์ไฟฟ้าหรืออิเล็กทรอนิกส์อื่นๆ ได้อย่างง่ายดาย และเปลี่ยนอินเทอร์เฟซของแอปให้เหมาะกับความต้องการของคุณ ส่วนที่ยากที่สุดได้รับการจัดการเรียบร้อยแล้ว
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้
ประเมิน Project
เอาฟอร์มยาวออกจากท้ายหน้า Project แล้ว เหลือเป็นปุ่มให้กดไปกรอกหน้าเดียว ตัวใหญ่ เว้นบรรทัดเยอะ อ่านง่ายกว่า
รีวิวจากคนใช้งานจริง
ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย
ยังไม่มีรีวิวบนหน้านี้ ถ้าเคยใช้งานหรือมีข้อเสนอแนะ เขียนเป็นคนแรกได้เลย