Monitoring Sensor TDS Meter & DHT11

Halo Sahabat, & apa kabar.
Pada kesempatan kali ini saya baru bisa melakukan update diblog ni,ya ... karna kesibukan.
Di halaman ini sekilas saya membahas tentang Monitoring Sensor TDS & DTH11, sensor ini saya buat dalam project prototype tentang memonitor kepekatan air garam dengan TDS Meter dan memonitor suhu di sekitar dengan menggunakan sensor DHT11. Prangkat tersebut terhubung ke jaringan internet dan teruskan ke Platfom Thingger.Io, dimana Thingger.Io sebagai sistem monitornya yang suda menerima data dari sensor " TDS & DHT11".
Skenario project prototype ini untuk membantu si petani garam bisa selalu memonitor kondisi garam tanpa cek langsng ke lapangan. Sehingga dengan sistem ini bisa membatu dan mengefesiankan kinerja dan akurat pendataanya, kapan waktunya air di alirkan atau di panen, seperti itu. 

Dibagian Step-step kali ini sekilas saya bahas konfigurasi dan pengiriman data dari NodeMCU ke Thingger.Io

Step 1
Pembacaan sensor
perhatikan disitu ada variabel humidity dan temperature ya
itu didefinisikan seperti berikut,

//variabel tds
float tds, humidity, temperature;

itu harus diletakkan diatas, karena sifat variabelnya harus global, agar dapat dibaca di void loop dan void setup, karena pengiriman data ke thinger.io ada di void setup. padahal pembacaan sensornya ada di void loop

  //baca sensor DHT
  humidity = dht.readHumidity();
  temperature = dht.readTemperature();
  Serial.println("Kelembaban : " + String(humidity));
  Serial.println("Suhu : " + String(temperature));

jadi setiap ada perubahan data sensor dan ditampung ke variabel humidity dan temperature itu, maka dapat dibaca di void setup

STEP 2
proses kirim data ke thinger.io
1. Koneksi ke thinger.IO
pada tahap ini kita harus buat akun dulu di thinger.io, sekarang kita ke thinger.io dulu

seperti daftar akun di website lain, tinggal buat akun aja
tombol "Create New Account"
tinggal dilengkapi formnya, kemudian signup
selanjutnya akan ada email verifikasi yang dikirim, tinggal buka email yang didaftarkan, kemudian klik link yang didaftarkan
tinggal klik Confirm Email
Pendaftaran selesai

2. Login ke thinger.io
OK, login seperti biasa

3. Konfigurasi Thinger.IO
Perhatikan ya
saya buang dulu semuanya, kita ulang dari awal

langkah awal, kita ke menu Device
Kemudian klik tombol "Add Device"
- Device Type, pilih yang Generic Thinger Device
- Device ID (bebas, jangan pakai spasi) Misal. Monitoring
- Device Description (bebas, boleh pakai spasi). Misal. Monitoring DHT11 dan TDS Meter
- Device Credential. Nah ini SANGAT PENTING, ini digenerate dan harus disimpan / diingat karena akan digunakan di program Arduino kita
Itu kita Copy
Klik Add Device

Nah nanti akan tampil seperti itu.

Selanjutnya, tadi kita udah copy Device Credential, nah sekarang kita paste di program Arduino kita. dipaste di bagian yang saya blok itu

OK, selanjutnya, perhatikan, di program arduino kita selain device credential, ada juga DEVICE_ID, itu sesuai device id yang kita masukkan tadi (Monitoring). Ingat, harus sama persis penulisannya ya..


Membuat dashboard untuk menampilkan nilai sensor
sebelum tahap ini kita lakukan, terlebih dahulu kita upload program Arduino kita.

tapi sebelumnya, perhatikan cara pengiriman datanya
- setelah konfigurasi, thinger.io
#define USERNAME "zika"
#define DEVICE_ID "Monitoring"
#define DEVICE_CREDENTIAL "c88R7P_xxxxx"

Oh ya lupa disitu juga ada username ya, itu username yang digunakan pada saat daftar tadi. dimasukkan disitu

selanjutnya, buat object thinger.io
//variabel untuk thinger.io
ThingerESP8266 thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);

setting wifi
//konfigurasi wifi
const char* ssid = "Data";
const char* password = "paketdata";


proses koneksi WiFi
  //koneksi ke WiFi
  WiFi.begin(ssid, password);
  //pengecekan koneksi WiFi
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    delay(500);
  }

  //apabila terkoneksi
  Serial.println("Berhasil Terkoneksi");
  Serial.println("IP Address : " + WiFi.localIP());


KONEKSI ke THINGER.IO
  //hubungkan NodeMCU ke Thinger.IO
  thing.add_wifi(ssid, password);

perhatikan pada baris itu, dikoneksikan ke Thinger.IO sesuai SSID dan password yang diset tadi

KIRIM DATA
nah, itinya disini ya
  //kirim nilai sensor ke Thinger.IO
  thing["dataku"] >> [](pson & out) {
    out["tds"] = tds;
    out["humidity"] = humidity;
    out["temperature"] = temperature;
  };

Perhatikan kata "dataku" itu adalah penampung semua nilai sensor pada saat dikirim ke thinger.io

"dataku" itu akan terbaca nanti di thinger.IO

didalamnya ada 3 nilai :
1. td
2. humidity
3. temperature

nah perhatikan, ada out["tds"] = tds;

out["tds"] --> kata tds itu akan terbaca nanti di thinger.IO. itu boleh diganti, yang penting ngk pakai spasi. misal
out["tdsmeter"] --> maka nanti yang terbaca di thinger.io adalah tdsmeter

TAPI, tds setelah sama dengan itu adalah variabel penampung nilai sensornya. harus sama dengan variabel kita. jangan diganti. kecuali variabelnya juga diganti

begitu juga humidity dan temperature

OK, sekarang kita upload program Arduinonya dulu

Perhatikan di thinger.IO, statusnya masih Offline, artinya Nodemcu belum terkoneksi
Kita tunggu sampai upload selesai

kalau berhasil upload, maka status di thinger.io akan berubah jadi ONLINE. Kita lihat

nah sampai ditahap ini, sebenarnya NodeMCU sudah kirim data terus menerus ke thinger.IO. Tinggal kita tampilkan datanya

4. Menampilkan data di Dashboard.
Ke menu dashboard sebelah kiri
diatas menu Device

Kita buat dashboard baru, klik Add Dashboard
-Dashboard ID (bebas, jangan pakai spasi) Misal. Monitoring.
- Dashboard Name, samakan dengan denngan Dashboard ID
- Dashboard Deskription (bebas)

klik Add Dashboard untuk menambahkan dashboard

Selanjutnya, untuk mengubah tampilaan dashboard, aktifkan mode editnya dulu

klik tombol toggle disebelah kanan atas

Selanjutnya kita tambahkan widget
klik Add Widget
- Title (bebas), Misal kita mau tampilkan suhu dulu
- Subtitle (bebas)
- Background (bisa dicoba sendiri nanti)
- Type, nah ini yang penting. Kalau hanya mau menampilkan angka, maka bisa gunakan display "Gauge" atau "Donat Chart" atau nanti bisa coba sendiri yang lain. Gauge itu seperti speedometer di motor

- Widget value, pilih "From Device Resource"
- Select Device, ini sesuai Device yang kita buat tadi di menu Device (Monitoring)
- Select Resource, disini akan tampil variabel penampung data yang dikirim yang ada di Arduino kita tadi
- Select Value, ini akan menampilkan isi dari variabel "dataku", tinggal dipilih, nilai apa yang mau ditampilkan
kita pilih suhu (temperature), itu sesuai variabel yang ada di Arduino kita yang ada didalam out["temperature"]
- Refresh Mode, ini untuk mengatur, refresh datanya tiap berapa lama. Kita atur sendiri. Pilih sampling interval, atur waktunya. Misal tiap 2 detik
_ Save, maka akan tampil secara otomatis. Kalau tidak tampil seperti ini, maka refresh browser atau buat ulang widgetnya
maka akan tampil

kalau ingin melanjutkan edit, maka mode edit harus aktif

coba sekarang kita tambah grafiknya
kita gunakan "Time Series Chart"
- Chart Input, sumber datanya dari mana. Kita pilih "From Device Resource" dari alat kita
- Pilih Devicenya (Monitoring)
- Select Resource, dataku
- Select Field to plot, Pilih nilai yang akan ditampilkan di chart
Misal. kita pilih temperatur. PENTING, grafik ini bisa menampilkan lebih dari 1 nilai secara bersamaan. Jadi nanti garisnya ada 2, 3 dst tergantung berapa nilai yang ditampilkan di grafik tersebut
- Refresh mode, seperti tadi
- Time period, itu tidak perlu diubah. Itu menunjukkan sumbu X dari grafiknya untuk batasan waktunya
- Save

Sekilas Seperti itu, semoga bisa di mengerti jika masih kurang saya mhn maaf.
Untuk kinerja / demostrasi project silakan klik video di bawah ini

Comments

Post a Comment