Oleh Khairul Fikri dalam Tutorial Arduino
Tahap Kesukaran : Baru Mula Belajar

Kami persembahkan bacaan di laman NADI Eleczone Solutions ini kepada para pelajar, mahasiswa dan peminat teknologi, demi kepentingan perkembangan ilmu teknologi ilmiah dan amaliah di Malaysia tercinta kita.
Semoga diberkahi dan diredhai Allah Subhanahu wa Ta’ala – Amin!

>> Pengenalan <<

Sebelum ini, saya telah menunjukkan tutorial untuk membaca bacaan sensor analog secara Pull request. Kini saya ingin menunjukkan cara menggunakan aplikasi Blynk untuk membaca sensor dengan cara yang berbeza iaitu Push Request.

Kenapa pilih Push Request? Cara ini amat sesuai digunakan untuk projek yang memerlukan pemerhatian bacaan sensor semasa dan terdahulu. Ini kerana data tetap akan di hantar ke cloud Blynk walaupun aplikasi itu tidak dibuka. Berbeza dengan cara Pull Request, dimana aplikasi Blynk yang akan menarik data itu daripada board Arduino ataupun NodeMCU untuk menerima data.

>> Penggunaan Timer interval didalam Blynk <<

Untuk penghantaran data daripada NodeMCU ke cloud Blynk, kod program tidak boleh diletakkan didalam void loop. Ia akan menyebabkan data akan dihantar kedalam server Blynk terlalu banyak dan menyebabkan Blynk memutuskan sambungan terhadap server mereka. Jadi apa yang kita perlukan untuk mengelakkan perkara tersebut terjadi? Menghantar data secara interval

Terdapat pelbagai cara untuk menghantar data secara berkala, namun cara yang mudah dimana kita menggunakan library yang disediakan oleh Blynk sendiri iaitu BlinkTimer. Jika anda install Library Blynk dengan betul, library ini sudah tersedia bersamanya. Jika belum, sila ikut tutorial sebelum ini untuk cara install library Blynk di Arduino IDE anda.

>> KOMPONEN YANG ANDA PERLUKAN <<

Tutorial ini akan mengajar anda bagaimana untuk membaca bacaan sensor analog melalui Blynk dengan papan NodeMcu. Antara komponen yang anda perlukan ialah :

Untuk projek kali ini, kita akan cuba menghantar nilai perintang boleh laras ke cloud Blynk dan perhati perubahan data dari semasa ke semasa dengan menggunakan kaedah Push Request.

>> litar sambungan <<

Fail Fritzing : Blynk Ptentiometer Nodemcu.fzz

>> Penyediaan Aplikasi Blynk <<

Untuk tutorial kali ini, kita menggunakan paparan yang berbeza, iaitu paparan Chart. Paparan ini boleh memaparkan bacaan data mengikut masa dan kita mampu melihat perubahan data dari semasa ke semasa. Langkah asas ialah dengan membina sebuah projek didalam aplikasi Blynk. Jika anda belum pernah buat langkah ini, sila ikut tutorial sebelum ini untuk cara membina project menggunakan Blynk. Untuk Dashboard Blynk kali ini kita memerlukan widget Chart, hanya perlu tekan butang ‘tambah’, dan pilih SuperChart.

Setelah widget itu ditambah, ada beberapa modifikasi yang perlu dilakukan untuk widget itu berfungsi seperti yang kita mahu. Untuk permulaan, kita perlu menambah datastream pada widget ini untuk meletakkan nilai data sensor yang kita inginkan. Untuk tutorial ini, saya ingin membaca bacaan perintang boleh laras. Jadi saya namakan datastream saya potentiometer. Untuk melakukan tetapan pada datastream itu, tekan butang tetapan pada sebelah nama datastream anda.

Untuk bahagian source, anda perlu memilih papan board yang anda gunakan untuk melakukan sambungan kepada server Blynk. Source ini juga dibina bedasarkan projek yang anda reka sebelum ini di tutorial sebelum ini pada aplikasi Blynk (kerana itu namanya led). Untuk bahagian Input, saya meletakkan V5 sebagai Virtual Pin yang akan menerima dan menghantar data daripada NodeMCU kepada Blynk.

Untuk bahagian tetapan lain, saya hanya biarkan ia sebagai default. Sekarang, anda mempunyai paparan SuperChart pada dashboard Blynk anda.

>> kod penuh arduino <<

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
BlynkTimer timer; // Announcing the timer

int sensorData;

char auth[] = "auth key";

// Your WiFi credentials.
// Set password to "" for open networks.

char ssid[] = "nama Wifi";
char pass[] = "Password Wifi";

// Use Virtual pin 5 for uptime display
#define PIN_UPTIME V5

void myTimerEvent()
{
  sensorData = analogRead(A0);
  Blynk.virtualWrite(V5, sensorData);
}

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
  timer.setInterval(1000L, myTimerEvent);

}

void loop()
{
  Blynk.run();
  timer.run(); // running timer every second
}

Sebelum muat naik kod, ubah auth key kepada auth key aplikasi Blynk anda. Nama wifi dan password wifi juga perlu diubah mengikut kesesuaian sambungan internet yang anda ada. Upload kod ini kedalam NodeMCU anda, dan jalankan aplikasi Blynk yang telah dimodifikasi sebentar tadi.

Anda akan dapati bacaan perintang boleh laras itu pada paparan SuperChart itu. Ubah nilai perintang boleh laras tersebut dan perhatikan perubahan pada graf tersebut.

>> Penerangan Kod Program <<

BlynkTimer timer; 

Menggunakan library BlynkTimer untuk penggunaan menghantar data secara berkala.

timer.setInterval(1000L, myTimerEvent);

Melakukan tetapan untuk jangka masa yang akan dihantar kepada server Blynk. Untuk kod program diatas, data akan dihantar setiap kali 1000 milisaat, bersamaan 1 saat.

>> TAHNIAH, ANDA HEBAT <<

Tahniah. Kini anda berjaya menghantar bacaan data daripada NodeMCU ke Blynk dengan menggunakan cara Push Request. Anda boleh cuba menggantikan perintang boleh laras dengan sensor analog yang lain dan perhatikan perubahan data yang diterima daripada NodeMCU.

Baca tutorial lain yang disediakan oleh penulis Khairul Fikri di NodeMcu Membaca Bacaan Sensor Analog (Pull Data) Melalui Blynk.

Kunjungi sekarang kedai Arduino Pulau Pinang di

Nadi Eleczone Solutions
Lot 1667, Tingkat 1, Jalan Teluk Air Tawar, Taman Air Tawar Indah, 13050 Butterworth, Penang
019 – 249 3264

2 ULASAN ULASAN

TINGGALKAN JAWAPAN BALAS ANDA

Sila masukkan ulasan anda!
Sila masukkan nama anda di sini