MQTT Publisher dan ThingsBoard untuk Sistem Monitoring Kualitas Udara

MQTT adalah salah satu protokol di atas TCP/IP yang cukup favorit digunakan untuk mengirimkan data dari perangkat IoT ke sebuah server. Berkenaan dengan sistem monitoring kualitas udara di Jakarta yang ingin saya kembangkan, MQTT menjadi protokol pilihan dalam pengiriman dari sensor ke ThingsBoard server. ThingsBoard adalah platform IoT yang menyediakan infrastruktur di sisi server, terdiri dari database, MQTT broker dan web server yang juga terdapat dashboard. Kompleksitas di sisi server sudah tidak lagi menjadi permasalahan untuk sistem pemantauan ini, sehingga sisi kompleksitas berada pada pengembangan perangkat sensor dan jaringan penunjang koneksi MQTT nya.

Komunikasi MQTT

Menurut pendapat saya, terdapat dua solusi yang menjamur untuk komunikasi IoT dengan MQTT, yaitu dengan WiFi dan GPRS. ThingsBoard juga sepertinya setuju dengan memberikan SDK Arduino untuk MQTT dengan SIM900 dan ESP8266, yang dapat dibuka di link ini. Komunikasi MQTT dengan GPRS dapat menggunakan berbagai modul GSM 2G yang tersedia dengan harga yang relatif murah. Walaupun pemakaian 2G semakin berkurang dan provider telepon seluler akan mematikan jaringan 2G secepatnya, namun Telkomsel masih akan meneruskan jaringan 2G karena hampir 50% penggunanya masih menggunakan 2G. Untuk sensor dengan umur 1 tahun seperti SDS011, penggunaan modul GSM 2G masih masuk akal.

Penggunaan WiFi juga sudah menjamur, sehingga memasang sensor di sekitar jaringan WiFi juga sangat memungkinkan. WiFi dalam IoT menjadi sangat prevalen akibat pengembangan mikrokontroler ESP8266, dan selanjutnya ESP32. ESP8266 menjadi populer karena ESP8266 merupakan chip dengan WiFi dengan TCP/IP dan dapat digunakan sebagai mikrokontroler. ESP8266 dapat dipasang berbagai SDK, salah satunya adalah Arduino SDK sehingga dapat diprogram layaknya Arduino dengan menambahkan Arduino Core untuk ESP8266 melalui Boards Manager Arduino IDE.

ESP8266/ESP32 atau Arduino Pro Mini

Komunikasi di MQTT dengan Arduino IDE dapat diakses dengan menggunakan library PubSubClient. Keduanya dapat digunakan di ESP8266 maupun Arduino berbasis ATmega328P. Modul GSM800 dapat terkoneksikan dengan mudah dengan Atmega328P karena penggunaan TinyGSM library yang menggunakan Flash memory dan RAM yang rendah. TinyGSM juga dapat digunakan dengan PubSubClient dan ThingsBoard sudah mengembangkan wrapper untuk PubSubClient agar dapat dengan mudah dikoneksikan dengan MQTT broker ThingsBoard. Di sisi lain ESP8266 dapat langsung menggunakan PubSubClient.

Arduino berbasis ATmega328P ProMini maupun ESP8266 dapat dijalankan dengan sinyal digital 3.3V. Sensor BME280, SDS-011, maupun modul GSM yang dipakai menggunakan komunikasi dengan 3.3V. Pro Mini dan ESP8266 merupakan pilihan yang cocok untuk sensor-sensor ini. Perlu dilakukan perbandingan antara solusi Pro Mini + TinyGSM dan ESP8266 untuk mengetahui kelebihan dan kekurangan dari masing-masing pendekatan.

Uji coba selanjutnya yang akan saya bahas di artikel setelah ini adalah bagaimana menghubungkan Pro Mini dan SIM800L dengan ThingsBoard dan/atau ESP8266 dengan ThingsBoard melalui MQTT. Bagian ini merupakan bagian penting yang menentukan pengembangan perangkat keras selanjutnya berdasarkan uji coba konsep yang sudah dilakukan dengan Raspberry Pi dan Python.

Published by josefmtd

Electronics Engineer

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: