Server MQTT, Instalasi dan contoh penggunaan untuk IOT

MQTT

Lanjutan dari artikel sebelumnya, tulisan ini berisi cara instalasi dan contoh sederhana penggunaan server MQTT.

Sebelum melanjutkan, anda sudah harus memiliki server dengan sistem operasi linux. Apabila anda belum punya, anda bisa coba dengan virtualbox. Sistem operasi yang saya gunakan adalah Ubuntu 16.04 yang bisa di unduh disini: http://www.ubuntu.com/download

Berikut tutorialnya:
1. Tambahkan PPA Mosquitto

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update

2. Install Mosquitto

Sudo apt install mosquitto

Untuk mengetes, saya akan menggunakan Node.JS sebagai client MQTT.

1. Install Node.JS

sudo apt install nodejs
sudo apt install npm

2. Install requirement MQTT clientside untuk node.JS

npm install mqtt --save

3. Buat file baru dengan mengetik

touch testmqtt.js
nano testmqtt.js

4. Masukan baris code dibawah

var mqtt    = require('mqtt');
var client  = mqtt.connect('mqtt://localhost');

client.on('connect', function () {
  client.subscribe('contohtopik');
  client.publish('contohtopik', 'Halo dunia');
});

client.on('message', function (topic, message) {
  console.log(message.toString());
  client.end();
});

5. Quit nano dengan ctrl+o, lalu ctrl+x

6. Jalankan client dengan mengetik

nodejs testmqtt.js
Output program
Output program

Output dari program client diatas seharusnya seperti ini:

Apabila muncul seperti baris diatas, maka selamat ! anda telah berhasil menginstall mosquitto, server MQTT !

Selanjutnya mari kita membedah sedikit client yang saya berikan.

var client  = mqtt.connect('mqtt://localhost');

Digunakan untuk mengkoneksikan client, dalam hal ini program node.js ke server MQTT. apabila server MQTT dan client dalam komputer yang berbeda, silahkan ubah localhost menjadi IP dimana server MQTT berada.

client.on('connect', function () {
  client.subscribe('contohtopik');
  client.publish('contohtopik', 'Halo dunia');
});

akan otomatis dijalankan, ketika client berhasil terkoneksi ke server MQTT, dalam hal ini melakukan dua hal, yang pertama:

  client.subscribe('contohtopik');

Fungsi ini memberitahu server MQTT , bahwa program ini ingin menerima semua pesan dalam topik ‘contohtopik’

  client.publish('contohtopik', 'Halo dunia');

Fungsi ini memberitahu server MQTT bahwa program ini akan mengirimkan pesan ‘Halo dunia’ ke seluruh pengguna server MQTT yang melakukan subscribe ke topik ‘contohtopik’

client.on('message', function (topic, message) {
  console.log(message.toString());
  client.end();
});

Baris ini digunakan untuk melakukan sesuatu terhadap pesan-pesan yang diterima oleh client ini setelah di subscribe. message adalah pesannya, sementara topic adalah topik asal pesan tersebut. Pada program ini, yang dilakukan adalah mengeprint pesan ke console.

Alur lengkap program adalah:
1. program mengkoneksikan diri ke server MQTT
2. program akan subscribe ke topik ‘contohtopik’
3. program mengirimkan ‘Halo dunia’ ke topik ‘contohtopik’
4. server MQTT meneruskan pesan ‘Halo dunia’ ke seluruh subscriber topik.
5. program menerima pesan baru
6. program memprint pesan yang diterima
7. Halo dunia dimunculkan ke console.

Yang perlu di note adalah, client MQTT ini tidak terbatas hanya di Node.JS saja. Anda bisa menggunakan bahasa pemrograman apapun seperti PHP, C , C++ , Java di platform apapun misalnya web, desktop, mobile dan embedded  seperti arduino dan ESP 8266.   Hanya saja, library client yang digunakan berbeda dan memiliki cara pemrograman yang  berbeda juga, walaupun konsep dasar publish-subscribenya tetap sama.

Berikut adalah beberapa library dalam berbagai bahasa pemrogramman, dan biasanya sudah ada tutorial penggunaanya di link tersebut.

PHP : http://www.hivemq.com/blog/mqtt-client-library-encyclopedia-mosquitto-php
C# : https://github.com/ppatierno/m2mqtt
Java : https://github.com/fusesource/mqtt-client
C/C++: https://eclipse.org/paho/
Ruby : https://github.com/njh/ruby-mqtt
Python: https://pypi.python.org/pypi/paho-mqtt/1.1

Selamat mencoba 🙂

Budaya tidak seharusnya di lestarikan!

Kebudayaan tidak sepatutnya dilestarikan, Banyak alasan untuk tidak melestarikan budaya. salah satunya tidak sesuai dengan definisi kebudayaan itu sendiri.

Sebelum saya mengemukakan pendapat saya lebih lanjut, sebaiknya saya memulai dengan mendefinisikan terlebih dahulu apa yang dimaksud dengan melestarikan. Menurut kamus besar bahasa indonesia (http://kbbi.web.id/) melestarikan berarti :

menjadikan (membiarkan) tetap tidak berubah; membiarkan tetap seperti keadaan semula; mempertahankan kelangsungan (hidup dan
sebagainya)

Budaya itu pada KBBI memiliki arti

pikiran; akal budi: hasil –;2 adat istiadat: menyelidiki bahasa dan –;3 sesuatu mengenai kebudayaan yang sudah berkembang (beradab, maju): jiwa yang –;4cak sesuatu yang sudah menjadi kebiasaan yang sudah sukar diubah;

Sedangkan adat istiadat :

tata kelakuan yang kekal dan turun-temurun dari generasi satu ke generasi lain sebagai warisan sehingga kuat integrasinya dengan pola perilaku masyarakat;

Masyarakat sendiri memiliki arti:

sejumlah manusia dalam arti seluas-luasnya dan terikat oleh suatu kebudayaan yang mereka anggap sama

Kita bisa simpulkan dari beberapa definisi di atas bahwa melestarikan budaya memiliki arti menjadikan pemikiran, akal budi, adat istiadat tetap tidak berubah, seperti semula.

Lalu dimana masalahnya? Kenapa saya berpendapat budaya tidak seharusnya di lestarikan? Bagi saya, masalahnya terletak pada kata “tidak berubah”, padahal masyarakat yang di definisikan berdasarkan kebudayaan, selalu berubah seiring dengan jalannya waktu, dan waktu tidak pernah berhenti berjalan.

Menurut saya, melestarikan budaya berarti menolak masyarakat itu sendiri. Kebudayaan adalah sebuah sifat yang muncul ketika sekumpulan individu mengelompokan diri, Bukan sebuah sifat yang dimiliki seorang individu saja. Hal ini berimplikasi, bukan seorang individu, bukan seorang pemimpin, bukan pula sebuah organisasi mampu menentukan kebudayaan dalam sebuah kelompok masyarakat. Masyarakat tersebutlah yang otomatis, alamiah menentukan kebudayaan yang sesuai. Budaya ditentukan oleh masyarakat, bukan budaya yang menentukan masyarakat. Melestarikan budaya berarti menolak perubahaan dalam masyarakat, menolak sifat alamiah masyarakat, yang artinya menolak masyarakat itu sendiri.

Perubahan ini tidak bisa di hindari. Apabila kebudayaan dipaksakan dilestarikan. Yang terjadi adalah hal tersebut akan dianggap membosankan, tidak sesuai dengan jaman dan pada akhirnya pasti akan gagal dilestarikan tergantikan dengan budaya-budaya lain yang sesuai dengan waktu.

Bagi saya, yang perlu kita lakukan bukanlah melestarikan kebudayaan, tetapi mengembangkan budaya yang sudah ada. dengan cara ini,kebudayaan tetap bisa relevan dengan perkembangan jaman. Menurut saya, ada beberapa cara mengembangkan kebudayaan:

1. Menambahkan kebudayaan yang ada dengan sesuatu yang original.
Sesuatu yang baru, kreatif dan inovatif akan selalu di apresiasi.

2. Mengamati, Membandingkan perbedaan masing-masing kebudayaan-kebudayaan. Efeknya, kita bisa tahu dimana kelebihan dan kekurangan setiap kebudayaan yang ada.

3. Meniru, kebudayaan lain yang memiliki efek positif. Jangan malu meniru, apabila hal tersebut baik.

4. Memodifikasi kebudayaan yang di tiru, dicampurkan dengan kebudayaan milik sendiri yang positif, sehingga kebudayaan tersebut semakin positif.

5. Menghilangkan kebudayaan yang negatif. Tidak ada kebudayaan yang sempurna, Bisa dikatakan sebagai chauvinisme, apabila terlalu bangga dengan kebudayaan kita sendiri sehingga buta terhadap kekurangan-kekurangan yang di depan mata.

Akhir kata, menurut saya, satu-satunya kebudayaan yang perlu di lestarikan adalah budaya untuk berubah, karena hanya perubahan yang abadi seiring jalannya waktu. Mari jadikan perubahan sebagai identitas diri!