Isi kandungan:

Komunikasi Tanpa Wayar SmartHome: Asas Ekstrim MQTT: 3 Langkah
Komunikasi Tanpa Wayar SmartHome: Asas Ekstrim MQTT: 3 Langkah

Video: Komunikasi Tanpa Wayar SmartHome: Asas Ekstrim MQTT: 3 Langkah

Video: Komunikasi Tanpa Wayar SmartHome: Asas Ekstrim MQTT: 3 Langkah
Video: Unboxing SNZB-01P Smart Wireless Switch - Practical and Convenient Smart Home Controller! 2024, November
Anonim
Komunikasi Tanpa Wayar SmartHome: Asas Ekstrim MQTT
Komunikasi Tanpa Wayar SmartHome: Asas Ekstrim MQTT
Komunikasi Tanpa Wayar SmartHome: Asas Ekstrim MQTT
Komunikasi Tanpa Wayar SmartHome: Asas Ekstrim MQTT

Asas MQTT:

** Saya akan melakukan siri Automasi Rumah, saya akan melalui langkah-langkah yang saya ambil untuk mempelajari semua yang telah saya lakukan pada masa akan datang. Instructable ini adalah garis dasar bagaimana menyiapkan MQTT untuk digunakan pada Instructables saya yang akan datang. Namun, ajaran dalam kandungan ini akan berlaku untuk setiap projek yang ingin dilaksanakan. **

Internet Perkara:

Internet of Things mengambil alih dunia, dan terutamanya dalam komuniti seperti masyarakat kita di sini di Instructables. Sejak saya bergabung dengan komuniti ini, ia telah dibina dengan membangun orang

Peranti yang disambungkan ke dan dikendalikan melalui internet. Semasa bekerja dengan Internet of Things, sukar untuk tidak menggunakan protokol MQTT. Ini adalah protokol komunikasi seperti yang lain yang digunakan di Internet hari ini seperti HTTP atau FTP, namun cara kerjanya berbeza yang menjadikannya sesuai untuk aplikasi Internet of Things.

Apa itu MQTT:

MQTT (Pesan Antrian Telemetri Pengangkutan adalah protokol komunikasi ringan yang menggunakan seni bina penerbitan / langganan. HTTP, yang paling banyak digunakan oleh Internet, dibangun berdasarkan sistem permintaan / respons. Ini bererti ia mendapat permintaan dari klien, dan mengirim respons terhadap pelanggan tersebut. MQTT juga mempunyai pelayan (disebut broker) dan juga banyak pelanggan. Berbeza dengan HTTP, MQTT membolehkan klien menerbitkan atau melanggan "topik" tertentu. Apa yang memungkinkan ini adalah komunikasi yang lebih luas melalui titik terpusat, broker. Setiap nod boleh menerbitkan topik pada broker, dan mana-mana nod yang melanggan topik tersebut akan menerima mesej. Pelanggan juga boleh melanggan beberapa topik dan kemudian dapat menerima banyak arahan atau kemas kini.

Keseluruhan sistem didorong oleh peristiwa dan membolehkan mesej dari broker dihantar ke setiap pelanggan yang dilanggan. Oleh itu, bukannya HTTP, di mana pelanggan meminta maklumat tersebut, pelanggan mendorong maklumat tersebut terus dari broker setelah penerimaan. Terdapat perkhidmatan bawaan yang memungkinkan untuk pelbagai perlindungan, seperti spesifikasi QOS. Spesifikasi QOS membolehkan broker menentukan sama ada mesej perlu dihantar paling tidak sekali, sekurang-kurangnya sekali, atau tepat sekali. Ini memastikan bahawa data dihantar dengan cara yang diperlukan kepada setiap pelanggan. Pelanggan juga dapat meminta agar mesej yang diterbitkan untuk topik mereka disangga dalam broker sekiranya mereka terputus daripadanya dengan alasan apa pun. Setelah kembali dalam talian, data tersebut akan didorong kepada pelanggan.

Topik tidak istimewa, cuma pelbagai rentetan yang digabungkan dan dipisahkan dengan garis miring. Format dalam contoh yang akan digunakan di bawah adalah seperti berikut: rumah / bilik tidur / siling_light. Setiap garis miring diletakkan selepas topik untuk menandakan subtopik. Oleh itu, satu mesej boleh diterbitkan ke rumah, di mana semua peranti di rumah akan menerimanya. Ini boleh diterbitkan terus ke rumah / bilik tidur, di mana semua peranti di dalam bilik tidur akan menerima pesan. Dan ia boleh turun ke peranti tertentu seperti yang ditunjukkan pertama kali di rumah / bilik tidur / langit-langit di mana hanya lampu siling di bilik tidur yang akan menerima pesan. Cara kita membuat abstrak peranti individu seperti ini hingga ke seluruh ekosistem sangat berguna, terutama ketika menggunakan Automasi Rumah. Terdapat kaedah lebih lanjut untuk memecah topik, dan saya akan membahasnya lebih jauh di Instructables yang akan datang di mana aplikasi paling masuk akal.

Bekalan

Hanya satu perkara berikut yang diperlukan:

Ubuntu:

Subsistem Windows untuk Linux: https://ubuntu.com/wsl (Hanya jika anda tidak mempunyai Linux / MacOS)

MacOS: Memerlukan MacBook

Ini diperlukan:

Mosquitto MQTT Broker - Dimuat turun menggunakan apt-get (Dokumentasi:

Langkah 1: Persediaan Awal (Bergantung pada OS Anda)

MacOS / Linux:

Tidak perlu persediaan hanya buka terminal anda dan pindah ke Mosquitto Setup!

Windows:

Sekiranya anda menggunakan Windows, anda perlu memasang Subsistem Windows untuk Linux. Ini adalah alat yang sangat mudah digunakan dan sangat berharga yang membolehkan anda menjalankan terminal Ubuntu dalam Windows. Tidak perlu memasang dan dual boot Ubuntu hanya untuk menguji pembangunan di terminal!

Langkah Pemasangan:

1. Pergi ke Windows Store dan cari ubuntu

2. Muat turun dan pasang Subsistem Windows untuk Linux

3. Buka aplikasi dan ikuti arahan untuk menyelesaikan persediaan dan anda sudah bersedia untuk meneruskan!

Langkah 2: Persediaan Mosquitto:

Persediaan Mosquitto
Persediaan Mosquitto
Persediaan Mosquitto
Persediaan Mosquitto
Persediaan Mosquitto
Persediaan Mosquitto

Jadi seperti yang dibincangkan dalam pengenalan mengenai MQTT, protokol memerlukan broker (pelayan). Broker ini adalah titik asas untuk semua hubungan yang terjalin dengan setiap pelanggan. Semua mesej dihantar dan diatur dalam barisan ini. Terdapat banyak pilihan untuk memilih broker, dan anda boleh mendapatkannya dalam talian, tetapi pilihan yang mungkin akan kita gunakan mungkin yang paling biasa: Mosquitto.

Mosquitto adalah MQTT Broker berasaskan Linux dengan banyak fungsi. Saya tidak akan mengetahui secara spesifik fungsi tersebut sekarang, tetapi beberapa syarat asas yang dipenuhi adalah pengesahan pengguna / kata laluan, dan penyulitan TLS menyokong semuanya berguna dalam pengembangan peranti Internet of Things.

Langkah-langkah:

Semua langkah ini harus diselesaikan di tetingkap terminal.

1. Pasang Pelanggan Mosquitto dan MQTT

sudo apt-get pasang klien mosquitto mosquitto

2. Langgan Topik

mosquitto_sub -t "ujian"

Apa yang dilakukan ini adalah melanggan topik. Topik ini dilambangkan dengan "-t" dan nilai topik adalah "test". Nilai berikut "-t" boleh menjadi apa sahaja yang anda mahu simpan untuk beberapa tempahan khas.

3. Buka tetingkap terminal baru dan terbitkan mesej ke topik "test"

mosquitto_pub -t "test" -m "Hello World with MQTT!"

Ini menerbitkan mesej ke topik "ujian", yang memungkinkan contoh terminal kami yang lain untuk menerima mesej di sisi langganan. Mesej yang diterbitkan dilambangkan dengan "-m" dan nilai mesej adalah "Hello World With MQTT". Mesej ini, seperti topik, boleh diubah menjadi apa sahaja yang anda mahukan!

4. Pergi ke tetingkap terminal pertama untuk melihat hasil anda! Anda akan menerima mesej yang bertuliskan "Hello World With MQTT". Sekiranya anda tidak melihatnya, pastikan anda mengetik topik yang betul. Sekiranya anda berjaya menyelesaikannya, terus bermain dengannya. Cuba topik yang berbeza, dengan subtopik dan mesej yang berbeza!

Langkah 3: Selesaikan

Betul! Setelah selesai semuanya, anda akan memahami asas-asas bagaimana MQTT berfungsi. Ini adalah tutorial yang sangat sederhana yang hanya menunjukkan minimum protokol MQTT. Instructables Masa Depan akan meneliti lebih mendalam bagaimana protokol berfungsi dalam praktik dengan Internet of Things, terutamanya dengan modul ESP8266 yang menjalankan Arduino. Aplikasi praktikal pertama saya adalah pembuat kopi pintar yang saya ada di bilik saya. Sekiranya anda ingin mempelajari cara membuat alat pembuat kopi yang dapat dikendalikan dari kedua telefon dan Alexa anda, pastikan untuk mengikuti saya untuk lebih banyak tutorial.

Disyorkan: