Perangkat IoT Water Level adalah suatu perangkat berbasis IoT (Internet of Things) yang memonitor level air pada tempat tertentu menggunakan sensor dan mengirim datanya ke web server melalui internet (WIFI). Perangkat ini juga memiliki kemampuan untuk menyimpan data secara lokal ke micro SD card sebagai data logger untuk menghindari kejadian data hilang karena internet tidak tersedia. Selain itu perangkat ini juga dibekali dengan display OLED 64×48 sehingga dapat dilihat status perangkat di lokasi (on site). Untuk mengatur konfigurasi awal perangkat, misal pointing server IoT, durasi pengiriman, maksimal level air dapat dilakukan di tempat, dengan mengubah perangkat ini menjadi Access Point (AP) dan masuk ke webmin perangkat (nanti akan dijelaskan lebih detail di artikel). Perangkat IoT Water Level ini dirancang untuk running stand alone menggunakan battery dengan ditopang charging dari solar cell. Box nya dirancang untuk keperluan outdoor agar dapat bertahan lama di lapangan.
Artikel ini akan ditulis secara bersusun untuk menggambarkan bagaimana proses pembuatan perangkat IoT Water Level, dimulai desain box-nya, perancangan PCB nya, sampai dengan penulisan script-nya. Garis besar tutorial adalah sbb:
- Perancangan sistem secara keseluruhan
- Perancangan box outdoor menggunakan aplikasi Sketchup
- Perancangan PCB
- Perancangan script Wemos (Arduino based)
- Perakitan alat
- Percobaan dan pengambilan data
Seperti yang telah dijelaskan sebelumnya bahwa perangkat IoT pada umumnya bekerja stand alone di tempat-tempat yang tidak terjangkau listrik PLN. Jadi seluruh desain perangkat IoT kita akan mengutamakan sistem ‘low power consumption’ dari sisi hardware dan software karena menggunakan sistem power dengan sumber daya terbatas (baterai dan solar cell).
1. PERANCANGAN SISTEM
Untuk merancang sebuah sistem tentunya kita harus pelajari dulu kebutuhan sistem dan hambatan (constraint) nya. Untuk kebutuhan sistem yang akan kita buat adalah ‘bagaimana memonitor level air dari jarak jauh secara konsisten dan reliable’. Sementara untuk hambatan-hambatan di lapangan adalah sebagai berikut:
CONSTRAINT
- tidak tersedia listrik PLN
- dipasang di ruang terbuka
- jarak perangkat jauh dari pusat monitoring (server)
Dengan demikian perancangan sistem harus mengadopsi berbagai constraint di atas untuk memenuhi prinsip ‘DURABILITY’, ‘RELIABILITY’ dan ‘RESPONSE TIME’. Untuk constraint ‘tidak tersedia listrik PLN’ maka solusinya adalah menggunakan baterai, sedangkan baterai sendiri perlu di-charge, jadi perlu solusi charging. Untuk daerah yang dilewati garis khatulistiwa dengan sinar matahari melimpah seperti di Indonesia, maka solar cell adalah salah satu solusi charging yang sensible. Subconstraint berikutnya dari permasalahan power adalah pemilihan hardware dan software yang tepat supaya tujuan tetap tercapai (pengiriman data water level) dengan konsumsi energi yang rendah untuk menghemat pemakaian baterai. Solusi dari permasalahan ini adalah menggunakan microontroller yang low power daripada mini komputer (misal Raspberry Pi, Orange Pi, dll) dari sisi hardware dan menggunakan mode ‘Deep-Sleep’ dari sisi pengiriman data (software).
Sementara untuk constraint ‘dipasang di ruang terbuka’, solusinya adalah menggunakan box outdoor, kalau memungkinkan berstandar IP65 (water and dust resistant) sehingga dapat melindungi perangkat elektronik yang ada di dalamnya. Dari constraint ini muncul sub-constraint lanjutan yakni bagamana supaya dimensi dan bentuk box mengikuti kebutuhan teknis tanpa mengurangi nilai estetisnya. Solusinya adalah membuat box sendiri menggunakan printer 3D sehingga kita dapat merancang custom box sesuai kebutuhan. Karena menggunakan printer 3D maka muncul sub constraint berikutnya yakni pemilihan bahan/material box yang tahan panas dan cuaca. Dari beberapa referensi yang kami dapatkan di internet, untuk kebutuhan outdoor dapat menggunakan material filament ABS atau ASA.
Untuk constraint ‘jarak perangkat jauh dari pusat monitoring (server)’ maka solusinya adalah menggunakan teknologi internet berbasis IoT yang low power. Dari pemilihan teknologi ini kemudian muncul sub-contraint baru yakni bagaimana memilih perangkat elektronik (mikrokontroller/MCU dan sensor) yang tepat untuk kebutuhan ini (support IoT, low power, long durability, dll), dan layer 1 komunikasinya (WIFI, LORA, RF, dll). Setelah menganalisa berbagai perangkat MCU dan sensor yang tersedia, akhirnya kami memilih menggunakan mikrokontroller ESP8266 berbasis chip ESP-12E dalam bentuk development board WEMOS D1 MINI PRO. Kenapa yang versi PRO? Karena versi ini memiliki konektor female IPEX yang dapat dihubungkan dengan antena WIFI eksternal menggunakan pigtail IPEX to SMA. Dengan demikian perangkat kita dapat terkoneksi internet dengan jarak yang lebih jauh (tergantung penguatan antena WIFI (dBi) yang digunakan). Untuk sensor water level kami memilih sensor jarak berbasis frekuensi ultrasonik namun yang bertipe outdoor yakni JSN-SR04T. Sedangkan untuk media komunikasinya kami memilih WIFI 2.4 GHz karena kemudahan-kemudahannya dan sifatnya yang free.
Dari penjelasan-penjelasan di atas kalau di-summary-kan secara grafis, tampak seperti gambar di bawah ini:
Setelah dilakukan mapping antara kebutuhan sistem, constraint dan solusinya, berikut ini adalah gambaran besar dari sistem IOT Water Level yang kami buat
Untuk gambaran implementasinya kurang lebih seperti gambar di bawah ini (tergantung kondisi di lapangan)
Demikian sedikit gambaran proses desain sistem perangkat IOT Water Level berbasis Wemos D1 Mini Pro. Apa dan bagaimana yang menyebabkan desainnya menjadi begini dan begitu sudah kami jelaskan pula. Untuk proses pembuatannya akan sampaikan pada artikel berikutnya. So, stay tuned ya 😊
Update: artikel desain box 3D Sketchup
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com