BAB III PERANCANGAN SISTEM
3.2 Perancangan Perangkat Keras
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.