Isi kandungan:

MQTT pada Papan Armtronix: 3 Langkah
MQTT pada Papan Armtronix: 3 Langkah

Video: MQTT pada Papan Armtronix: 3 Langkah

Video: MQTT pada Papan Armtronix: 3 Langkah
Video: Arduino IOT Project: Nodemcu esp8266 based 110/220Vac Bulb dimming”MOC3021, Triac & Zero Crossing” 2024, November
Anonim
MQTT pada Papan Armtronix
MQTT pada Papan Armtronix

Dalam instruksional ini, kami ingin menunjukkan pada awalnya bagaimana anda dapat menggunakan sistem berasaskan Linux (Debian atau Ubuntu) dan memasang Mosquitto (Mqtt Broker) di atasnya, juga menunjukkan kepada anda cara menggunakan klien Mqtt di Telefon Anda (Android) / Berbasis Linux sistem, menghantar dan menerima mesej melalui Mqtt. Setelah mengetahui perkara ini, kami ingin menunjukkan kepada anda bagaimana anda dapat mengkonfigurasi dan menghubungkan papan kami dengan broker Mqtt yang dipasang ini. Juga ingin menunjukkan kepada anda bagaimana anda boleh menambahkan pengesahan kepada broker Mqtt dan beberapa petua dan trik asas untuk men-debug. Oleh itu mari kita mulakan ………..

Langkah 1: Memasang Mqtt Broker:

Memasang Mqtt Broker
Memasang Mqtt Broker
Memasang Mqtt Broker
Memasang Mqtt Broker
Memasang Mqtt Broker
Memasang Mqtt Broker
Memasang Mqtt Broker
Memasang Mqtt Broker

Terdapat beberapa broker Mqtt yang boleh anda pasangkan. Beberapa yang diketahui adalah seperti yang dinyatakan di bawah. Sebahagian daripadanya adalah perkhidmatan berasaskan awan.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Kami akan menunjukkan cara memasang Mosquitto pada sistem berasaskan Linux (Ubuntu 18.04). Untuk melakukan ini terlebih dahulu tambahkan Mosquitto ke senarai sumber ubuntu. Setelah Mosquitto tersedia di repositori Ubuntu, anda akan dapat memasangnya dengan apt-get.

Buka Terminal sahaja. Untuk membuka Terminal, pergi ke sudut kiri bawah Desktop Ubuntu, Klik pada Show aplikasi (Dot grid 3X3). Tetingkap akan dibuka. Di sana anda mencari Terminal. Klik pada terminal anda akan dapat melihat tetingkap terbuka seperti yang ditunjukkan pada gambar berikut.

  • Tunjukkan Aplikasi (Gambar 1).
  • Cari Terminal (Gambar 2).
  • Tetingkap Terminal (Gambar 3).

Masukkan arahan berikut setelah anda membuka Terminal

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

sudo apt-get kemas kini

sudo apt-get install mosquitto

Anda juga boleh memasang klien Mqtt. Perintah untuk melakukannya akan menjadi

sudo apt-get pasang mosquitto-klien

Beberapa gambar untuk rujukan anda

  • Menambah ppa (Gambar 4).
  • Mengemas kini repo (Gambar 5).
  • Memasang Mosquitto (Gambar 6).
  • Memasang Pelanggan Mosquitto (Gambar 7).

Langkah 2: Menguji MQTT (Mosquitto)

Menguji MQTT (Mosquitto)
Menguji MQTT (Mosquitto)
Menguji MQTT (Mosquitto)
Menguji MQTT (Mosquitto)
Menguji MQTT (Mosquitto)
Menguji MQTT (Mosquitto)

Untuk menguji mqtt melalui ubuntu (sistem yang sama atau sistem lain) anda perlu memasang klien mqtt yang telah dipasang lebih awal dengan perintah sudo apt-get install mosquitto-client. Sekiranya anda ingin mengujinya menggunakan telefon bimbit (android), anda boleh memasang aplikasi MyMqtt dari play store.

Mqtt mengusahakan sesuatu yang dipanggil Topik. Untuk kemudahan memahami, pertimbangkan topik-topik ini sebagai folder pada cakera keras komputer. Mari kita menganggap komputer ini sebagai pelayan komputer (yang di dunia mqtt adalah Mqtt Broker). Di pelayan ini mari kita mempertimbangkan untuk mempunyai satu folder.

Nama folder: / Folder_one /

Sekarang mari kita pertimbangkan dua orang dari dua sistem yang berbeza (PC / Laptop) mengakses pelayan ini sama ada untuk membaca fail atau menghantar / membuang fail atau melakukan kedua-dua operasi.

Kami akan menamakan dua orang / sistem tersebut sebagai Sistem X, Sistem Y (Ini adalah Pelanggan Mqtt di Dunia Mqtt).

Sekarang, katakanlah Sistem X mengirim / Membuang beberapa file (nama file: suhu) ke dalam folder "/ Folder_one /", ini di dunia mqtt kita dapat memanggil penerbitan ini (kami mengirim beberapa pesan / muatan bukan file).

Sekarang, katakan System Y ingin mendapatkan / membaca fail ini atau fail baru atau untuk mengemas kini dalam folder ini, perkara pertama yang diperlukannya adalah mengetahui nama folder dan jalan, yang dalam kes kita adalah "/ Folder_one /". Jadi sekarang ia akan pergi ke folder ini dan membaca / menerima fail itu (nama fail: suhu). Mengetahui jalan / Topik dan memeriksa perubahan dalam fail / fail baru di dunia Mqtt adalah langganan topik tersebut.

Mengingat contoh di atas, Sistem X menerbitkan "/ Folder_one" dan Sistem Y telah melanggan "/ Folder_one"

Perhatikan juga bahawa Sistem X juga dapat berlangganan "/ Folder_one" dan Sistem Y juga dapat Menerbitkan ke "/ Folder_one". Seperti yang bijak, malah sistem Server (The Mqtt Broker) dapat menerbitkan / melanggan “/ Folder_one” dengan memasang klien Mqtt di atasnya seperti yang telah kita lakukan sekarang. Perkara lain yang perlu diingat ialah menerbitkan atau melanggan topik yang anda perlukan untuk mengetahui alamat IP Broker Mqtt.

Mula-mula kita akan mengujinya melalui klien ubuntu yang dipasang pada sistem yang sama dengan broker. Kami akan membuka dua tetingkap terminal yang satu akan diterbitkan dan yang lain akan melanggannya. Sebagai contoh Kami akan menggunakan / Folder_one sebagai topik. Sebelum pub / sub topik anda perlu mencari alamat IP ubuntu. Untuk melakukan ini, klik di sudut kanan atas skrin, pilih tetapan wifi, dari sana anda akan dapat mencari alamat IP sistem ubuntu (saat ini IP broker). Screenshort dikongsi untuk rujukan (Gambar 8).

Atau untuk mencari alamat IP broker anda boleh mencari alamat IP dengan memasang alat bersih menggunakan perintah berikut di terminal

sudo apt pasang alat bersih

Memasang alat bersih (Gambar 9). Selepas itu ketik perintah ipconfig anda akan mendapat senarai antara muka rangkaian dengan alamat mac dan IP

sudo ipconfig

Alamat IP sistem saya ialah 192.168.1.67 (Gambar 10)

Untuk menerbitkan

mosquitto_pub -h 192.168.1.67 -t / Folder_one -m pub_to_folderone

Di sini, mosquitto_pub adalah perintah, diikuti oleh elemen pengenal parameter -h yang merupakan alamat IP host / broker (Dalam kes kami 192.168.1.67), diikuti oleh -t yang merupakan nama topik kepada penerbit (Dalam kes kami / Folder_one), diikuti oleh -m yang bermaksud mesej / muatan yang akan dihantar yang (Dalam kes kami adalah pub_to_folderone).

Untuk melanggan

mosquitto_sub -h 192.168.1.67 -t / Folder_one

Mesej dihantar oleh penerbit: pub_to_folderone

Contoh untuk penerbitan

mosquitto_pub -h 192.168.1.67 -t / Folder_one -m "hi test mqtt"

mosquitto_pub -h 192.168.1.67 -t / Folder_one -m "mqtt working"

Contoh jawapan yang diterima semasa melanggan topik

mosquitto_sub -h 192.168.1.67 -t / Folder_one

Mesej dihantar oleh penerbit:

  • pub_to_folderone
  • hai ujian mqtt
  • mqtt berfungsi

Pub Sub dalam dua tetingkap terminal yang berasingan bersebelahan (Gambar 11)

Menguji Mqtt pada android (mqtt saya)

Pasang aplikasi mymqtt dari play store pada telefon android anda (Gambar 12)

Buka aplikasi dan klik di sudut kiri atas (Gambar 13, Gambar 14).

Klik pada Tetapan dan masukkan alamat IP broker, port secara lalai adalah 1883. Pada masa ini kami tidak menggunakan broker mqtt yang disahkan sehingga nama pengguna dan kata laluan akan kosong. Simpan sahaja dan klik sekali lagi di sudut kiri atas aplikasi (<Tetapan) laci akan dibuka semula (Gambar 15).

Di bahagian atas laci itu akan menunjukkan kepada anda alamat IP broker dan port aplikasi yang disambungkannya (Gambar 16).

Sekarang tambahkan topik yang ingin anda langgani dengan mengklik Langgan. Di sini kita akan menambah topik sebagai / Folder_one (Gambar 17, Gambar 18).

Setelah melakukan ini, dari sistem ubuntu dengan menggunakan terminal kami akan menerbitkan topik tersebut. Semasa menerbitkan, anda mesti mendapatkan muatan / mesej yang diterbitkan di aplikasi mudah alih ini. Contohnya menerbitkan muatan sebagai "ARM-Automatik Robotik & Mekatronik". Perintah adalah seperti yang disebutkan sebelumnya.

mosquitto_pub -h 192.168.1.67 -t / Folder_one -m "ARM -Automasi Robotik & Mekatronik"

penerbitan dari sistem ubuntu (Imej 19).

Menerima mesej yang diterbitkan di papan pemuka (Gambar 20).

Sekarang mari kita terbitkan dari telefon android (mqtt saya) dan melanggan sistem ubuntu. Untuk contoh ini kita menggunakan topik "/ mymqtt_to_pub".

Untuk melakukan ini terlebih dahulu buka terminal dari sistem ubuntu anda dan langgan topik "/ mymqtt_to_pub" menggunakan arahan berikut (Gambar 21)

mosquitto_sub -h 192.168.1.67 -t / mymqtt_to_pub

Sekarang pergi ke laci aplikasi mymqtt dan klik terbitkan. Tambahkan topik penerbitan (Dalam kasus kami adalah "/ mymqtt_to_pub") dan kirimkan beberapa pesan seperti kami akan mengirim "hai Ubuntu", tekan butang kirim (Gambar 22, Gambar 23).

Mesej akan muncul di tetingkap terminal sistem ubuntu anda (Gambar 24).

Perhatikan bahawa kedua-dua sistem ubuntu dan telefon android harus berada di rangkaian yang sama atau port 1883 harus terdedah dan anda harus mengetahui alamat IP penghala / gerbang anda untuk mqtt berfungsi. Sekiranya anda ingin menambahkan pengesahan ke broker mqtt anda, anda boleh melakukannya dengan mengikuti pautan blog yang disebutkan di bawah ini https://medium.com/@eranda/setting-up-authenticat… Ikuti langkah kedua blog ini. Kami telah membolehkan pengesahan broker kami dan akan menggunakan broker yang disahkan untuk papan kami.

Langkah 3: Bekerja dengan Armtronix Board & Mqtt

Bekerja Dengan Armtronix Board & Mqtt
Bekerja Dengan Armtronix Board & Mqtt
Bekerja Dengan Armtronix Board & Mqtt
Bekerja Dengan Armtronix Board & Mqtt
Bekerja Dengan Armtronix Board & Mqtt
Bekerja Dengan Armtronix Board & Mqtt

Pada masa ini untuk instruksional ini, kami menggunakan Papan Dimmer Tunggal Wifi kami yang menggunakan Triac untuk memotong gelombang sinus dan seterusnya meredupkan mentol atau mengawal kelajuan kipas. Kami juga telah menghubungkannya melalui jenis pengesahan mqtt.

Pada mulanya kami telah mengkonfigurasi papan. Langkah-langkah untuk mengkonfigurasinya adalah seperti yang disebutkan di bawah.

Power On board, ia akan mula mengadakan Wifi Access Point.

Dengan menggunakan telefon android atau komputer riba, sambungkan ke AP ini (Gambar 25).

Setelah Disambungkan ke AP ini, ketik 192.168.4.1 dengan membuka penyemak imbas (chrome / firefox) dari sistem / Telefon yang disambungkan AP. Pastikan anda tidak menggunakan sambungan data anda (3G / 4G).

Semasa menaip IP, laman web akan terbuka di mana ikutan harus dimasukkan (Gambar 26).

  • SSID: Nama AP Wifi.
  • Kata Laluan: Kata Laluan SSID.
  • Mod IoT Mqtt atau Http (Pilih Mqtt).
  • Mqtt Broker IP (Dalam kes kami adalah 192.168.1.67).
  • Nama pengguna dan kata laluan mqtt, kerana kami menggunakan jenis pengesahan, kami telah menggunakan Naren, xxxx
  • Topik penerbitan Mqtt: Ini juga topik yang akan diterbitkan oleh dewan, kami telah menggunakan / testpub.
  • Mqtt melanggan topik: Ini akan menjadi topik mana dewan dewan mendengar perintah untuk memicu triac, kami telah menggunakan / tesub.
  • Nama peranti: Ini adalah nama yang anda panggil ke alexa untuk mencetuskan papan, kami telah menggunakan corvi.

Setelah memasukkan perincian, Tekan butang kirim, dengan melakukan ini Anda akan mendapatkan layar seperti yang ditunjukkan pada Gambar 27, tunggu beberapa saat hingga dewan berhenti menghosting AP.

Harap maklum bahawa kami telah menghubungkan papan kami melalui Uart ke monitor bersiri Arduino IDE. Jadi di sebelah kiri anda akan melihat mesej debug yang dicetaknya melalui Uart (ini hanya untuk rujukan anda).

Setelah selesai, anda dapat melihat skrin debug. Sebilangan besar butiran akan dapat dilihat di sana. Selepas ini, ia akan berjaya disambungkan ke broker pada skrin debug (bersiri) anda dapat melihatnya.

Bersambung dengan broker MQTT dengan pengesahan. Melanggan topik 1.

Setelah mencetak ini, anda kini dapat mulai mengirimkan perintahnya melalui mqtt pada topik yang telah dilanggannya yaitu / tesub /

Untuk arahan papan ini adalah:

  • R13_ON: Untuk menghidupkan triac hingga 100%.
  • R13_OFF: Untuk mematikan triac hingga 0%.
  • Dimmer: xx: Di mana, xx adalah nilai peredupan dan boleh berubah dari 0 hingga 99.
  • Tetapkan semula: Untuk membersihkan konfigurasi papan.
  • Status: Mencetak status redup papan pada topik penerbitan papan iklan.

Untuk menghantar arahan ini dari sistem berasaskan ubuntu di mana klien mqtt dipasang, ketikkan seperti yang ditunjukkan di bawah. Dua parameter tambahan ditambahkan di sini kerana pengesahan - iaitu -u yang merupakan nama pengguna dan -P adalah kata laluan, harap maklum bahawa ini peka huruf besar kecil.

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testingub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testingub -m R13_OFF

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testingub -m Dimmer: 50

Catatan: 50 adalah nilai redup

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testingub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testingub -m Status

Untuk status terkini, status dicetak pada topik penerbitan dewan yang dalam kes kami adalah / testpub. Di papan kami sebarang perubahan pada peranti dicetak pada topik penerbitan papan iklan. Sebagai contoh, jika kita melewati topik Dimmer: 50 di papan langganan daripada melaksanakannya secara fizikal, dewan akan menghantar mesej yang menyatakan tahap redup pada topik penerbitan. Contoh ditunjukkan di bawah, Untuk melanggan sistem ubuntu anda ke topik penerbitan papan tulis perintah berikut

mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t / testpub

mesej yang kami dapat adalah

DimmerIS50

beberapa seluar skrin yang sama ada di bawah (Gambar 28, Gambar 29)

Disyorkan: