Mosquitto MQTT Server adalah broker pesan yang bekerja melalui protokol MQTT. MQTT adalah protokol pesan ringan yang merupakan standar ISO untuk digunakan di atas protokol TCP/IP. Ini sebagian besar digunakan untuk berkomunikasi dengan perangkat Internet of Things. Kami akan menginstal Mosquitto di server Ubuntu 16.04 dan kami akan mengirim pesan dari perangkat lunak mata-mata MQTT. Mosquitto adalah proyek Eclipse dan didistribusikan di bawah lisensi EDL. Jadi mari kita mulai.
Mengkompilasi server Mosquitto MQTT dari sumber
Untuk menginstal nyamuk kita perlu melakukan langkah-langkah berikut. Pertama perbarui daftar sumber dan dapatkan dependensi
apt update
apt-get install build-essential libwrap0-dev libssl-dev libc-ares-dev uuid-dev xsltproc
Tambahkan pengguna mosquitto, karena secara default ia berjalan sebagai non-root.
adduser mosquitto
Untuk kenyamanan kami akan mengiklankan hak sudo kepada pengguna ini, karena kami akan melakukan sisa proses instalasi sebagai pengguna ini
usermod -aG sudo mosquitto
Kemudian kita akan login sebagai user ini dan cd ke direktori home nya
su mosquitto
cd
Selanjutnya kita akan mengunduh kode sumber Mosquitto, versi terbaru adalah 1.4.9 pada saat penulisan, tetapi saya sarankan Anda memeriksa halaman unduh untuk melihat apakah ada versi baru. Jadi ayo unduh versi terbaru
wget https://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz
Mari kita unpack dan cd ke direktori
tar xvzf mosquitto-1.4.9.tar.gz
cd mosquitto-1.4.9/
Dan kemudian kami mengkompilasi dan menginstal perangkat lunak
make && sudo make install
Mengonfigurasi Server MQTT Nyamuk
Setelah instalasi selesai, kita perlu membuat kata sandi untuk pengguna baru.
sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt-spy
Anda akan diminta untuk membuat kata sandi untuk pengguna mqtt-spy baru yang akan kami gunakan untuk terhubung dari klien. Berbeda dengan pengguna nyamuk, yaitu pengguna sistem untuk menjalankan server nyamuk. Kami perlu menambahkan izin ke pengguna mosquitto ini ke semua direktori yang relevan
sudo mkdir /var/lib/mosquitto/
sudo chown -R mosquitto:mosquitto /var/lib/mosquitto/
Selanjutnya kita perlu membuat file konfigurasi untuk Mosquitto MQTT Server, jadi mari kita gunakan nano untuk membuat file baru
sudo nano /etc/mosquitto/mosquitto.conf
Di sana Anda dapat menempelkan ini
persistence true
persistence_location /var/lib/mosquitto/
persistence_file mosquitto.db
log_dest syslog
log_dest stdout
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
log_timestamp true
allow_anonymous false
password_file /etc/mosquitto/pwfile
Konfigurasi tampaknya panjang tetapi kami menambahkan lebih banyak log verbose dan file kata sandi.
Setelah konfigurasi disimpan, kita jalankan ldconfig
sudo ldconfig
Mari tambahkan file unit systemd
sudo nano /etc/systemd/system/mosquitto.service
Tempel ini di sana:
[Unit]
Description=Insite MQTT Broker
[Service]
ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Restart=always
[Install]
WantedBy=multi-user.target
Mari kita mulai layanan
sudo systemctl start mosquitto.service
Dan periksa statusnya
systemctl status mosquitto.service
Untuk membuatnya mulai saat boot lakukan perintah ini
sudo systemctl enable mosquitto.service
Menyiapkan MQTT-Spy dan koneksi
MQTT-Spy adalah klien berbasis java yang akan kita gunakan untuk terhubung ke server MQTT. Anda bisa mendapatkannya dari github tetapi perhatikan bahwa Anda harus menginstal Oracle JDK. TIDAK bekerja dengan OpenJDK. Hal pertama yang harus dilakukan setelah menatap MQTT-spy adalah membuat koneksi baru. Anda menambahkan IP server dan port default 1883.
Kemudian Anda menambahkan kata sandi dan nama pengguna yang kami buat sebelumnya, dalam kasus saya itu adalah mqtt-spy dan kata sandi adalah kata sandi.
Kemudian kita dapat membuka jendela terminal di server dan ketik perintah berikut
mosquitto_sub -v -t 'linoxide/topic' -u mqtt-spy -P password
Untuk menjelaskan flag, -v adalah untuk verbositas, -t adalah untuk topik diikuti oleh topik di dalam tanda kutip, -u adalah untuk pengguna dan -P adalah kata sandi. Setelah mengetikkan perintah ini akan terlihat hang, tetapi kemudian kita perlu menggunakan MQTT-spy untuk membuat topik baru dan mengirim pesan ke topik yang sama, seperti pada gambar di bawah.
Kesimpulan
Kami telah berhasil menginstal server Mosquitto MQTT yang memungkinkan Anda memiliki jaringan perangkat IoT yang terhubung melalui protokol MQTT 3.1. Kami menginstalnya di Ubuntu pada PC x86 klasik yang digunakan kebanyakan orang untuk tujuan pengembangan dan pembelajaran. Untuk IoT nyata, Anda menginginkan perangkat ARM. Ini semua untuk artikel ini terima kasih telah membaca.