Semua Tentang Belajar Teknologi Digital Dalam Kehidupan Sehari - Hari

Senin, 30 September 2019

Cara Belajar IOT : Praktek komunikasi SIM7000 NBIOT dengan protokol MQTT



Setelah beberapa waktu meluangkan masa belajar dan tuning frekuensi otak kembali ke mode "tukang solder" akhirnya kali ini akan dibagi hasil pembelajaran IOT saya bersama anak magang dari D3Elektro ITS. Bahan-bahan yg diperlukan sebagai berikut:

- Arduino Uno
- Sim7000E (atau bisa juga SIM 800 /900)
- Breadboard + Kabel Jumper
- LCD Matrix
- LED
- LM 35 (tambahan)

Standar yg perlu dipahami dan bisa di baca-baca di artikel di internet adalah protokol IOT paling sederhana dan ampuh yaitu MQTT (message queueing telemetry transport)




Untuk itu perlu diperhatikan beberapa istilah dalam protokol MQTT

- MQTT BROKER , sebagai relay message dan bisa di instal mandiri di PC atau ada beberapa layanan broker gratis di internet seperti : cloudmqtt dot com atau hivemq.com 
- CLIENT : Alat yg akan berkomunikasi menggunakan protokol mqtt

- TOPIC :  Suatu istilah layaknya topik pembicaraan dalam suaut grup chat

- Publish : Menulis pesan ke suatu topik

- Subscribe : Berlangganan pesan pada suatu topik tertentu 

Secara gampang dapat dikatakan MQTT layaknya standar chatting jaman dulu, dan karena memang MQTT didasarkan pada prinsip XMPP yg digunakan facebook messenger jaman dulu. Sebaiknya kita mendaftarkan akun MQTT gratisan pada cloudmqtt dotcom




Kita buat akun pada cloudmqtt.com atau bisa juga langsung log in menggunakan akun google kita. Setelah kita log in, kita buat server yg akan dituju dengan menekan “Create New Instance”. Lalu kita isikan name, plan, dan tags nya. Untuk plan, telah ada pilihan “cute cat” dan ini gratis. Setelahnya klik “Select Region”, disini kita default saja jadi kita langsung next.

Setelah kita buat instance nya, kita kembali ke home cloudmqtt. Lalu kita pilih instance yang telah kita buat. Disitu akan terdapat details mengenai instance yang kita buat, kita akan mendapatkan alamat server, user, password, dan port. Disini ada beberapa port yang disediakan, namun untuk mudahnya cukup hanya gunakan port TCP saja. Karena ini gretongan jadi terdapat connection limit hanya bisa tersambung dengan 5 device/client saja.

Wiring yg diperlukan ke arduino uno :
- 2 port serial ( software serial)
- 6 port LCD matrix
- 1 port LED
- 1 port Analog ( LM35) 

Untuk mendukung pemrograman pada arduino sketch dibutuhkan library pendukung yaitu:

-  liquidcrystal   ==> untuk LCD
-  pubsubclient  ==> untuk publish dan subscribe topic pada broker
-  TinyGsmClient  ==> library SIM COM
-  SoftwareSerial  ==> komunikasi serial

Untuk programnya pertama-tama kita install library yang akan kita pakai pada sketch. Disini kita menggunakan beberapa library diantaranya ada SoftwareSerial, dengan library software serial kita bisa melakukan lebih dari satu komunikasi serial dengan menggunakan port digital lainnya selain port serial built in yang telah disediakan. 

Lalu ada PubSubClient, library ini digunakan untuk support MQTT yang mana digunakan untuk publish dan subscribe topic MQTT. Dengan menggunakan MQTT kita akan mengenal topic, publish, dan subscribe. Publish sama saja dengan mengupload pesan ke broker/serve MQTT dengan topic tertentu, sementara subscribe berarti kita sedang mengikuti topic tertentu. Jika misal kita men-subscribe suatu topic, kita akan secara otomatis memperoleh pesan seperti apa yang diupload ke topic yang telah kita subscribe. 

Berikutnya ada library TinyGsmClient, library ini digunakan untuk support penggunaan GSM pada project yang kita buat kali ini. Disini kita menggunakan SIM7000E. Agar program dapat berjalan dengan baik dan benar kita harus mempelajari library-nya terlebih dahulu, seperti command/fungsi apa yang harus dipanggil. Dan ada juga library LiquidCrystal sebagai support untuk penggunaan LCD pada project kali ini.


Kali ini kita menggunakan simcard NBIoT dari Telkomsel. Pertama-tama kita harus mengkoneksikannya terlebih dahulu jaringannya ke jaringan Telkomsel NBIoT yang ada. Untuk itu ada beberapa hal yang harus kita atur terlebih dahulu diantaranya APN(Access Point Name), username, dan password. Kali ini APN yang digunakan adalah “NB1INTERNET”, biasanya APN sudah bawaan dari simcard yang kita pakai. Lalu untuk username dan password bisa kita kosongkan  saja jika tidak ada. Penjelasan mengenai hal ini bisa dibaca pada : http://www.aisi555.com/2019/08/iot-hello-world-mencoba-komunikas-nb.html

Setelah dikoneksikan dengan jaringan, maka berikutnya kita koneksikan dengan broker MQTTnya. Untuk mengkoneksikan ke broker kita perlu mengatur beberapa hal pada program, diantaranya kita inisialisasikan link broker yang digunakan, port MQTT yang digunakan, ClientID (untuk ClientID bisa kita isikan sembarang), username dan password. Untuk link, port, username, dan password dapat kita lihat pada details yang ada di cloudmqtt yang telah kita buat. Tak lupa juga kita inisialisasikan topic yang akan kita gunakan untuk publish dan subscribe. Untuk topic publish dan subscribenya lebih baik dibedakan agar pesan yang dikirim dan diterima tidak tabrakan.

Berikut listing program yang telah kami  buat:



Setelahnya kita upload program. Kemudian dapat kita lihat pada serial monitor untuk melihat jalannya program. Dan dapat kita lihat juga pada websocket cloudmqtt, disini dapat kita lihat pesan dari topic yang dipublish dan disubscribe.



Selain itu kita juga dapat memonitoring dan mengkontrolnya melalui aplikasi di handphone kita. Disini kita gunakan IoT MQTT Panel yang gratis, kita dapat mendownloadnya di playstore kemudian kita install. Pada halaman utama dapat kita lihat ada tanda + , kita klik untuk menambahkan koneksi MQTT. Setelahnya kita isikan konfigurasi yang diperlukan dan juga device nya. Setelahnya kita klik create. Berikutnya kita akan masuk ke panel dari koneksi yang telah kita buat. Disitu kita bisa menambahkan panel lagi untuk memonitor ataupun mengkontrol, kita disediakan beberapa tipe panel dari button, switch, led indicator, grafik dan ada beberapa jenis lainnya yang dapat kita gunakan. 
      


Untuk membaca data sensor suhu LM 35 kita bisa hubungkan seperti gambar diatas , dan script tambahan pada berikut ini.



Jika digabung dengan software android IOT MQTT PANEL bisa jadi keren seperti berikut :



Disusun oleh Anak Magang d3lektro ITS ( josia & fitri )


Share:

0 komentar:

Posting Komentar

Kontak Penulis



12179018.png (60×60)
+628155737755

Mail : ahocool@gmail.com

Site View

Categories

555 (8) 7 segmen (3) adc (4) amplifier (2) analog (19) android (12) antares (11) arduino (27) artikel (11) attiny (3) attiny2313 (19) audio (5) baterai (5) blog (1) bluetooth (1) chatgpt (2) cmos (2) crypto (2) dasar (46) digital (11) dimmer (5) display (3) esp8266 (26) euro2020 (13) gcc (1) gsm (1) iklan (1) infrared (2) Input Output (3) iot (74) jam (7) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (17) komputer (3) komunikasi (1) kontrol (8) lain-lain (8) lcd (2) led (14) led matrix (6) line tracer (1) lm35 (1) lora (11) lorawan (2) MATV (1) memory (1) metal detector (4) microcontroller (70) micropython (6) mikrokontroler (1) mikrokontroller (14) mikrotik (5) modbus (9) mqtt (3) ninmedia (5) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (88) pcb (2) power (1) praktek (2) project (33) proyek (1) python (8) radio (28) raspberry pi (9) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (2) sharing (3) signage (1) sinyal (1) sms (6) software (18) solar (1) solusi (1) tachometer (2) technology (1) teknologi (2) telegram (2) telepon (9) televisi (167) television (28) telkomiot (5) transistor (2) troubleshoot (3) tulisan (94) tutorial (108) tv digital (6) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3) yolo (7)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika