LAB03 — Blynk Broker บน Raspberry Pi

Arisa Rangklang
5 min readApr 17, 2020

--

>>ใช้ ESP32 ทดสอบ Blynk.CC, Blynk Custom Broker บน Raspberry Pi

ใช้ ESP32 ทดสอบ Blynk. CC

Step 1: ติดตั้ง Blynk Application บนมือถือ

Step 2: ติดตั้ง library Blynk เพื่อใช้งานกับ ESp32 บน Arduino IDE จาก

https://github.com/blynkkk/blynk-library/archive/master.zip

หรือโหลดในโปรแกรม Arduino ไปที่ Sketch -> Include Library -> Manage Lib search = blynk

Step 3: เริ่มต้นใช้งาน Blynk

เราต้องสมัคร ลงทะเบียน เพื่อใช้งานก่อน ให้เลือกที่คำว่า Create New account เพื่อสร้างการเชื่อมต่อกับ application กับ Email ของเรา

นอกจากนี้ เรายังสามารถ Connect เข้ากับ server ของ Blynk ของเราเองได้ โดยเลือก Custom และใส่ IP Address ของ Server เราเอง โดยกดที่รูป Problems Signing In แล้วเลื่อน scroll จาก Blynk ไป Custom

ต่อมาเป็นการสร้าง Project ของเราด้วย Blynk ให้กดที่สัญลักษณ์หกเหลี่ยมมุมขวาบนเพื่อตั้งค่าโดยในหน้านี้เราสามารถตั้งชื่อ Project ของเราและเลือกรูปแบบ Hardware ที่เราจะใช้ได้ Hardware ให้เลือก ESP32 Dev Board

โดยทุกๆครั้งที่เริ่มสร้างโปรเจคใหม่ AUTH TOKEN จะถูกเปลี่ยนใหม่เสมอ ซึ่ง KEY นี้เองที่เป็นเสมือนกุญแจสำหรับเชื่อมต่อ โดยที่เราไม่ต้องใช้ user, password เราสามารถกดที่คำว่า “E-mail” เพื่อส่ง KEY นี้เข้าเมลเราได้

Step 4: การใช้งานบน Arduino IDE

หลังจากเราลง Library Blynk เรียบร้อยแล้วจะมี Example ที่ติดมาด้วยจำนวนมากซึ่งในบทความนี้จะขอแนะนำตัวอย่างง่ายๆ เริ่มต้นไปกับ File -> Example -> Blynk -> Board_Wifi -> ESP32_Wifi

ในโค้ดนี้เราจะสังเกตเห็นว่ารูปแบบการสั่งงานสั้นมากๆใน void loop() มีเพียง Blynk.run(); เพื่อสั่งงานจากภายนอก

และในบรรทัด char auth[] = “YourAuthToken”; ให้ไป copy key ของ Auth Token จากใน Email ที่เราได้รับมาใส่

บรรทัด Blynk.begin(auth,”ssid”,”pass”); ให้ใส่ชื่อ Wifi ที่เราใช้เชื่อมต่อกับ app ใน ssid และ password wifi ใน pass และในกรณีเราเปลี่ยนรูปแบบการเชื่อมต่อ Wifi เป็นแบบ IP Address เราสามารถเขียนโค้ดได้ว่า

จากนั้นให้ทำการ Upload ลง board แล้วเปิด Serial Monitor จนกระทั่งมีข้อความขึ้นแบบนี้

Step 5: สร้างโปรเจคของเราบน Blynk

ต่อมาเราจะเริ่มสร้างโปรเจคของเราบน Blynk โดยการกดที่พื้นที่ว่างเปล่าตรงไหนก็ได้ในหน้า New project จะปรากฏหน้าต่างของ Widget ให้เราเลือกขึ้นมา

ในบทความรอบนี้เราจะลองให้ดูอะไรที่ง่ายๆ ก่อนให้ลองเลือก Button widget มาลงบนพื้นที่ว่างเปล่ามา 1 อัน จากนั้นเราจะมาตั้งค่าการใช้งานปุ่ม Button กันโดยกดไปที่รูป Button ที่เราเลือกจะปรากฏหน้าต่างแบบนี้ ซึ่งในหน้านี้เราสามารถเปลี่ยนชื่อปุ่มได้ และเลือกโหมด output pin ที่ต่อกับอุปกรณ์จาก board ของเราได้

เลือกรูปแบบ pin จะให้เป็นขา Digital หรือ Virtual ก็ได้ ซึ่งรูปแบบ Virtual จะไม่ใช่การรับค่าจากขาตรงๆ เป็นเหมือนการสร้างตัวแปรมาเก็บค่าอีกที และเลือกขา GPIO ให้ตรงกับอุปกรณ์ที่เราจะต่อ เมื่อเสร็จแล้วกด play เพื่อให้ App เริ่มทำงาน

การตั้งค่า

Button1

SWITCH

Select Pin

# Virtual -> Variable

# Digital -> Real Port

# GP2 < ESP32 On Board LED >

กด play เพื่อให้ App เริ่มทำงาน

ซึ่งรูปแบบการตั้งค่า Button นี้จะแทนการเขียนรูปแบบโคoดเดิมๆใน void setup () ได้เลย

เมื่อแก้ไขโปรแกรมแล้วจะได้ ดังนี้

#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "fuk6HThLk0P_dbzA0KxDW3-D_hsceC7T";
char ssid[] = "iPhone93";
char pass[] = "12345678";
void setup()
{
pinMode(2, OUTPUT);
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
Blynk.run();
}

Step 6: ทดสอบการทำงานโดยการคุม LED GPIO2 หรือ On Board DOIT ESP32 Kit Ver1

ผลลัพธ์ที่ได้

ใช้ ESP32 ทดสอบ Blynk Custom Broker บน Raspberry Pi

การติดตั้ง

Step 1: ติดตั้ง java 8 jdk and jre

sudo apt install openjdk-8-jdk openjdk-8-jre

****ถ้าลง Java ไม่ได้ให้ใช้คำสั่งนี้เพื่อลบตัวเดิมออกก่อน

sudo apt-get purge openjdk*

Step 2: Download blynk server ลงบน raspberry pi

wget "https://github.com/blynkkk/blynk-server/releases/download/v0.41.12/server-0.41.12-java8.jar"

Step 3: เปิด Server blynk

java -jar server-0.41.12-java8.jar -dataFolder /home/pi/Blynk

Step 4: Blynk server จะสร้าง web ให้เราจัดการ

https://RapiiIP:9443/admin

ถ้าขึ้นต่างแบบนี้ให้เลือกที่ขั้นสูง แล้วคลิกที่ “ไปยัง ip_rpi (ไม่ปลอดภัย)”

Step 5: Login ด้วย

username : admin@blynk.cc
password : admin

Step 6: วิธีเพิ่ม Energy โดย User -> admin@blynk.cc

Step 7: เมื่อขึ้นหน้าต่าง Edit ไปที่ Energy แล้วใส่ค่า Energy ที่เราต้องการ

Step 8: Login Blynk apps

username : admin@blynk.cc
password : admin
ip : net วงเดียวกัน
port : ตามไฟล์ config

******* ถ้า IP ของ Ethernet ไม่ได้ ให้ใช้ IP server Broker server ของ WLAN โดยพิมพ์คำสั่งนี้ใน Terminal

ifconfig

Step 9: เมื่อเลือก New Project แล้วกำหนดค่าเสร็จ ไปเพิ่ม Widget เราก็จะเห็น energy มากขึ้น

การทดสอบ

Step 1: พิมพ์โค้ดนี้ในโปรแกรม Arduino เพื่อทดสอบ

#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "token";
char ssid[] = "iPhone93";
char pass[] = "12345678";
void setup()
{
Serial.begin(115200);
Blynk.begin(auth, ssid, pass, IPAddress(xxx, xxx, xxx, xxx), 8080);
}
void loop()
{
Blynk.run();
}

Step 2: token เอาที่หน้าเว็บที่เราเข้าตอนเเรก

Step 3: upload code เเล้วทดสอบการทำงาน

PDF File : here

--

--