SKRIPSI
RANCANG BANGUN PERANGKAT PEMANTAUAN PARAMETER CUACA BERDAYA RENDAH
Diajukan untuk memenuhi persyaratan menyelesaikan pendidikan sarjana (S-1) pada
Departemen Teknik Elektro Sub Konsentrasi Teknik Komputer Oleh
FITRA NURMAYADI NIM : 150402098
DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA MEDAN
2021
KATA PENGANTAR
Alhamdulillah, segala puji dan syukur kehadirat Allah subhanahu wa ta’ala, karena atas berkat, rahmat dan hidayah-Nya penulis dapat menyelesaikan skripsi ini. Sholawat dan salam penulis hadiahkan kepada Baginda Rasulullah Muhammad shallallahu alaihi wa sallam yang menjadi panutan hidup penulis untuk selalu menjadi pribadi yang lebih baik.
Skripsi ini merupakan bagian dari kurikulum yang harus diselesaikan untuk memenuhi persyaratan dalam menyelesaikan pendidikan Sarjana Strata Satu di Departemen Teknik Elektro, Fakultas Teknik, Universitas Sumatera Utara.
Adapun judul skripsi ini adalah :
“
RANCANG BANGUN PERANGKAT PEMANTAUAN PARAMETER CUACA BERDAYA RENDAH
”Skripsi ini penulis persembahkan kepada kedua orangtua yang tercinta yaitu ayahanda Muhammad Jamil Bakri dan ibunda Ngatirah yang selalu memberikan semangat dan mendoakan penulis selama masa studi hingga menyelesaikan skripsi ini.
Selama masa kuliah hingga penyelesaian skripsi ini, penulis juga banyak mendapatkan dukungan maupun bantuan dari berbagai pihak. Untuk itu penulis ingin menyampaikan rasa terima kasih yang mendalam kepada:
1. Bapak Dr. Ir. Fahmi, ST., M.Sc., IPM. ASEAN Eng., selaku dosen Pembimbing Skripsi yang telah banyak meluangkan waktu dan pikirannya untuk selalu memberikan bantuan, bimbingan, dan pengarahan kepada penulis selama perkuliahan hingga penyusunan skripsi ini.
2. Bapak Ir. Kasmir Tanjung, MT., selaku Dosen Penguji Skripsi yang telah memberikan banyak masukan demi perbaikan skripsi ini.
3. Bapak Tigor Hamonangan Nasution, ST., MT., selaku Dosen Penguji Skripsi yang telah memberikan banyak masukan demi perbaikan skripsi ini.
4. Bapak Ir. Zulkarnaen Pane, MT., selaku dosen wali penulis yang telah banyak memberikan bimbingan selama perkuliahan.
5. Seluruh Bapak dan Ibu dosen teknik elektro, khususnya kepada Bapak Rahmad Fauzi, ST., MT., Bapak Suherman, ST., M.Comp., Ph.D., Bapak Ir. T.
Ahri Bahriun, M.Sc., Bapak Ir. Pernantin Tarigan, M.Sc., Bapak Soeharwinto, S.T., M.T., yang telah banyak mengajarkan dan berbagi pengalaman kepada penulis.
6. Seluruh staf pegawai Departemen Teknik Elektro FT USU Kak Ummi, Kak Fika, Bang Divo dan Pak Darsono yang telah membantu penulis dalam pengurusan administrasi.
7. Bapak Baihaqi Siregar S.Si., MT., yang telah banyak mengajarkan dan berbagi pengalaman penelitian dan hidup kepada penulis.
8. Teman - teman Saib’er dan Cyber Squad Asri, Mufri, Shobir, Hariadi, Hambali, Edi, Taupan, Rizky, Minal, Anas, Arba, Kawi, Aqmal, Angga, Abiyu, dan Kamal selaku teman diskusi yang selalu memberikan motivasi kepada penulis.
9. Teman - teman PB-Ponik, Muhibuddin, Feisal, Ilham, Widang dan Fahri selaku teman diskusi yang selalu memotivasi kepada penulis.
10. Teman-teman UKM ROBOTIK SIKONEK dan UKM ITIKOM yang telah membantu banyak pembelajaran selama perkuliahan.
11. Teman-teman satu angkatan 2015 Teknik Elektro FT USU sebagai teman seperjuangan yang selalu memberikan dukungan.
12. Kakanda dan Abangda, Halimah , Henni Laila, Hasanah, Ahmad Rais, Fitriyanto, Fitriyanti, Ahmad Juanda, dan Nurhidayati, yang selalu mendukung dan memberikan motivasi untuk penulis dalam menjalani pendidikan, perkuliahan dan penyelesaian skripsi ini.
13. Serta semua keluarga, kerabat, dan teman lainnya yang telah banyak membantu penulis dalam menyelesaikan studi yang tidak dapat disebutkan satu persatu.
Penulis sadar masih banyak yang perlu dibenahi dalam penelitian ataupun penulisan dalam skripsi ini, oleh sebab itu kritik mauun saran dari pembaca sangat penulis harapkan untuk menyempurnakan dan mengembangkan kajian dalam bidang terkait skripsi ini. Akhir kata, penulis berharap semoga skripsi ini dapat bermanfaat bagi pembacanya.
Medan, 2021 Penulis,
Fitra Nurmayadi 150402098
ABSTRAK
Salah satu faktor yang berpengaruh pada kegiatan aktivitas manusia adalah cuaca. Pada era Internet of Things, faktor cuaca bisa menjadi salah satu masukan bagi sistem cerdas untuk dapat mengambil keputusan kerja. Dalam skala lokal, perangkat pemantau cuaca diperlukan untuk mengambil parameter-parameter cuaca untuk keperluan pribadi maupun publik. Namun pengukuran parameter cuaca secara lokal membutuhkan banyak perangkat end-node pemantau parameter cuaca, yang membutuhkan banyak biaya dan daya. Oleh sebab itu, pada penelitian ini dilakukan perancangan perangkat pemantau parameter cuaca rendah daya dan sistem yang mendukung integrasinya pada jaringan Internet of Things.
Perangkat end-node pemantauan parameter cuaca berdaya rendah berhasil dibangun menggunakan Microcontroller STM32F103C8T6, sensor BME280, sensor Tegangan Baterai, dan Modul Komunikasi LoRa SX1278 dengan parameter yang dipantau adalah suhu udara, kelembaban udara, tekanan udara, dan tegangan baterai. Pemantauan parameter cuaca berhasil dilakukan di kota Medan dengan nilai pembacaan suhu terendah yaitu sekitar 28 ℃ pada pukul 06:00 WIB dan suhu tertinggi yaitu sekitar 34℃ pada pukul 14:00 WIB.
Sementara itu, perubahan kelembaban tertinggi yaitu 82 % dan terendah 55%, perubahan tekanan udara dengan nilai tertinggi 1.007 mBar dan terendah 1.003 mBar. Perangkat pemantau parameter cuaca mampu mencapai konsumsi daya rata-rata yang sangat rendah yaitu 795 uW. Dengan kapasitas baterai 2.200 mAh perangkat diprediksi dapat bekerja selama 15 bulan. Pada perangkat Gateway yang berhasil dibangun, jarak penerimaan paket data yang dapat dilakukan adalah 600m dengan antena 3dBi. Dalam penelitian ini berhasil dibangun perangkat pemantauan parameter cuaca berdaya rendah.
Kata Kunci : Cuaca, Internet of Things, Perangkat Daya Rendah, LoRa.
DAFTAR ISI
KATA PENGANTAR ...i
ABSTRAK ...iv
DAFTAR ISI ... v
DAFTAR GAMBAR ... vii
DAFTAR TABEL ... viii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan Penelitian ... 3
1.5 Manfaat Penelitian ... 3
1.6 Metodologi Penelitian ... 3
1.7 Sistematika Penulisan ... 4
BAB II DASAR TEORI ... 5
2.1 Cuaca ... 5
2.2 Internet of Things ... 6
2.3 Sensor BME280 ... 6
2.4 STM32F103C8T6 BluePill ... 7
2.5 Komunikasi Long Range (LoRa) ... 7
2.6 Rangkaian Pembagi Tegangan ... 8
2.7 Baterai Litihum-Ion ... 9
2.8 ESP32 ... 10
2.9 MQTT (Message Queuing Telemetry Transport) ... 10
2.10 Node-RED ... 11
2.11 InfluxDB ... 11
2.12 Grafana ... 12
BAB III PERANCANGAN SISTEM ... 13
3.1 Arsitektur Umum ... 13
3.2 Perancangan Perangkat Keras ... 14
3.2.1 Perancangan Perangkat Pemantauan parameter Cuaca Rendah Daya 14
3.2.2 Perancangan Perangkat Gateway ... 17
3.3 Perancangan Perangkat Lunak ... 20
3.3.1 Perancangan Perangkat Lunak Pada Node... 21
3.3.2 Perancangan Perangkat Lunak Pada Gateway ... 23
3.3.3 Perancangan Perangkat Lunak Pada Server... 25
BAB IV PENGUJIAN DAN HASIL ... 39
4.1 Pengujian Perangkat Pemantau Parameter Cuaca ... 39
4.1.1 Pengujian Beban Perangkat ... 39
4.2 Pengujian Perangkat Gateway ... 44
4.2.1 Pengujian Penerimaan Data ... 44
4.2.2 Pengujian Jarak Komunikasi Perangkat ... 45
4.3 Hasil Pemantauan Parameter Cuaca ... 46
BAB V KESIMPULAN DAN SARAN ... 48
5.1 KESIMPULAN ... 48
5.2 SARAN ... 48
DAFTAR PUSTAKA ... 50
LAMPIRAN ... 54
DAFTAR GAMBAR
Gambar 2. 1 Rangkaian Pembagi Tegangan ... 8
Gambar 2. 2 Karakteristik Discharge Baterai Lithium-Ion ... 9
Gambar 3. 1 Arsitektur Sistem Pemantauan Parameter Cuaca ... 14
Gambar 3. 2 Rangkaian Skematik Perangkat Pemantau Parameter Cuaca ... 16
Gambar 3. 3 Perangkat Pemantau Parameter Cuaca ... 17
Gambar 3. 4 Rangkaian Skematik Perangkat Gateway... 19
Gambar 3. 5 Perangkat Gateway ... 19
Gambar 3. 6 Perangkat Pemantau Parameter Cuaca dan Gateway ... 20
Gambar 3. 7 Diagram Alir Algoritma Perangkat Pemantau Parameter Cuaca ... 22
Gambar 3. 8 Diagram Alir Algoritma Perangkat Gateway ... 24
Gambar 3. 9 Uji coba kerja Broker MQTT dengan Aplikasi MQTTBox ... 29
Gambar 3. 10 Uji coba pada database InfluxDB ... 31
Gambar 3. 11 Aliran Data pada Node-RED ... 32
Gambar 3. 12 Pengujian Pengolahan Data pada Node-RED ... 34
Gambar 4. 1Grafik Perubahan Tegangan Baterai ... 40
Gambar 4. 2 Grafik Perbandingan Arus terhadap Tegangan ... 42
Gambar 4. 3 Grafik Perubahan Konsumsi Daya terhadap Tegangan ... 42
Gambar 4. 4 Pengujian Pembacaan Sensor ... 44
Gambar 4. 5 Pengujian Penerimaan Data pada Gateway ... 45
Gambar 4. 6 Grafik data Suhu Udara ... 46
Gambar 4. 7 Grafik data Kelembaban Udara ... 46
Gambar 4. 8 Grafik data Tekanan Udara ... 47
DAFTAR TABEL
Tabel 3. 1 Hubungan Pin BME280 dan STM32F103C8T6 BluePill ... 15
Tabel 3. 2 Hubungan Pin LoRa SX1278 dan STM32F103C8T6 BluePill ... 15
Tabel 3. 3 Hubungan Pin LoRa SX1278 dan ESP32 ... 17
Tabel 3. 4 Hubungan Pin Modul OLED SSD1306 dan ESP32 ... 18
Tabel 3. 5 Konfigurasi Server ... 26
Tabel 3. 6 Pengaturan Client MQTTBox ... 28
Tabel 3. 7 Pengaturan server MQTT pada Node-RED ... 33
Tabel 3. 8 Pengaturan client MQTT pada Node-RED ... 33
Tabel 3. 9 Pengaturan node InfluxDB pada Node-RED ... 33
Tabel 3. 10 Pengaturan database InfluxDB pada Grafana... 36
Tabel 3. 11 Pengaturan Panel Suhu ... 36
Tabel 3. 12 Pengaturan Panel Kelembaban ... 37
Tabel 3. 13 Pengaturan Panel Tekanan Udara ... 37
Tabel 3. 14 Pengaturan Panel Tegangan Baterai ... 37
Tabel 4. 1 Hasil Pengukuran Tegangan Baterai ... 39
Tabel 4. 2 Hasil Pengukuran Beban Rangkaian ... 41
Tabel 4. 3 Pengujian Jarak Komunikasi Antar Perangkat ... 45
BAB I PENDAHULUAN
1.1 Latar Belakang
Cuaca merupakan kondisi udara di atmosfer yang sifatnya tidak menentu dan berubah-ubah terhadap waktu dan tempat tertentu [1]. Kondisi cuaca merupakan salah satu faktor yang mempengaruhi aktivitas manusia, seperti pekerjaan pada bidang pertanian, perikanan, industri pengeringan, proyek pembangunan, dan transportasi [2]. Informasi tentang kondisi cuaca tentu menjadi suatu hal yang penting untuk dijadikan acuan terlaksananya kegiatan tersebut.
Pada era Internet of Things, faktor cuaca bisa menjadi salah satu masukan bagi sistem cerdas untuk dapat mengambil keputusan kerja. Dalam skala lokal, perangkat pemantau cuaca diperlukan untuk mengambil parameter-parameter cuaca untuk keperluan pribadi maupun publik.
Penelitian yang terkait dengan pemantauan cuaca telah beberapa kali dilakukan, diantaranya ialah yang dilakukan oleh Saptadi dan Kiswanto [2] yang membangun sistem pemantauan cuaca untuk memantau cuaca dalam lingkup lokal.
Menggunakan Arduino Uno R3, sensor BME280, sensor BH1750, RTC DS3231 dan modul Ethernet untuk membaca, mengelola dan mengirim data ke server.
Penelitian lainnya juga dilakukan oleh Kurniawan et al [3] menggunakan Arduino Uno R3, sensor DHT22, sensor BMP180 dan modul GSM untuk pengiriman data.
Mendapatkan hasil pengukuran yang dibandingkan dengan data yang ada pada aplikasi web openweather.com dan aplikasi Weather pada OS Windows 10.
Penelitian tentang pemantauan cuaca juga dilakukan oleh Holovatyy [4]
menggunakan Arduino Mega 2560, sensor BME280, Wi-Fi Modul ESP-01 dan LCD 16x2. Mendapatkan data berupa suhu, kelembaban, dan tekanan udara yang ditampilkan pada aplikasi Thingsboard melalui perantara Node-RED dan broker Mosquito MQTT. Pada beberapa penelitian tersebut, berfokus kepada pengambilan dan penampilan data, dimana perangkat yang dirancang berupa prototipe sederhana yang hanya mengambil data dan tidak ada membahas tentang keberlanjutan pengambilan data dan daya yang digunakan.
Sementara itu, penelitian mengenai perangkat berdaya rendah oleh Augustine et al [5] yang membahas teknologi infrastruktur wireless berdaya rendah yang dapat digunakan dalam perangkat end-device pada Internet of Things. Liu et al [6] melakukan penelitian mengenai kualitas udara, menggunakan mikrokontroler yang terintegrasi dengan sensor NO2, SO2, O3, CO, PM1, PM10, PM2.5, LoRa, Baterai, Sel Surya, dan penampil berbasis GUI. Ada pula penelitian yang dilakukan oleh Wu et al [7] yang membangun perangkat rendah daya berbasis jaringan sensor Internet of Things untuk memantau kondisi lingkungan yang mana menggunakan catu daya mandiri menggunakan sel surya dan kapasitor. Kjellby et at [8] melakukan penelitian tentang perangkat Internet of Things di dalam ruangan yang menggunakan catu daya mandiri. Dalam penelitiannya menggunakan Arduino Pro Mini, sensor suhu, kelembaban dan kadar cahaya dan modul nRF24l01 sebagai end-device dan menggunakan catu daya sel baterai koin 120mAh dan sel surya.
Oleh Sebab itu, pada penelitian ini akan dilakukan rancang bangun perangkat pemantauan parameter cuaca berdaya rendah untuk dapat diimplementasikan pada luar ruangan dengan daya tahan baterai yang lama.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dikemukakan di atas, dapat dirumuskan suatu masalah yaitu diperlukan suatu perangkat pemantauan parameter cuaca yang berdaya rendah, sehingga dapat diimplementasikan diluar ruangan untuk jangka waktu yang lama.
1.3 Batasan Masalah
Adapun pada penelitian ini, peneliti membuat batasan masalah untuk mencegah meluasnya ruang lingkup permasalahan dalam penelitian. Adapun batasan masalah tersebut diantaranya, yaitu:
1. Ruang lingkup penelitian ini tidak membahas hingga algoritma dan penampilan kondisi cuaca.
2. Parameter yang diukur dalam penelitian ini adalah suhu, kelembaban, tekanan udara dan tegangan baterai pada perangkat.
3. Baterai yang digunakan adalah Lithium-Ion.
4. Mikrokontroler yang digunakan adalah STM32F103C8 yang berbasis board STM32 BluePill.
5. Modul Komunikasi yang digunakan adalah LoRa SX1278 dengan basis frekuensi 433MHz.
1.4 Tujuan Penelitian
Penelitian ini bertujuan untuk memanfaatkan perangkat rendah daya untuk memantau parameter cuaca berskala lokal sehingga diharapkan dapat menjadi sumber data berkelanjutan dalam implementasi pada bidang Internet of Things.
1.5 Manfaat Penelitian
Adapun manfaat dari dilakukannya penelitian ini adalah :
1. Menghasilkan suatu perangkat pemantauan parameter cuaca berdaya rendah yang dapat diimplementasikan di luar ruangan untuk jangka waktu lama.
2. Menjadi referensi peneliti lain dalam mengembangkan perangkat pemantauan cuaca ataupun perangkat pemantauan berdaya rendah.
1.6 Metodologi Penelitian
Metode penelitian yang akan dilakukan pada penelitian ini terdiri dari beberapa tahapan berikut:
1. Perancangan perangkat pemantauan parameter cuaca
Pada tahap ini ditentukan desain kebutuhan perangkat yang diperlukan untuk pemantauan parameter cuaca yang terdiri dari sensor-sensor, mikrokontroler, modul komunikasi, catu daya dan komponen lainnya.
Kemudian komponen-komponen dirangkai sesuai desain, dan diprogram untuk mendapatkan data dan mengirimkan datanya ke server.
2. Perancangan sistem pemantauan
Pada tahap ini, sistem pemantauan dirancang untuk mempermudah pemantauan parameter cuaca dan kondisi perangkat. Terdiri dari gateway,
Server dan aplikasi-aplikasi yang dibutuhkan untuk menerima, mengelola, dan menampilkan data pada perangkat pemantau berbasis web.
3. Pengujian dan Hasil
Pada tahap ini sistem yang telah dibangun kemudian diuji. Pada tahap ini didapat hasil pengujian dari kinerja perangkat berupa data cuaca dan data kondisi perangkat.
1.7 Sistematika Penulisan
Adapun sistematika penulisan pada penelitian ini adalah sebagai berikut : BAB I PENDAHULUAN
Bab ini menguraikan tentang latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, tahapan penelitian, dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi tentang teori-teori tentang cuaca, pemantauan parameter cuaca, teknologi yang mendukung yang akan digunakan pada penelitian baik perangkat keras maupun perangkat lunak.
BAB III PERANCANGAN SISTEM
Bab ini menjelaskan tentang metode yang dilakukan dalam melakukan penelitian. Terdiri dari perancangan sistem, perancangan perangkat keras, dan perancangan perangkat lunak.
BAB IV PENGUJIAN DAN ANALISIS
Bab ini membahas proses implementasi dan pengujian sistem/alat. Terdiri dari pengujian pengukuran parameter cuaca dari sensor-sensor dan hasil data yang diperoleh.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan dan saran dari penelitian yang telah dilakukan.
BAB II DASAR TEORI
Bab ini akan membahas tentang teori penunjang dan penelitian sebelumnya yang berhubungan dengan perangkat pemantauan parameter cuaca dan pemanfaatan perangkat rendah daya dalam pembacaan dan pengiriman data sensor dan komponen-komponen elektronika yang digunakan pada penelitian ini.
2.1 Cuaca
Cuaca adalah keadaan dinamika udara di atmosfer pada waktu dan tempat tertentu. Keadaan tersebut dapat berubah sesaat, dan seringkali dinyatakan dalam waktu sehari. Cuaca dipengaruhi oleh suhu dan kelembaban yang berbeda antara suatu tempat dengan tempat lainnya. Perbedaan kondisi cuaca dapat terjadi karena perbedaan sudut pemanasan matahari antara satu tempat ke tempat lainnya karena perbedaan lintang bumi [9]. Menurut Aldrian [1], cuaca terdiri dari tujuh unsur berikut ini:
1. Suhu udara dinyatakan dalam satuan °C.
2. Tekanan udara dinyatakan dalam satuan mb (milibar).
3. Kelembaban udara dinyatakan dalam %.
4. Penguapan atau laju uap air dinyatakan dalam satuan mm (milimeter).
5. Awan biasanya dinyatakan dalam satuan octaf.
6. Hujan dalam satuan mm.
7. Angin atau udara yang bergerak dalam satuan knot untuk kecepatan dan arah digunakan mata angin (utara, selatan, barat, timur, tenggara, barat laut, dan barat timur).
Aktivitas cuaca terjadi pada lapisan terbawah atmosfer yaitu troposfer yang merupakan lapisan atmosfer paling bawah di mana aktivitas cuaca terjadi.
Pada lapisan troposfer, terjadi fenomena laju penurunan suhu lingkungan (environmental lapse rate) yaitu suhu udara turun dengan bertambahnya ketinggian yang besarnya sekitar 6,5 ℃/1.000 m, dimana terjadi penurunan suhu udara sebesar 6,5 ℃ setiap kenaikan ketinggian 1.000 m.
2.2 Internet of Things
Internet of Things merujuk pada penggunaan internet untuk semua benda yang dapat terhubung ke internet. Internet of Things mengutamakan penggunaan yang “lebih kecil” dalam segala hal dibanding dengan pengunaan internet secara umum seperti pada memori, daya proses, bandwidth, dan ketersediaan energi yang lebih kecil [5]. Penggunaan baterai dan daya tahan hidup yang maksimal diutamakan pada perangkat Internet of Things dalam ekspetasi penggunaannya yang akan menjadi besar pada kehidupan manusia di masa mendatang.
2.3 Sensor BME280
BME280 adalah sensor dari Bosch SensorTech yang dapat mengukur suhu, kelembaban dan tekanan udara [2]. Memiliki dimensi yang kecil dan konsumsi daya yang rendah, dapat diterapkan pada banyak kegunaan seperti pemantauan kebugaran, otomatisasi rumah, internet of things, prakiraan cuaca maupun navigasi dalam ataupun luar ruangan dan dapat digunakan pada perangkat yang ditenagai oleh baterai, seperti gadget, GPS, ataupun jam tangan [10]. Berikut adalah spesifikasi dari sensor BME280 sehingga dapat digunakan dalam pengambilan data pada penelitian ini:
- Tegangan Catu Daya : 1.71V sampai 3.6 V
- Konsumsi Arus : 3.6 uA per 1Hz untuk pembacaan suhu, kelembaban dan tekanan udara, 0.1uA untuk kondisi sleep.
- Jangkauan Operasi Pembacaan : Suhu, -40 sampai +85 °C.
Kelembaban, 0 sampai 100 % .
Tekanan Udara , 300 sampai 1100 hPa.
- Antarmuka Digital : I2C (3.4Mhz) atau SPI(10Mhz).
Berdasarkan data spesifikasi, dimana tegangan catu daya 1.7 V – 3.6 V dan antarmuka digital I2C, BME280 sangat mudah untuk diintegrasikan dengan perangkat mikrokontroler yang memiliki tegangan kerja nominal 3.3 V seperti STM32 Bluepill yang digunakan pada penelitian ini. Dengan konsumsi arus dan konsumsi daya yang rendah, sensor BME280 dapat menjadi pilihan sebagai pendukung tercapainya penelitian ini.
2.4 STM32F103C8T6 BluePill
STM32F103C8T6 BluePill merupakan Board Microcontroller yang menggunakan mikrokontroler STM32F103C8T6. Mikrokontroler STM32F103C8T6 memiliki arsitektur ARM® Cortex®-M3 32-bit RISC yang beroperasi pada frekuensi 72Mhz, memiliki Memori Flash 128KBytes dan SRAM 20KBytes. Dilengkapi dengan I/O dan periferal seperti: 12-bit ADC, 3 buah 16-bit timer dan PWM, dan antarmuka I2C, SPI, USART, USB dan CAN.
Mikrokontroler ini dapat beroperasi dengan tegangan mulai dari 2.0 V sampai 3.6 V dan suhu operasi antara -40 sampai +85 °C [11]. Selain itu, Board Microcontroller STM32F103C8T6 BluePill juga dilengkapi dengan sebuah regulator penurun tegangan LDO(Low Drop Out) Richtek RT9193 [12] dengan tegangan jatuh pada saat beroperasi yaitu 200mV dengan kapasitas penyaluran arus 300mA, RT9193 juga memiliki konsumsi arus sangat rendah sekitar <0.01uA saat stand-by, sehingga sangat cocok untuk digunakan pada pembuatan sistem berdaya sangat rendah.
Berdasarkan spesifikasi dari STM32F103C8T6 BluePill yang dijelaskan di atas, dimana tegangan operasional STM32 Bluepill sesuai dengan komponen lain yang dipilih dalam penelitian ini, seperti sensor BME280 dan modul komunikasi LoRa SX1278 yang memiliki tegangan kerja 3.3V. Dan dengan adanya regulator penurun tegangan LDO RT9193, penggunaan catu daya baterai Lithium-Ion yang memiliki tegangan antara 3.7 V - 4.2 V memungkinkan untuk dipakai demi tercapainya perangkat yang dibangun pada penelitian mencapai tujuan mengkonsumsi daya yang sangat rendah dan ketahanan kerja dalam jangka waktu yang lama.
2.5 Komunikasi Long Range (LoRa)
LoRa merupakan suatu teknik modulasi penyebaran spektrum turunan dari Chirp Spread Spectrum (CSS) milik Semtech [13]. Teknik modulasi ini dapat digunakan pada komunikasi jarak jauh untuk bandwidth yang rendah, dengan ketahanan yang tinggi terhadap interferensi dan konsumsi daya yang rendah.
Berdasarkan datasheet LoRa SX1278 [14], Tegangan kerja LoRa 3.3 V dan antarmuka komunikasi adalah SPI, modul LoRa SX1278 dapat diintegrasikan
dengan mikrokontroler STM32F103C8T6 yang dipilih pada penelitian ini, dan konsumsi arus saat pengiriman adalah 12.15mA dan 1.6mA saat standby, modul LoRa Ra-02 SX1278 dipilih untuk tercapainya konsumsi daya rendah pada perangkat yang dibangun.
2.6 Rangkaian Pembagi Tegangan
Persamaan Pembagi Tegangan (Voltage Divider Equations) adalah persamaan yang digunakan untuk menghitung tegangan keluaran dari rangkaian pembagi tegangan. Rangkaian pembagi tegangan menggunakan dua resistor seri yang diparalelkan dengan sumber tegangan, dengan tegangan keluaran adalah tegangan pada titik di antara dua resistor. Penurunan tegangan pada setiap resistor adalah berbanding lurus dengan resistansi [15]. Gambar rangkaian pembagi tegangan ditunjukkan pada Gambar 2.2 berikut.
Dengan rumus persamaan pembagi tegangan yaitu:
𝑉𝑜𝑢𝑡 = 𝑅2
𝑅1+𝑅2⋅ 𝑉𝑖𝑛 (2.1)
Dimana:
Vin = Tegangan Masuk (V) Vout = Tegangan Keluar (V)
R1 = Resistor pembagi sisi atas ( Ohm) R2 = Resistor pembagi sisi bawah (Ohm)
Gambar 2. 1 Rangkaian Pembagi Tegangan
Pada penelitian ini, rangkaian pembagi tegangan digunakan sebagai penentu tegangan baterai. Pengukuran tegangan baterai dilakukan dengan memparalel rangkaian pembagi tegangan dengan baterai lithium-ion. Dimana tegangan keluaran dari pembagi tegangan akan diukur melalui periferal ADC yang terdapat pada mikrokontroler STM32 Bluepill.
2.7 Baterai Lithium-Ion
Baterai lithium-ion (Li-ion) adalah sumber daya dan perangkat penyimpanan energi yang sangat baik karena kepadatan daya dan energi yang tinggi, dengan kebutuhan perawatan yang rendah, dan self-discharge yang rendah [16]. Oleh karena itu, baterai Li-ion digunakan secara luas dalam aplikasi mulai dari perangkat elektronik portabel ke sistem penyimpanan energi pada pembangkit tenaga surya dan angin.
Dengan mengambil referensi datasheet dari EEMB Battery yang ditunjukkan pada Gambar 2.2 [17] mengenai nilai karakteristik discharge pada baterai lithium-ion, dimana baterai li-ion dapat bekerja pada tegangan 4.2 V hingga 3.0 V dengan discharge kapasitas baterai 100%.
Gambar 2. 2 Karakteristik Discharge Baterai Lithium-Ion
Karena tegangan kerja yang rendah yaitu 3.0 V – 4.2 V dan karakteristik discharge hingga 100% pada tegangan tersebut, baterai Litium- Ion dipilih karena sesuai dengan perangkat pemantau parameter cuaca yang terdiri dari sensor BME280 (1.71-3.6V), LoRa SX1278 (2.5-3.7V), STM32F103C8T6 (2.0-3.6V) dengan tegangan kerja rata-rata 3.3V dan jarak tegangan kerja 2.5 – 3.6 V.
2.8 ESP32
ESP32 merupakan Board Microcontroller yang ditenagai dengan mikroprosesor Xtensa single-/dual-core 32-bit LX6 240 MHz, dengan ROM 448KB, SRAM 520KB, dan berbagai antarmuka periferal seperti GPIO, ADC, DAC, RTC, SPI, I2C, UART dan dilengkapi dengan Wi-Fi dan Bluetooth [18].
Board ini didesain untuk penggunaan pada perangkat bergerak, perangkat elektronik wearable, maupun pada Internet of Things.
Dengan adanya antarmuka SPI, ESP32 dapat diintegrasikan dengan modul komunikasi LoRa, dan adanya Wi-Fi yang memungkinkan ESP32 terhubung pada jaringan internet, pada penelitian ini ESP32 dipilih untuk dapat dijadikan sebagai Gateway dengan mengintegrasikannya sebagai LoRa Receiver dan menghubungkannya ke internet melalui jaringan Wi-Fi.
2.9 MQTT (Message Queuing Telemetry Transport)
MQTT atau Message Queuing Telemetry Transport merupakan salah satu protokol komunikasi data M2M (Machines to Machines) yang ringan pada jaringan terbatas [19]. Protokol MQTT berjalan diatas layer protokol pengiriman TCP/IP yang dikhususkan untuk penggunaan pada perangkat rendah daya seperti Internet of Things. MQTT berjalan menggunakan konsep publish/subscribe, dimana baik publisher maupun subscriber yang dapat dinyatakan sebagai node atau client. Publisher adalah client yang mengirim pesan dengan topik tertentu kepada client manapun yang menginginkan pesan tersebut dengan cara melakukan subscribe kepada topik pesan tersebut. Dalam penanganannya, pesan dengan topik yang beredar dikelola oleh agen pendistribusian pesan yang biasa disebut broker/server. Oleh sebab itu, beberapa istilah berikut perlu diketahui dalam penerapan protokol MQTT:
Publisher : Pengirim pesan Subscriber : Penerima pesan Payloads : Paket data yg dikirim Topic : Alamat Pesan
Message : Isi Pesan
Broker : Agen pendistribusian pesan (sama dengan server)
Client dapat melakukan subscribe ke beberapa topik dan menerima setiap pesan yang di-publish ke setiap topik. Protokol MQTT menggunakan sistem binary dan biasanya membutuhkan header pesan sebesar 2 bytes, dimana paket pesan yang dapat dikirim bisa mencapai maksimal 256MB. Salah satu keunggulan MQTT adalah tiga tingkatan Quality of Services(QoS) yang memungkinkan kehandalan pengiriman pesan. MQTT sangat cocok digunakan pada jaringan besar perangkat kecil yang perlu dipantau atau dikendalikan dari server back-end di internet.
Oleh sebab itu, karena merupakan salah satu protokol komunikasi data M2M (Machines to Machines) yang ringan pada jaringan terbatas, protokol komunikasi MQTT dipilih dalam penelitian ini sebagai pendukung untuk menangani pertukaran paket data yang dikirm oleh gateway.
2.10 Node-RED
Node-RED adalah alat pemrograman untuk menghubungkan perangkat keras, API, dan layanan online [20]. Node-Red dalam pengaplikasiannya digunakan untuk membuat suatu flow data pada aplikasi Internet of Things (IoT).
Node-RED dibangun dengan Node.js, yang memanfaatkan event-driven. Flow data pada Node-RED terdiri dari sekumpulan node yang saling terhubung dan memiliki tugas masing-masing [21]. Setiap node dapat diprogram tugasnya menggunakan bahasa pemrograman JavaScript, dan penggunaan library memungkinkan untuk memakai atau membagikan function dan flow.
Oleh karena kemudahannya dalam membuat aliran data dan dukungan penggunaan library yang memungkinkan untuk penggunaan Node-RED terhubung dengan aplikasi lain, Node-RED digunakan pada penelitian ini untuk menangani aliran data ke penyimpanan database dar data yang dikirim oleh Gateway pemantauan parameter cuaca setelah melalui komunikasi dengan protokol MQTT.
2.11 InfluxDB
InfluxDB merupakan database open sources buatan InfluxData yang berbasis time series database. Ditulis dalam bahasa pemrograman GO,
dioptimalkan untuk penyimpanan data banyak dan cepat untuk pengambilan data time series seperti pada bidang pemantauan, aplikasi metrik, Internet of Things dan analisis real time [22]. Saat ini database InfluxDB banyak didukung oleh berbagai platform seperti Telegraf, Grafana, Google Data Studio dan lainnya [23].
Oleh sebab itu, dengan berbasis time series database yang dapat digunakan pada bidang pemantauan dan didukung oleh platform lain seperti grafana, sehingga database InfluxDB dipilih untuk penyimpanan data untuk pendukung pada penelitian ini.
2.12 Grafana
Grafana merupakan suatu aplikasi yang bersifat open source yang digunakan untuk membaca suatu data matrix yang nantinya akan divisualiasikan ke dalam sebuah grafik, grafana juga dapat melakukan integrasi dengan beberapa aplikasi database, seperti Graphite, Prometheus, InfluxDB, MySQL, dan lain sebagainya [24]. Oleh sebab itu, dengan penggunaannya sebagai pembaca data matrix dalam visualisasi grafik, dalam penelitian ini grafana digunakan sebagai pemantau visual grafik pada data sensor penelitian dan integrasi dengan database InfluxDB yang dipakai pada penelitian ini.
BAB III
PERANCANGAN SISTEM
Bab ini menjelaskan tentang metode yang dilakukan dalam melakukan penelitian. Terdiri dari perancangan sistem secara umum, perancangan perangkat keras, dan perancangan perangkat lunak.
3.1 Arsitektur Umum
Secara umum, sistem dirancang untuk dapat mengolah masukan data dari sensor-sensor oleh mikrokontroler untuk kemudian data dikirim ke gateway dan kemudian data diteruskan ke server untuk mengetahui kondisi cuaca. Dalam pembuatan sistem, berikut adalah tahapan yang dilakukan untuk membangun sistem:
1. Sensor – sensor parameter cuaca seperti suhu, kelembaban, dan tekanan udara, sensor tegangan baterai, dan modul komunikasi LoRa dihubungkan ke Board Microcontroller STM32F103C8T6 BluePill.
2. Data yang diperoleh dari sensor, kemudian diolah oleh mikrokontroler untuk dijadikan paket data. Kemudian paket data dipancarkan menggunakan tranmisi frekuensi radio LoRa untuk diterima oleh Gateway sebagai jembatan komunikasi antara node dan server.
3. Gateway yang dipakai merupakan rangkaian yang dibuat tersendiri untuk menerima paket data (sebagai Receiver) dari node (sebagai Transmitter).
4. Dalam pengiriman paket data sensor, Gateway dihubungkan ke internet melalui media komunikasi Wi-Fi (Wireless Fidelity) melalui Access Point.
Gateway mengirim paket data ke broker Mosquitto menggunakan protokol komunikasi MQTT(Message Queuing Telemetry Transport).
5. Data yang telah diterima broker Mosquitto, diolah menggunakan Node-RED.
Node-RED bertindak sebgai pengolah data dengan terlebih dahulu menjadi subscriber pada komunikasi MQTT, dimana Gateway yang mengirim paket data bertindak sebagai publisher. Dengan menggunakan Node-RED, data yang telah diterima diolah menggunakan fungsi-fungsi node yang menjadi flow data untuk menyimpan data yang diterima ke dalam database.
6. Database InfluxDB digunakan dalam penelitian ini. InfluxDB adalah database time series. Data yang telah disimpan kemudian akan ditampikan dalam aplikasi Grafana.
Berikut adalah Gambar 3.1 yang menggambarkan arsitektur umum sistem yang dibangun.
Gambar 3. 1 Arsitektur Sistem Pemantauan Parameter Cuaca
3.2 Perancangan Perangkat Keras
Pada bagian ini akan dibahas perancangan perangkat keras pada perangkat pemantau parameter cuaca dan perangkat gateway.
3.2.1 Perancangan Perangkat Pemantauan parameter Cuaca Rendah Daya
Perangkat node atau perangkat pemantau parameter cuaca terdiri dari berbagai sensor, mikrokontroler, modul komunikasi dan baterai sebagai sumber daya dan komponen pendukung seperti papan PCB, kabel, pin header, soket baterai dan lainnya. Berikut adalah tahapan yang dilakukan dalam pembuatan perangkat pemantauan parameter cuaca rendah daya:
1. Sensor – sensor parameter cuaca seperti suhu, kelembaban, dan tekanan udara yang terintegrasi dengan satu modul sensor yaitu BME280 dihubungkan ke Board Microcontroller STM32F103C8T6 BluePill menggunakan antarmuka I2C (Inter Integrated Circuit). Pin I2C yaitu SDA dan SCL pada modul sensor BME280 dihubungkan ke pin I2C yaitu pin GPIO B7 dan B6, sementara itu pin daya VCC dan GND BME280 dihubungkan pada pin daya 3.3 V dan GND pada Board Microcontroller STM32F103C8T6 BluePill. Berikut
adalah tabel 3.1 yang menunjukkan hubungan pin-pin sensor BME280 dan Board Microcontroller STM32F103C8T6 BluePill.
Tabel 3. 1 Hubungan Pin BME280 dan STM32F103C8T6 BluePill
BME280 STM32F103C8T6 BluePill
VCC 3.3V
GND GND
SDA SDA (GPIO B7)
SCL SCL (GPIO B6)
2. Sensor tegangan baterai yang terdiri dari rangkaian pembagi tegangan dihubungkan ke Board Microcontroller STM32F103C8T6 BluePill melalui antarmuka ADC (Analog to Digital Converter). Rangkaian pembagi tegangan seperti yang telah dijelaskan pada bab dasar teori digunakan untuk sensor ini.
Vin dari rangkaian pembagi tegangan dihubungkan ke kutub positif baterai dan GND dihubungkan ke GND atau kutub negatif baterai. Vout dari rangkaian pembagi tegangan dihubungkan ke pin ADC A0 pada Board Microcontroller STM32F103C8T6 BluePill. Besar nilai hambatan yang digunakan pada rangkaian adalah R1 dan R2 adalah sama yaitu 100kOhm, dimana jika dikalkulasikan dengan persamaan rumus 2.1, maka Vout akan bernilai setengah dari Vin.
3. Modul komunikasi LoRa (Long Range) SX1278 dihubungkan ke Board Microcontroller STM32F103C8T6 BluePill melalui antarmuka SPI (Serial Peripheral Interface). Pin-pin pada Modul Lora Ra02 Sx1278 dihubungkan ke Board Microcontroller STM32F103C8T6 BluePill seperti pada Tabel 3.2 berikut ini:
Tabel 3. 2 Hubungan Pin LoRa SX1278 dan STM32F103C8T6 BluePill
LoRa SX1278 STM32F103C8T6 BluePill
3.3V 3.3V
GND GND
MOSI MOSI (GPIO B5)
MISO MISO (GPIOB4)
SCK SCK (GPIO B3)
NSS GPIOA15
RST GPIO B8
DIO0 GPIO B9
4. Baterai Lithium-Ion 2200mAh dihubungkan ke Board Microcontroller STM32F103C8T6 BluePill. Kutub positif baterai dihubungkan ke pin VIN atau 5V Board Microcontroller STM32F103C8T6 BluePill. Sementara itu, Kutub negatif baterai dihubungkan ke pin GND pada Board Microcontroller STM32F103C8T6 BluePill.
5. Penambahan antena isotropic 3 dBi pada modul komunikasi LoRa, saklar dan komponen lainnya untuk menunjang berjalannya kerja perangkat. Penambahan kotak plastik ukuran 12 cm x 8 cm x 5 cm sebagai wadah rangkaian untuk memungkinkan penempatan perangkat pada luar ruangan.
Berikut adalah Gambar 3.2 yang merupakan Rangkaian Skematik Perangkat Pemantau Paramter Cuaca Rendah Daya yang dibangun pada penelitian ini.
Gambar 3. 2 Rangkaian Skematik Perangkat Pemantau Parameter Cuaca Adapun perangkat pemantauan parameter cuaca yang berhasil dibangun diperlihatkan pada Gambar 3.3 berikut.
Gambar 3. 3 Perangkat Pemantau Parameter Cuaca
3.2.2 Perancangan Perangkat Gateway
Perangkat gateway merupakan perangkat yang menghubungkan komunikasi data dari perangkat pemantau parameter cuaca rendah daya atau node ke server. Perangkat ini terdiri dari Modul Komunukasi LoRa, Mikrokontroler, OLED, Catu Daya DC 5V dan komponen pendukung seperti papan PCB, kabel, pin header, soket baterai dan lainnya. Berikut adalah tahapan yang dilakukan dalam pembuatan perangkat gateway:
1. Modul LoRa SX1278 dihubungkan ke Board Microcontroller ESP32 melalui antarmuka SPI (Serial Peripheral Interface). Pin -pin pada Modul Lora Ra02 Sx1278 dihubungkan ke Board Microcontroller ESP32 seperti pada Tabel 3.3 berikut ini:
Tabel 3. 3 Hubungan Pin LoRa SX1278 dan ESP32
LoRa SX1278 ESP32
3.3V 3.3V
GND GND
MOSI MOSI (GPIO 23)
MISO MISO (GPIO 19)
SCK SCK (GPIO 18)
NSS GPIO 5
RST GPIO 4
DIO0 GPIO 2
2. Modul OLED SSD1306 digunakan untuk melihat secara langsung bahwa data – data yang dikirim node dapat diterima gateway dengan baik. Modul OLED SSD1306 dihubungkan ke Board Microcontroller ESP32 melalui antarmuka I2C(Inter Integrated Circuit). Pin-pin pada Modul OLED SSD1306 dihubungkan ke Board Microcontroller ESP32 seperti pada Tabel 3.4 berikut ini:
Tabel 3. 4 Hubungan Pin Modul OLED SSD1306 dan ESP32
OLED SSD1306 ESP32
VCC 3.3V
GND GND
SDA SDA (GPIO 21)
SCL SCL (GPIO 22)
3. Catu daya DC 5V digunakan sebagai seumber daya listrik. Kutub positif 5V dihubungkan ke pin Vin, dan kutub negatif dihubungkan ke pin GND pada ESP32.
4. Penambahan kotak berukuran 10cm x 5 cm x 5 cm digunakan sebagai wadah rangkaian untuk mempermudah peletakan rangkaian pada tempat peletakannya.
Berikut adalah Gambar 3.4 yang merupakan Rangkaian Skematik Perangkat Gateway yang dibangun untuk mempermudah pengambilan data pada penelitian ini.
Gambar 3. 4 Rangkaian Skematik Perangkat Gateway
Adapun perangkat gateway yang telah berhasil dibangun ditampilkan pada Gambar 3.5 berikut.
Gambar 3. 5 Perangkat Gateway
Pada perancangan perangkat keras, tampilan fisik akhir perangkat pemantauan parameter cuaca dan perangkat gateway ditunjukkan pada Gambar 3.6 berikut.
Gambar 3. 6 Perangkat Pemantau Parameter Cuaca dan Gateway 3.3 Perancangan Perangkat Lunak
Pada bagian ini akan dibahas perancangan perangkat lunak pada perangkat pemantau perameter cuaca, perangkat gateway dan perangkat lunak yang digunakan pada server.
3.3.1 Perancangan Perangkat Lunak Pada Node
Perangkat lunak pada pemantauan parameter cuaca rendah daya adalah seperangkat perintah atau program yang dimasukkan ke mikrokontroler untuk menjalankan kerja perangkat. Dalam perancangan perangkat pemantau parameter cuaca berdaya rendah program merupakan salah satu inti utama tercapainya perangkat dapat mencapai tujuan dalam penelitian ini. Algoritma program menentukan langkah kerja yang akan dilakukan oleh perangkat. Berikut adalah algoritma langkah-langkah yang dilakukan untuk menjalankan perangkat pemantau parameter cuaca:
1. Saat pertama perangkat hidup, semua sensor dan perangkat komunikasi diinisiasi untuk dapat digunakan.
2. Lakukan pembacaan setiap sensor, baik suhu, kelembaban, dan tekanan udara, dan juga pada sensor tegangan baterai. Pada modul sensor BME280, setelah pembacaan sensor dilakukan, sensor diperintahkan untuk masuk kedalam mode sleep untuk mencapai hemat daya.
3. Data sensor yang diperoleh, kemudian data dikirim menggunakan komunikasi LoRa. Setelah selesai pengiriman dilakukan, modul komunikasi LoRa kemudian diperintahkan untuk memasuki mode sleep.
4. Setelah pembacaan dan pengiriman data sensor telah selesai, mikrokontroler diperintahkan untuk memasuki mode deep sleep untuk menghemat daya dengan waktu yang ditentukan yaitu 10 menit pada penelitian ini.
5. Setelah 10 menit dalam mode deep sleep program akan otomatis menghidupkan kembali mikrokontroler lalu memasuki kembali langkah 1 diatas. Dengan algoritma program diatas, diharapkan sistem akan mampu mencapai tujuan dari penelitian ini yaitu perangkat pemantuan cuaca yang mengkonsumsi daya rendah. Untuk lebih memahami alur algoritma diatas, berikut adalah Gambar 3.7 yang menunjukkan diagram alir algoritma kerja perangkat pemantau parameter cuaca.
Gambar 3. 7 Diagram Alir Algoritma Perangkat Pemantau Parameter Cuaca Dalam implementasinya, program yang dimasukkan kedalam perangkat pemantauan parameter cuaca rendah daya yang dibangun adalah seperangkat perintah atau program yang ditulis dalam bahasa C/C++ yang menggunakan Arduino IDE versi 1.8.11. Untuk dapat menggunakan Arduino IDE sebagai pemrogram, beberapa library terlebih dahulu dimasukkan pada Arduino IDE.
Library yang dimaksud digunakan untuk dapat menjalankan mikrokontroler maupun sensor dan modul komunikasi, yang juga serta dalam memungkinkan perangkat pemantauan parameter cuaca berjalan dengan konsumsi daya yang rendah. Berikut adalah library yang dipakai program perangkat pemantau parameter cuaca serta penjelasan singkatnya dalam penelitian ini:
1. Arduino_Core_STM32 [25], adalah library untuk menambahkan mikrokontroler STM32 pada Arduino IDE, library ini digunakan untuk
melakukan pemrograman dan pemasukan program ke mikrokontroler STM32F103C8T6 dengan Arduino IDE.
2. STM32LowPower [26], adalah library yang dipakai untuk memungkinkan penggunaan mode rendah daya dengan menjalankan perintah deep sleep pada mikrokontroler STM32F103C8T6.
3. Adafruit_Sensor dan Adafruit_BME280 [27], adalah library yang dipakai untuk dapat memprogram penggunaan sensor BME280 pada Arduino IDE.
4. Arduino-LoRa-STM32 [28], adalah library yang dipakai untuk dapat memprogram penggunaan modul LoRa untuk STM32 pada Arduino IDE.
Library ini juga memungkinkan penggunaan Lora dapat mode sleep.
Program yang dibuat untuk perangkat pemantau parameter cuaca berdaya rendah dicantumkan dalam lampiran.
3.3.2 Perancangan Perangkat Lunak Pada Gateway
Perangkat lunak pada Gateway merupakan serangkaian perintah program yang dimasukkan kedalam mikrokontroler untuk menjalankan fungsi kerja gateway. Algoritma pemrograman pada gateway diperlukan untuk menghubungkan gateway ke akses jaringan internet melalui Wi-Fi, menerima paket data LoRa dari node, dan mengolah paket data untuk dikirim melalui protokol MQTT. Berikut adalah algoritma langkah-langkah yang dilakukan untuk menjalankan perangkat gateway LoRa:
1. Saat pertama kali perangkat hidup, perangkat menginisiasi modul komunikasi LoRa, OLED, dan Wi-Fi.
2. Perangkat menghubungkan jaringan ke akses poin Wi-Fi.
3. Kemudian Perangkat melakukan hubungan ke MQTT broker.
4. Perangkat masuk dalam mode stand-by untuk menunggu data paket masuk yang dikirim oleh node.
5. Jika ada data paket LoRa diterima, kemas paket dalam paket JSON. Cek hubungan Wi-Fi dan hubungan MQTT broker. Lakukan hubungan Ulang jika koneksi terputus. Lalu kirim data ke MQTT broker.
6. Jika hubungan Wi-Fi dan MQTT broker terhubung. Lakukan pengiriman paket data, tunggu status pengiriman paket, jika berhasil tampilkan data paket LoRa yang diterima ke display, jika gagal, lakukan pengiriman ulang paket.
7. Setelah pengiriman selesai, perangkat kembali dalam mode stand-by untuk menunggu paket data.
Untuk lebih memahami algoritma pada perangkat gateway, berikut ditampilkan pada Gambar 3.8 yang menunjukkan diagram alir algoritma pada perangkat gateway yang dibuat.
Gambar 3. 8 Diagram Alir Algoritma Perangkat Gateway
Untuk mengimplementasikan algoritma yang dirancang, perangkat diprogram dalam bahasa C/C++ menggunakan Arduino IDE versi 1.8.11.
Beberapa library diperlukan pada Arduino IDE untuk dapat memprogram mikrokontroler ESP32 dan menggunakan perangkat periferal seperti OLED dan Modul LoRa, juga untuk melakukan komunikasi melalui protokol MQTT.
Berikut adalah library yang dipakai program perangkat gateway serta penjelasan singkatnya dalam penelitian ini:
1. arduino-ESP32 [29], adalah library untuk menambahkan board mikrokontroler ESP32 pada Arduino IDE, library ini digunakan untuk melakukan pemrograman dan pemasukan program ke mikrokontroler ESP32 dengan Arduino IDE.
2. arduino-LoRa [30], adalah library untuk menggunakan modul komunikasi LoRa pada Arduino IDE. Dapat dipakai pada banyakboard microcontroller, salah satunya ialah board ESP32.
3. Adafruit_GSX dan Adafruit_SSD1306 [27], adalah library untuk menggunakan modul OLED SSD1306 pada Arduino IDE. Dapat dipakai pada banyak board mikrokontroler, salah satunya ialah board ESP32.
Program yang dibuat untuk perangkat gateway dicantumkan dalam lampiran.
3.3.3 Perancangan Perangkat Lunak Pada Server
Perancangan perangkat lunak pada server menggunakan beberapa aplikasi yang dapat mendukung dalam penelitian ini. Aplikasi-aplikasi yang dipakai dipasang dan dikonfigurasi pada server
3.3.3.1 Pemasangan Server EC2 AWS
Server EC2(Elastic Compute Cloud) pada layanan AWS(Amazon Web Services) digunakan pada penelitian ini. Layanan AWS dapat digunakan setelah melakukan pendaftaran. Selanjutnya, pemasangan EC2 dapat dilakukan dengan konfigurasi yang dibutuhkan. Berikut adalah langkah-langkah yang dapat dilakukan untuk pemasangan server EC2 yang digunakan dalam penelitian ini:
1. Lakukan pendaftaran akun pada layanan Amazon Web Services (AWS) untuk dapat menggunakan layanan EC2.
2. Masuk ke Services lalu pilih EC2.
3. Pada Side Bar pilih Instances lalu pilih Launch Instance untuk memasang server.
4. Layanan akan masuk pada pemilihan AMI(Amazon Machine Image) atau Operating System, Instance Type, Configure Instance, Storage, Tags, dan Security Group.Pada penelitian ini konfigurasi server ditampilkan pada Tabel 3.5 berikut.
Tabel 3. 5 Konfigurasi Server
Konfigurasi Keterangan
AMI/ Sistem Operasi Ubuntu Server 18.04 LTS (HVM), SSD Volume Type
Instances Type t2.micro (- ECUs, 1 vCPUs, 2.5 GHz, -, 1 GiB memory, EBS only)
Storage Root, dev/sda1, 8GB, General Purpose SSD (gp2) Security Group SSH(22), Node-RED(1880), MQTT(1883),
InfluxDB(8086), Grafana(3000)
5. Setelah konfigurasi dilakukan, klik Launch. Lalu akan diarahkan untuk pemilihan key pair. Pilih key pair sesuai kebutuhan, lalu simpan key pair dalam ektensi .pem untuk digunakan pada tahapan berikutnya. Kemudian klik Launch untuk mulai menjalankan Instance.
Setelah langkah-langkah di atas dilakukan, Instance sudah dapat berjalan.
Untuk dapat menggunakan instance sebagai server, akan dipasang beberapa aplikasi yang dibutuhkan dan dilakukan konfigurasi pada aplikasi-aplikasi tersebut.
Pemasangan aplikasi-aplikasi dilakukan dengan mengakses terminal pada sistem operasi virtual yang telah dipasang. Untuk dapat melakukannya, akses ke sistem operasi pada penelitian ini dilakukan dengan protokol SSH menggunakan aplikasi PuTTy. Berikut adalah langkah-langkah yang dilakukan menggunakan PuTTy untuk mengakses ke instance yang telah dibuat.
1. Untuk dapat terhubung ke instance, diperlukan key pair yang telah dibuat pada tahapan sebelumnya. Gunakan aplikasi PuTTyGen untuk mengubah key pair dari ekstensi .pem ke ekstensi .ppk untuk dapat digunakan pada aplikasi PuTTy.
2. Buka aplikasi PuttyGen, Klik File > Load private key. Lalu pilih key pair yang telah disimpan dalam ekstensi .pem. Setelah terbuka, pilih Save private key dalam ekstensi .ppk.
3. Buka aplikasi PuTTy, pada side bar klik SSH> Auth akan muncul Options controlling SSH Authentication. Pada Private key file for authentication Masukkan file key pair dengan ekstensi .ppk yang telah dibuat pada langkah sebelumnya.
4. Pada side bar aplikasi Putty, klik Session. Akan muncul jendela Basic option for your PuTTY session. Isi Host Name dengan alamat IP instance yang telah dibuat, yaitu Public Ipv4 DNS pada Instance Services EC2. Isi Port 22 dan Configure Type SSH. Simpan opsi session ini jika diperlukan.
Kemudian klik Open untuk mulai terhubung dengan terminal sistem operasi pada instance yang telah dibuat.
5. Setelah terhubung ke terminal dengan Authentication yang benar. Akan diminta konfirmasi login as, isikan dengan username yaitu ubuntu.
Setelah semua langkah telah selesai, Server EC2 AWS yaitu instance yang merupakan Ubuntu Server sudah dapat digunakan sesuai kebutuhan untuk penelitian.
3.3.3.2 Pemasangan Broker MQTT Mosquitto
Pemasangan Broker MQTT dapat dilakukan dengan terminal Ubuntu Server yang telah terpasang menggunakan aplikasi PuTTy seperti pada tahapan sebelumnya.
Untuk memasang dan melakukan konfigurasi broker MQTT, berikut adalah langkah-langkah yang dapat dilakukan:
1. Pada terminal Ubuntu Server, tulis perintah berikut untuk meng-update dan memasang mosquitto:
sudo apt-get update
sudo apt-get install mosquitto
Broker MQTT Mosquitto akan langsung berjalan pada server.
2. Kemudian, pasang MQTT Client untuk melakukan tes, dengan perintah:
sudo apt-get install mosquitto-clients
3. Setelah Mosquitto dan Mosquitto Clients terpasang, tulis perintah berikut untuk mengamankan broker MQTT dengan password:
sudo mosquitto_passwd -c /etc/mosquitto/passwd iot2021
Password: iot2021
4. Buat file konfigurasi untuk mengarahkan ke file password Mosquitto yang telah dibuat, dengan perintah:
sudo nano /etc/mosquitto/conf.d/default.conf
Akan terbuka jendela nano text editor pada terminal, kemudian isi file dengan tulisan berikut:
allow_anonymous false
password_file /etc/mosquitto/passwd
Setelah itu, tekan CTRL+O lalu Enter untuk menyimpan file, kemudian CTRL+X untuk keluar dari nano text editor.
5. Restart broker Mosquitto, dengan perintah berikut:
sudo systemctl restart mosquitto
Setelah broker Mosquitto MQTT terpasang, uji coba broker MQTT dilakukan menggunakan aplikasi MQTTBox versi 0.2.3 untuk melihat keberhasilan broker mengolah data masuk dari publisher dan meneruskan data ke subscriber. Untuk dapat menggunakan MQTTBox sebagai client MQTT, beberapa pengaturan perlu diatur sesuai dengan broker mosquitto MQTT yang telah dibuat.
Berikut adalah Tabel 3.6 yang menunjukkan pengaturan pada client MQTTBox yang digunakan pada penelitian ini.
Tabel 3. 6 Pengaturan Client MQTTBox
Pengaturan Keterangan
MQTT Client Name iot2021
Protocol mqtt / tcp
Host 18.237.61.223:1883
Username iot2021
Password iot2021
Kemudian, tambahkan publisher dan subscriber dengan topic to publish dan topic to subscribe pada penelitian ini adalah weather. Uji coba kerja broker MQTT dengan menggunakan MQTTBox ditampilan pada Gambar 3.9 yang menujukkan broker MQTT dapat berjalan baik.
Gambar 3. 9 Uji coba kerja Broker MQTT dengan Aplikasi MQTTBox
3.3.3.3 Pemasangan InfluxDB
InfluxDB digunakan sebagai database yang menyimpan paket data pemantauan yang dikirim oleh perangkat pemantau parameter cuaca. Database InfluxDB dipasang pada Ubuntu Server EC2. Pemasangan InfluxDB dapat dilakukan melalui terminal menggunakan aplikasi puTTy. Berikut adalah langkah- langkah yang dapat dilakukan untuk dapat memasang InfluxDB pada server Ubuntu:
1. Tambahkan repositori InfluxDB pada server Ubuntu dengan perintah berikut:
sudo curl -sL
https://repos.influxdata.com/influxdb.key | sudo apt-key add -
2. Kemudian jalankan perintah berikut untuk membuat file repositori:
sudo echo "deb https://repos.influxdata.com/ubuntu
bionic stable" | sudo tee
/etc/apt/sources.list.d/influxdb.list
3. Setelah menambahkan repositori dan ,membuat file repositori, jalankan perintah dberikut ini untuk memperbarui indeks paket Ubuntu dan memasang InfluxDB:
sudo apt-get update
sudo apt install influxdb
4. Kemudian, beberapa perintah berikut dapat dilakukan untuk menjalankan Influx DB dan membuat InfluxDB berjalan saat server Ubuntu dilakukan restart:
sudo systemctl start influxdb
sudo systemctl enable --now influxdb sudo systemctl is-enable influxdb
Setelah semua langkah pemasangan selesai, InfluxDB telah dapat digunakan untuk kebutuhan pada penelitian. Utntuk melihat data yang telah tersimpan pada database InfluxDB, dapat dilihat dengan menggunakan aplikasi PuTTy. Untuk melihat koleksi data yang telah disimpan pada database InfluxDB dapat dilakukan dengan langkah-langkah berikut:
1. Buka apliaksi PuTTy, lalu hubungkan ke server Ubuntu pada instance EC2 yang digunakan pada penelitian ini.
2. Setelah masuk dalam terminal, ketikkan perintah influx untuk memasuki CLI (Command Line Interface) InfluxDB.
3. Kemudian ketik perintah use iot2021 untuk menggunakan database iot2021 yang telah dibuat untuk penyimpanan data pada penelitian ini.
4. Kemudian ketik perintah select * from weather, untuk menampilkan seluruh data yang telah disimpan di database iot2021 pada InfluxDB dengan measurements bernama weather.
Setelah langkah-langkah diatas dilakukan, akan diperlihatkan data yang telah tersimpan pada database yang digunakan pada penelitian ini. Gambar 3.10 menunjukan data pada database InfluxDB.
Gambar 3. 10 Uji coba pada database InfluxDB
3.3.3.4 Pemasangan Node-RED
Pemasangan Node-RED pada Ubuntu Server dapat dilakukan melalui terminal yang dibuka melalui aplikasi PuTTy. Node-RED berjalan diatas aplikasi NodeJS, sehingga untuk dapat menggunakan Node-RED terlebih dahulu harus memasang NodeJS pada server Ubuntu. Berikut adalah langkah-langkah yang dapat dilakukan untuk memasang NodeJS dan Node-RED pada server Ubuntu:
1. Buka terminal Ubuntu Server pada instance EC2 yang telah dibuat menggunakan aplikasi PuTTy.
2. Tulis perintah memasukkan repositori untuk pemasangan NodeJS, seperti berikut:
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
3. Kemudian lakukan pemasangan NodeJS dengan perintah berikut:
sudo apt-get install y nodejs build-essential 4. Kemudian lakukan pemasangan Node-RED menggunakan npm (Node
Package Manager) yang merupakan salah satu Fitur dari NodeJS untuk pemasangan aplikasi atau modul pada NodeJS, perintahnya adalah sebagai berikut:
sudo npm install -g --unsafe-perm node-red
5. Setelah proses pemasangan Node-RED selesai, berikutnya ialah melakukan pemasangan PM2 (Proses Manager) agar Node-RED dapat berjalan secara otomatis saat Instance EC2 dilakukan restart. Berikut adalah perintah yang dapat dituliskan:
sudo npm install -g –unsafe-perm pm2
6. Setelah PM2 terpasang, lakukan pengaturan untuk menjalankan Node- RED dengan perintah berikut:
pm2 start ‘which node-red’ -- -v pm2 save
pm2 startup
Untuk menjalankan Node-RED sebagai pengolah data beberapa node dipakai dan dihubungkan sebagai suatu aliran data untuk menerima data MQTT dari publisher yaitu perangkat gateway dan melakukan penyimpanan pada database InfluxDB. Gambar 3.11 menunjukkan rangkaian aliran data yang dirancang dalam penelitian ini.
Gambar 3. 11 Aliran Data pada Node-RED
Dimana penjelasan dari masing-masing node adalah sebagai berikut:
1. weather_node-red adalah node yang digunakan sebagai client MQTT.
Node ini bertindak sebagai subscriber yang menerima data publish dari
perangkat gateway. Untuk menjalankan fungsi dari node ini diperlukan pengaturan untuk server dan client MQTT. Berikut adalah Tabel 3.6 untuk pengaturan server MQTT dan Tabel 3.7 untuk pengaturan client MQTT node.
Tabel 3. 7 Pengaturan server MQTT pada Node-RED
Pengaturan Keterangan
Server 18.237.61.223
Port 1883
Protocol MQTT V3.1.1
Client ID weather-node-red
Keep Alive 60
Username iot2021
Password iot2021
Tabel 3. 8 Pengaturan client MQTT pada Node-RED
Pengaturan Keterangan
Topic weather
QoS 2
Output A parsed JSON Object
Name weather_node-red
2. Debugger adalah node yang digunakan untuk melihat pesan masuk yang diterima oleh node client MQTT. Untuk menjalankan fungsi pada node ini, diperlukan pengaturan yang digunakan pada penelitian ini mengikuti pengaturan bawaan yang tersedia.
3. influx_database adalah node yang digunakan untuk melakukan penyimpanan data yang telah diterima dan dipecah oleh node client MQTT ke database InfluxDB. Untuk menjalankan fungsi node ini diperlukan pengaturan yang disesuaikan dengan kebutuhan pada penelitian ini ditunjukkan pada Tabel 3.8 berikut.
Tabel 3. 9 Pengaturan node InfluxDB pada Node-RED
Pengaturan Keterangan
Name influx_database
Server http://18.237.61.223:8086
Database iot2021
Measurements weather
Dengan aliran data yang telah dibuat dari beberapa node yang dihubungkan, uji coba dilakukan untuk mengetahui berjalannya aliran data pada Node-RED yang dapat dilihat melalui panel debugger pesan yang ditunjukkan pada Gambar 3.12 berikut.
Gambar 3. 12 Pengujian Pengolahan Data pada Node-RED 3.3.3.5 Pemasangan Grafana
Grafana digunakan dalam penelitian ini untuk menampilkan data pengujian perangkat pemantau parameter cuaca. Grafana yang digunakan pada penelitian ini adalah Grafana OSS (Open Source Software) versi 7.1.3 yang
dipasang pada server Ubuntu EC2 AWS. Pemasangan Grafana dapat dilakukan melalui terminal yang dibuka melalui aplikasi PuTTy. Berikut adalah langkah- langkah yang dapat dilakukan untuk dapat memasang Grafana pada server Ubuntu:
1. Buka terminal Ubuntu Server pada instance EC2 yang telah dibuat menggunakan aplikasi PuTTy.
2. Untuk memulai pemasangan grafana pada Ubuntu, terlebih dahulu pasang dependencies untuk Grafana, dengan perintah berikut:
sudo apt-get install -y adduser libfontconfig1 3. Kemudian, pada penelitian ini unduh binary file Grafana dengan perintah:
wget
https://dl.grafana.com/oss/release/grafana_7.1.3_a md64.deb
4. Setelah itu, jalankan Debian Package Manager untuk memasang paket yang telah diunduh dengan perintah:
sudo dpkg -i grafana_7.1.3_amd64.deb
5. Setelah Grafana terpasang, Grafana dapat dijalankan dengan perintah berikut:
sudo service grafana-server start
Aplikasi Grafana telah dapat digunakan untuk keperluan penelitian.
Selanjutnya, Grafana dapat diakses menggunakan web browser dengan alamat ip public pada instance ubuntu server dan port 3000. Beberapa pengaturan perlu disesuaikan untuk dapat menggunakan Grafana sebagai tampilan data yang telah disimpan pada database InfluxDB. Berikut adalah langkah-langkah yang dilakukan untuk mengatur penyesuaian pada Grafana.
1. Buka aplikasi Grafana pada web browser, akan diminta authentication untuk mengakses Grafana. Isikan dengan Username dan Password sesuai dengan pengaturan. Pada penelitian ini Username adalah admin dan Password adalah iot2021.
2. Atur Data Sources pada menu Configuration. Pilih jenis database, pada penelitian ini menggunakan InfluxDB. Kemudian sesuaikan aturan untuk
database yang digunakan. Pada penelitian ini, berikut adalah aturan yang digunakan pada Tabel 3.9.
Tabel 3. 10 Pengaturan database InfluxDB pada Grafana
Pengaturan Keterangan
Name InfluxDB
Query Language InfluxQL
URL http://localhost:8086/
Database iot2021
3. Setelah data sources ditambahkan, buat dashboard untuk tampilan data pada menu Create > Dashboard > Add Panel. Kemudian Edit Panel dengan mengisikan pengaturan Query, Visualization dan lainnya sesuai kebutuhan. Pada penelitian ini, ada empat buah panel yang dibutuhkan, yaitu masing-masing untuk melihat data suhu, kelembaban, tekanan udara, dan tegangan baterai. Untuk pengaturan pada masing-masing panel ditunjukkan pada Tabel 3.10 untuk pengaturan panel suhu, Tabel 3.11 untuk pengaturan panel kelembaban, Tabel 3.12 untuk pengaturan panel tekanan udara, dan Tabel 3.13 untuk pengaturan panel tegangan baterai.
Tabel 3. 11 Pengaturan Panel Suhu
Pengaturan Sub Pengaturan Keterangan
Query FROM weather
WHERE id = 001
SELECT field(temp)
GROUP BY -
FORMAT AS Time Series
Setting Panel Title Temperature
Transparent True
Visualization - Graph
Display Lines True
Points True
Tabel 3. 12 Pengaturan Panel Kelembaban
Pengaturan Sub Pengaturan Keterangan
Query FROM weather
WHERE id = 001
SELECT field(hum)
GROUP BY -
FORMAT AS Time Series
Setting Panel Title Humidity
Transparent True
Visualization - Graph
Display Lines True
Points True
Tabel 3. 13 Pengaturan Panel Tekanan Udara
Pengaturan Sub Pengaturan Keterangan
Query FROM weather
WHERE id = 001
SELECT field(press)
GROUP BY -
FORMAT AS Time Series
Setting Panel Title Air Pressure
Transparent True
Visualization - Graph
Display Lines True
Points True
Tabel 3. 14 Pengaturan Panel Tegangan Baterai
Pengaturan Sub Pengaturan Keterangan
Query FROM weather
WHERE id = 001
SELECT field(volt)
GROUP BY -
FORMAT AS Time Series
Setting Panel Title Battery Voltage
Transparent True
Visualization - Stats
Display Calculation Last
Fields weather.volt
Graph none
BAB IV
PENGUJIAN DAN HASIL
4.1 Pengujian Perangkat Pemantau Parameter Cuaca
Beberapa pengujian pada perangkat pemantau parameter cuaca dilakukan untuk melihat keberhasilan kerja dan kemampuan untuk mencapai daya rendah pada kerja perangkat.
4.1.1 Pengujian Beban Perangkat
Pengujian beban perangkat dilakukan untuk melihat dan menganalisis kemampuan kerja perangkat. Pada penelitian ini pengujian beban dilakukan dengan mengukur beban tegangan dan arus pada saat perangkat pemantau paramter cuaca bekerja. Beberapa langkah pengujian yang dilakukan dalam penelitian ini dijabarkan sebagai berikut:
1. Pengujian dilakukan dengan mengukur beban tegangan dan arus pada perangkat. Alat ukur yang digunakan pada penelitian ini adalah sebuah multimeter ZOTEKTM ZT102.
2. Pengukuran tegangan baterai dilakukan dengan menghubung paralel baterai dan voltmeter. Berikut adalah Tabel 4.1 yang menunjukkan hasil pengukuran tegangan baterai yang dilakukan selama 60 hari mulai tanggal 4 Maret 2021 hingga 2 Mei 2021.
Tabel 4. 1 Hasil Pengukuran Tegangan Baterai
Hari Ke- Tegangan (Volt)
1 4.129
10 4.097
20 4.081
30 4.065
40 4.043
50 4.038
60 4.023
Perubahan tegangan baterai yang diukur ditampilkan dalam grafik pada Gambar 4.1 berikut.
Gambar 4. 1Grafik Perubahan Tegangan Baterai
Dari grafik di atas dapat dilihat tegangan baterai yang digunakan pada perangkat seiring waktu berjalan mengalami penurunan tegangan.
Dimana tegangan awal baterai pada perangkat pada hari pertama adalah 4.129 dan tegangan baterai pada perangkat pada hari ke 60 adalah 4.023.
3. Pengukuran arus beban pada rangkaian perangkat pemantauan parameter cuaca dilakukan untuk mengetahui beban rangkaian dan memprediksi durasi kerja perangkat pemantau parameter cuaca. Pengukuran arus beban rangkaian dilakukan dengan menghubung seri Ampere-meter diantara baterai dan rangkaian pemantau parameter cuaca. Hasil dari pengukuran arus beban dilakukan pada saat perangkat kondisi bekerja mengambil data snsor dan pengiriman data dan pada saat perangkat memasuki mode deep- sleep pada beberapa nilai tegangan nominal baterai yaitu antara 3.7 V – 4.2 V dengan jarak antar pengukuran yaitu sekitar 0.05 V. Hasil dari pengukuran yang telah dilakukan ditunjukkan pada Tabel 4.2.