Blynk adalah platform IoT (Internet of Things) yang memungkinkan pengguna untuk dengan mudah menghubungkan perangkat keras (seperti ESP32, Arduino, atau Raspberry Pi) ke aplikasi smartphone untuk mengontrol dan memonitor perangkat tersebut.Berikut ini adalah code nya :
#include <Arduino.h>
#define BLYNK_TEMPLATE_ID "IDMU"
#define BLYNK_TEMPLATE_NAME "TEMPLATEMU"
#define BLYNK_AUTH_TOKEN "TOKENMU"
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "wifi-iot";
char pass[] = "password-iot";
BlynkTimer timer;
BLYNK_WRITE(V1)
{
int pinValue = param.asInt();
}
void bynk_notif(const char* nama_event, const char* pesan) {
Blynk.logEvent(nama_event, pesan);
Serial.println((String)nama_event + " : " + (String)pesan);
delay(1000);
}
void bynk_timer() {
int test_blynk = random(0, 100);
Blynk.virtualWrite(V1, test_blynk);
bynk_notif("notif","test");
}
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
timer.setInterval(10000L, bynk_timer);
}
void loop(){
Blynk.run();
timer.run();
}
Berikut ini adalah penjelasan dari kode di atas :
1. Inklusi Library:
#include <Arduino.h>
#include <BlynkSimpleEsp32.h>
#include <Arduino.h>: Ini adalah library dasar untuk proyek berbasis Arduino. Library ini menyediakan berbagai fungsi untuk pemrograman mikrokontroler.#include <BlynkSimpleEsp32.h>: Ini adalah library untuk menghubungkan ESP32 ke aplikasi Blynk. Library ini menyederhanakan proses komunikasi antara ESP32 dan Blynk.
2. Deklarasi Template dan Token Blynk:
#define BLYNK_TEMPLATE_ID "IDMU"
#define BLYNK_TEMPLATE_NAME "TEMPLATEMU"
#define BLYNK_AUTH_TOKEN "TOKENMU"
#define BLYNK_TEMPLATE_ID: Ini adalah ID template yang digunakan di aplikasi Blynk. Template ini adalah blueprint untuk aplikasi yang berisi elemen-elemen UI (seperti tombol, slider, dsb).#define BLYNK_TEMPLATE_NAME: Nama template yang digunakan. Nama ini digunakan di aplikasi Blynk untuk menampilkan nama template.#define BLYNK_AUTH_TOKEN: Token otentikasi yang diberikan oleh Blynk untuk menghubungkan perangkat ke aplikasi Blynk.
Catatan: Token ini adalah kunci autentikasi yang sangat penting dan harus dijaga kerahasiaannya.
3. Variabel dan Objek:
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "wifi-iot";
char pass[] = "password-iot";
BlynkTimer timer;
char auth[]: Menyimpan token autentikasi untuk Blynk.char ssid[]danchar pass[]: Menyimpan nama SSID dan password untuk koneksi WiFi.BlynkTimer timer: Membuat objek timer yang digunakan untuk menjadwalkan fungsi yang dijalankan secara periodik.
4. Fungsi BLYNK_WRITE(V1)
BLYNK_WRITE(V1)
{
int pinValue = param.asInt();
}
BLYNK_WRITE(V1): Fungsi ini dipanggil ketika nilai pada virtual pin V1 diubah melalui aplikasi Blynk.param.asInt(): Mengambil nilai dari parameter yang diterima dan mengkonversinya menjadi tipeint.
5. Fungsi bynk_notif()
void bynk_notif(const char* nama_event, const char* pesan) {
Blynk.logEvent(nama_event, pesan);
Serial.println((String)nama_event + " : " + (String)pesan);
delay(1000);
}
- Fungsi ini digunakan untuk mengirim log atau notifikasi ke aplikasi Blynk.
Blynk.logEvent(nama_event, pesan): Mengirim pesan notifikasi ke Blynk dengan nama event tertentu.Serial.println(): Mencetak pesan ke Serial Monitor untuk debugging.delay(1000): Memberikan delay selama 1 detik sebelum melanjutkan eksekusi.
6. Fungsi bynk_timer()
void bynk_timer() {
int test_blynk = random(0, 100);
Blynk.virtualWrite(V1, test_blynk);
bynk_notif("notif","test");
}
- Fungsi ini digunakan untuk menghasilkan nilai acak (random) antara 0 dan 100, kemudian mengirimkan nilai tersebut ke virtual pin V1 di Blynk.
Blynk.virtualWrite(V1, test_blynk): Mengirimkan nilaitest_blynk(nilai acak) ke virtual pin V1 di aplikasi Blynk.- Fungsi
bynk_notif()dipanggil untuk mengirimkan pesan log/event ke Blynk.
7. Fungsi setup()
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
timer.setInterval(10000L, bynk_timer);
}
Serial.begin(9600): Menginisialisasi komunikasi serial dengan kecepatan 9600 baud untuk debugging.Blynk.begin(auth, ssid, pass): Menghubungkan ESP32 ke aplikasi Blynk menggunakan token autentikasi dan kredensial WiFi.timer.setInterval(10000L, bynk_timer): Mengatur interval untuk menjalankan fungsibynk_timer()setiap 10 detik.
8. Fungsi loop()
void loop(){
Blynk.run();
timer.run();
}
Blynk.run(): Fungsi ini harus dipanggil di dalamloop()untuk menjaga koneksi antara ESP32 dan aplikasi Blynk tetap aktif.timer.run(): Fungsi ini memastikan bahwa timer yang telah diset sebelumnya dapat menjalankan tugasnya sesuai interval yang telah ditentukan (dalam hal ini, setiap 10 detik untuk menjalankan fungsibynk_timer()).
untuk diskusi bisa kontak dibawah ini :

Sosial media :





