Contoh Pembacaan Input di Blynk

Berikut dokumentasi singkat pembacaan masukan di aplikasi Blynk 2.0.

Gambar 1.
Gambar 2.

Gambar 1 dan Gambar 2 merupakan tampilan modifikasi dari dashboard sebelumnya. Modifikasi dilakukan hanya untuk menambah indikator hasil pembacaan dari ESP8266. Sebagai catatan, indikator gauge sebenarnya tidak kurang begitu optimal untuk nilai biner, tetapi di sini hanya dipakai untuk contoh singkat dengan pengerjaan cepat.

Gambar 3.

Virtual pin V5 terhubung ke widget label sedangkan V6 terhubung ke widget gauge.

Kode berikut juga dapat diunduh di Pastebin.

[sourcecode] /*************************************************************
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
Follow us: http://www.fb.com/blynkapp

Blynk library is licensed under MIT license
This example code is in public domain.

*************************************************************
This example runs directly on ESP8266 chip.

Note: This requires ESP8266 support package:
https://github.com/esp8266/Arduino

Please be sure to select the right ESP8266 module
in the Tools -> Board menu!

Change WiFi ssid, pass, and Blynk auth token to run 🙂
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

#define BLYNK_TEMPLATE_ID "isiDenganPengenalTemplate"
#define BLYNK_DEVICE_NAME "Uji baris LED Dev 01"
#define BLYNK_AUTH_TOKEN "isiDenganAuthToken"

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "mySSID";//Enter your WIFI name
char pass[] = "myPASS";//Enter your WIFI password

BlynkTimer timer;
WidgetLED led1(V4);

BLYNK_WRITE(V0){
int pinValue = param.asInt();
digitalWrite(16, pinValue);
}
BLYNK_WRITE(V1){
int pinValue = param.asInt();
digitalWrite(5, pinValue);
}
BLYNK_WRITE(V2){
int pinValue = param.asInt();
digitalWrite(4, pinValue);
}

BLYNK_WRITE(V3){
int pinValue = param.asInt();
digitalWrite(0, pinValue);
}

void bacaD5(){
int val_D5 = digitalRead(14);
if(val_D5 == HIGH){
led1.on();
Blynk.virtualWrite(V5, "D5 LED ON");
Blynk.virtualWrite(V6, 90);
}
else{
led1.off();
Blynk.virtualWrite(V5, "D5 LED OFF");
Blynk.virtualWrite(V6, 25);
}
}

void setup()
{
// Debug console
//Serial.begin(9600);
pinMode(14, INPUT); //D5 GPIO14
pinMode(16, OUTPUT); //D0 GPIO16
pinMode(5, OUTPUT); //D1 GPIO5
pinMode(4, OUTPUT); //D2 GPIO4
pinMode(0, OUTPUT); //D3 GPIO0
pinMode(2, OUTPUT); //D2 GPIO2
digitalWrite(16, HIGH); //Hanya dipakai untuk display LED
digitalWrite(2, HIGH); //Hanya dipakai untuk display LED
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, bacaD5);
}

void loop()
{
Blynk.run();
timer.run();
}
[/sourcecode]

 

Rujukan:

 

Uji Baris LED dengan Blynk Web Dashboard dan Android App

Web Dashboard

Di bagian awal akan dicatatkan dokumentasi pengendalian 5 jalur keluaran digital (D0~D5) dengan memanfaatkan web dashboard.

Gambar 1.
Gambar 2.
Gambar 3.
Gambar 4.
Gambar 5.

Android App

Gambar 6.

Di smartphone Android, pengguna dapat mengawali pembuatan antarmuka dengan memasuki Developer Mode.

Gambar 7.
Gambar 8.
Gambar 9.
Gambar 10.
Gambar 11.

Untuk keperluan yang sama tombol/sakelar lain dapat dibuat  dan disesuaikan dengan cara yang sama.

Gambar 12.

Contoh kode yang perlu dioperasikan di sistem papan Arduino bisa disalin dari Pastebin atau di bawah ini. 

[sourcecode] /*************************************************************
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
Follow us: http://www.fb.com/blynkapp

Blynk library is licensed under MIT license
This example code is in public domain.

*************************************************************
This example runs directly on ESP8266 chip.

Note: This requires ESP8266 support package:
https://github.com/esp8266/Arduino

Please be sure to select the right ESP8266 module
in the Tools -> Board menu!

Change WiFi ssid, pass, and Blynk auth token to run 🙂
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

#define BLYNK_TEMPLATE_ID "isiDenganPengenalTemplate"
#define BLYNK_DEVICE_NAME "Uji baris LED Dev 01"
#define BLYNK_AUTH_TOKEN "isiDenganAuthToken"

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "mySSID";//Enter your WIFI name
char pass[] = "myPASS";//Enter your WIFI password

BlynkTimer timer;
WidgetLED led1(V4);

BLYNK_WRITE(V0){
int pinValue = param.asInt();
digitalWrite(16, pinValue);
}
BLYNK_WRITE(V1){
int pinValue = param.asInt();
digitalWrite(5, pinValue);
}
BLYNK_WRITE(V2){
int pinValue = param.asInt();
digitalWrite(4, pinValue);
}

BLYNK_WRITE(V3){
int pinValue = param.asInt();
digitalWrite(0, pinValue);
}

void bacaD5(){
int val_D5 = digitalRead(14);
if(val_D5 == HIGH){
led1.on();
}
else{
led1.off();
}
}

void setup()
{
// Debug console
//Serial.begin(9600);
pinMode(14, INPUT); //D5 GPIO14
pinMode(16, OUTPUT); //D0 GPIO16
pinMode(5, OUTPUT); //D1 GPIO5
pinMode(4, OUTPUT); //D2 GPIO4
pinMode(0, OUTPUT); //D3 GPIO0
pinMode(2, OUTPUT); //D2 GPIO2
digitalWrite(16, HIGH); //Hanya dipakai untuk display LED
digitalWrite(2, HIGH); //Hanya dipakai untuk display LED
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, bacaD5);
}

void loop()
{
Blynk.run();
timer.run();
}
[/sourcecode]

 

 

Uji Coba Blynk Virtual Datastream

Di post sebelumnya sudah dicatatkan ringkasan percobaan pengaturan awal Blynk melalui web dan hanya menggunakan digital datastream. Di artikel ini akan dicatat penggunaan virtual datastream, masih dengan menggunakan antarmuka web.

Template yang dipergunakan masih sama dengan yang dibuat sebelumnya.

Gambar 1.

Pilih virtual pin  saat menu pilihan tampil, lalu kerjakan seperti di Gambar 2.

Gambar 2.
Gambar 3.

Di Gambar 3 terlihat bahwa virtual pin datastream telah berhasil ditambahkan, ditandai sebagai V0. Sedangkan digital datastream sebelumnya tetap ada ditandai dengan angka pin 2.

Jika dikehendaki untuk dapat melakukan pengaturan melalui web, kita perlu melakukan penambahan di web dashboard seperti di Gambar 4 dan Gambar 5.

Gambar 4.
Gambar 5.
Gambar 6.

Logika penyakelaran perlu disesuaikan dengan kondisi riil rangkaian elektronik. Terutama untuk papan yang sudah dipabrikasi seperti modul ESP8266/Nodemcu. Cobtoh pengubahan dari active high ke active low dapat dilihat di Gambar 5 dan Gambar 6.

Gambar 7.
Gambar 8.
Gambar 9.

Agar perintah yang dikirim dari Blynk dapat dieksekusi, kode program yang mengendalikan ESP8266 (atau mikrokontroler lain) perlu disesuaikan.

Gambar 10.

Kode lengkap sebagai contoh cepat dapat diunduk di Pastebin berikut, atau langsung dari halaman ini.

[sourcecode] /*************************************************************
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 library is licensed under MIT license
This example code is in public domain.

*************************************************************
This example runs directly on ESP8266 chip.

Note: This requires ESP8266 support package:
https://github.com/esp8266/Arduino

Please be sure to select the right ESP8266 module
in the Tools -> Board menu!

Change WiFi ssid, pass, and Blynk auth token to run 🙂
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

#define BLYNK_TEMPLATE_ID "isiDenganPengenalTemplate"
#define BLYNK_DEVICE_NAME "Uji baris LED Dev 01"
#define BLYNK_AUTH_TOKEN "isiDenganAuthToken"

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "mySSID";//Enter your WIFI name
char pass[] = "myPASS";//Enter your WIFI password

BLYNK_WRITE(V0){
int pinValue = param.asInt();
digitalWrite(16, pinValue);
}

void setup()
{
// Debug console
Serial.begin(9600);
pinMode(16, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(0, OUTPUT);
pinMode(2, OUTPUT);
Blynk.begin(auth, ssid, pass);
}

void loop()
{
Blynk.run();
}

[/sourcecode]
Gambar 11.

Virtual pin lain dapat ditambahkan dengan pola yang sama. Di artikel berikutnya masih berupa catatan pengaturan satu arah, tetapi sudah termasuk penggunaan aplikasi Blynk di Android. 

 

Rujukan:

 

Ringkasan Uji Coba Blynk 2.0

Dokumentasi singkat uji coba new blynk (blynk 2.0).

Instalasi Pustaka

Gambar 1.

Percobaan ini memanfaatkan Arduino IDE, sehingga instalasi pustaka perlu dilakukan seperti di Gambar 1.

Blynk Template

Gambar 2. Aksesweb site ini di https://sgp1.blynk.cloud/ atau https://blynk.cloud/  .
Gambar 3.
Gambar 4.

Papan ESP8266

Sebelum melanjutkan percobaan, terlebih dahulu diketahui pengaturan pin di papan/modul mikrokontroler.

Gambar 5.

Gambar 5 menunjukkan dua LED yang bisa dipakai sebagai indikatordi papan RobotDyn WIFI NODEM 32 MBit. Di penanda 1, adalah LED GPIO16 (D0), sedangkan di penanda 2 adalah LED GPIO2 (D4).

Gambar 6.

Sebagai pembanding, berikut konfigurasi papan ESP8266 (LOLIN dan Amica).

Gambar 7. [Sumber]
Gambar 8. [Sumber]
Gambar 9. Screenshot tabel pinout [Sumber].

Digital Datastream

Untuk contoh penyakelaran pertama, akan dipergunakan digital datastream untuk mengatur keluaran berupa LED di D4 (GPIO2).

Gambar 10.
Gambar 11.
Gambar 12.
Gambar 13.
Gambar 14.
Gambar 15.

Add New Device

Gambar 16.
Gambar 17.
Gambar 18.
Gambar 19.

Program Arduino

Gambar 20.

Isian di penanda 1 dan penanda 2 perlu diganti dan disesuaikan. Isian untuk penanda 1 diperoleh dari Blynk (lihat Gambar 19) sedangkan isian untuk penanda 2 disesuaikan dengan AP/hotspot WiFi lokal yang akan dipakai untuk menghubungkan ESP8266 ini ke Blynk melalui Internet. Kode beikut ini juga dapat diunduh melalui Pastebin (https://pastebin.com/qAgHgMSr).

[sourcecode] /*************************************************************
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
Follow us: http://www.fb.com/blynkapp

Blynk library is licensed under MIT license
This example code is in public domain.

*************************************************************
This example runs directly on ESP8266 chip.

Note: This requires ESP8266 support package:
https://github.com/esp8266/Arduino

Please be sure to select the right ESP8266 module
in the Tools -> Board menu!

Change WiFi ssid, pass, and Blynk auth token to run 🙂
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

#define BLYNK_TEMPLATE_ID "isiDenganPengenalTemplate"
#define BLYNK_DEVICE_NAME "Uji baris LED Dev 01"
#define BLYNK_AUTH_TOKEN "isiDenganAuthToken"

#include <ESP8266WiFi.h>;
#include <BlynkSimpleEsp8266.h>;

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "mySSID";//Enter your WIFI name
char pass[] = "myPASS";//Enter your WIFI password

void setup()
{
// Debug console
Serial.begin(9600);
pinMode(16, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(0, OUTPUT);
pinMode(2, OUTPUT);
Blynk.begin(auth, ssid, pass);
}

void loop()
{
Blynk.run();
}
[/sourcecode]

Uji Aktivasi LED di GPIO2

Pada tahap pertama, uji coba dilakukan hanya menggunakan satu buah LED yang terhubung ke D4 (GPIO2) dengan menggunakan digital datastream.

Gambar 21.

Penyakelaran hidup & mati LED dengan antarmuka di halaman web terlihat di Gambar 21. Berikutnya untuk penggunaan fasilitas virtual pin datastream dan penggunaan antarmuka aplikasi di Android akan dicatat di artikel terpisah.

Untuk catatan ringkas penggunaan virtual pin datastream sudah dapat dilihat di sini.

 

Rujukan: