Semua Tentang Belajar Teknologi Digital Dalam Kehidupan Sehari - Hari

Selasa, 19 Mei 2020

[IOT Ternyata Mudah] Memanfaatkan Raspberry Pi Sebagai Broker MQTT (Mosquitto) Yang dapat Diakses Publik



Beberapa hari terakhir penulis kembali disibukkan dengan project "tertunda" dari tahun 2019 milik seorang teman. Dapat dibilang sedikit beruntung karena penulis pada masa PSBB covid-19 ini  mempunyai waktu luang dikarenakan beberapa proyek yg seharusnya masa sebelum lebaran menjadi "sok sibuk" dengan terpaksa di cancel. Tapi live mas gogon - tetap berkreasi adalah pilihan yang terbaik daripada menjadi panik akibat virus yang tak kunjung ketemu vaksin nya.




Masih ingat gambar diatas ? Itu merupakan tulisan saat kawan yg mengajak saya mengerjakan proyek pengolahan data IOT membuat saya giat belajar teori + praktek pengiriman data IOT menggunakan protokol MQTT. Jika pembaca belum sempat memperhatikan ada baiknya menelaah dahulu pada link berikut : http://www.aisi555.com/2019/10/iot-lebih-lanjut-dengan-mqtt.html . Dan sangat terkejutnya ketika bulan mei 2020 saat mengerjakan proyek bersambung tadi, tersadar bahwa server/broker  CloudMqtt dot com yg saya sering gunakan, mulai memasang harga dan versi gratisnya dibilang "OUT OF STOCK". Ya saya maklum saja mereka butuh sewa server dan cari untung dan walau akun mqtt saya masih aman dan instance saya masih aktif akan tetapi kualitasnya menurun, putus-putus, dan mungkin ini sebabnya di berikan "meteran" agar terjadi keseimbangan antara penggunaan dan kapasitas server.


Lalu apakah yg harus saya perbuat ? Apakah mencari broker publik ? Dan pilihan tertuju ke sebuah alat kecil yg tergeletak di toolbox pemberian teman tadi, yang ditinggalkan mahasiswanya (seharusnya ikut mengerjakan proyek)  akibat kampus lockdown terdampak covid-19. Dan alat itu ternyata raspberry zero W.

Saya tidak akan membahas cara install raspi zero karena sangat umum ditemukan di internet, yang penting saran saya adalah gunakan SD CARD kualitas terbaik yaitu kelas EXTREME dengan kecepatan transfer s/d 100mbps dan lupakan membeli sd card class 10 yang banyak palsunya. Belilah di toko online yg jualan spesialis alat rekam video karena dijamin sudah terpercaya. Saya pilih OS yang paling umum yaitu RASPBIAN. Cara install mosquitto sangat gampang dan juga umum ditemukan dengan googling.


pi@raspberry:~ $ sudo apt install -y mosquitto mosquitto-clients

Jangan lupa untuk menjadikan mosquitto sebagai service sehingga auto start

pi@raspberry:~ $ sudo systemctl enable mosquitto.service

sudah...sederhana seperti itu dan bisa digunakan secara langsung..oh iya untuk mengetahui apakah broker mqtt sudah berjalan gunakan perintah 

pi@raspberry:~ $ mosquitto -v

secara default port yang digunakan adalah 1883 dan IP nya berapa ya ? Hayo coba googling sendiri cara menemukan IP dari raspberry kamu. Gampang kok...

dan script arduino kamu cukup dikosongkan username dan passwordnya seperti berikut :



Jika menginginkan MQTT brokernya lebih secure dengan user password, gunakan perintah berikut ini :

 pi@raspberry:~ $ mosquitto_passwd -c passwordfile user

nanti akan keluar perintah untuk memasukkan pasword. Nah..gampang begitu masak gak bisa? kalau melihat proyek sebelumnya menggunakan ESP8266 tinggal sambung ke wifi yang sama dan otomatis terhubung dengan mantap. 

Untuk melakukan sub dari topik pada raspberry gunakan perintah :

pi@raspberry:~ $ mosquitto_sub -h localhost -u namauser -P password -t TOPIKNYA 

Gunakan terminal telnet/ssh lainnya untuk PUBLISH message ke topic agar tertangkap pada terminal sebelumnya

pi@raspberry:~ $ mosquitto_pub -h localhost -u namauser -P password -t TOPIKNYA -m "saya publish pesan"


Lalu bagaimana jika menggunakan modem SIM800 sejenis yang mengakses servernya dari internet ? Cara termudah adalah dengan memanfaatkan PORT FORWARDING dari router wifi dari layanan internet rumahan indihome/mncplay/firstmedia dll. Secara umum langkahnya mirip yaitu mencari IP publik dari router dan melakukan port forwarding ke raspberry pi. 


Dengan setting diatas maka IP dari Raspberry yang kita gunakan akan bisa diakses dari luar begitu juga PORT MQTT nya. IP publik ini mungkin saja akan berubah saat terjadi rekonfigurasi dari pusat ISP, modem ter Reset atau lampu mati. Untuk itu agar memudahkan mengingat butuh DOMAIN PUBLIK yg khusus mengarahkan ke IP router kita dari jalur internet menggunakan Dynamic DNS atau DDNS. Salah satu layanan DDNS yang lumayan simple adalah noip dot com seperti gambar berikut :



Jadi pastikan servise DDNS tersedia dan aktif pada router kamu dan selanjutnya secara dinamis akan merubah pada public DNS domain dan IP routernya. Jika router kamu tidak memiliki fasilitas DDNS maka bisa menggunakan akses DDNS melalui aplikasi DUC pada raspberry pi kamu . Googling aja : " Raspberry noip DUC install "

Tuh kan..saya jadi bisa akses alat arduino saya melalui HP dengan koneksi 4G .


Selamat Mencoba


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 (14) antares (11) arduino (28) 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 (76) 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 (2) 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