İçindekiler:

SmartHome Kablosuz İletişim: MQTT'nin Olağanüstü Temelleri: 3 Adım
SmartHome Kablosuz İletişim: MQTT'nin Olağanüstü Temelleri: 3 Adım

Video: SmartHome Kablosuz İletişim: MQTT'nin Olağanüstü Temelleri: 3 Adım

Video: SmartHome Kablosuz İletişim: MQTT'nin Olağanüstü Temelleri: 3 Adım
Video: Nous L5 WiFi IR Smart Remote Controller 2024, Temmuz
Anonim
SmartHome Kablosuz İletişim: MQTT'nin Olağanüstü Temelleri
SmartHome Kablosuz İletişim: MQTT'nin Olağanüstü Temelleri
SmartHome Kablosuz İletişim: MQTT'nin Olağanüstü Temelleri
SmartHome Kablosuz İletişim: MQTT'nin Olağanüstü Temelleri

MQTT Temelleri:

**Ev Otomasyonu serisi yapacağım, ileride yaptığım her şeyi öğrenmek için attığım adımların üzerinden geçeceğim. Bu Eğitilebilir Tablo, gelecekteki Eğitilebilir Öğelerimde kullanmak üzere MQTT'nin nasıl kurulacağına ilişkin temeldir. Bununla birlikte, bu içerikteki öğretiler, kişinin üstlenmek istediği herhangi bir proje için geçerli olacaktır.**

Nesnelerin interneti:

Nesnelerin İnterneti dünyayı ve özellikle bizim Eğitmenler'de bizimki gibi topluluklarda ele geçiriyor. Bu topluluğa katıldığımdan beri, bina inşa eden insanlarla dolu.

İnternete bağlı ve internet üzerinden kontrol edilen cihazlar. Nesnelerin İnterneti ile çalışırken MQTT protokolüne uymamak zordur. Bu, HTTP veya FTP gibi bugün İnternet'te kullanılan diğerleri gibi bir iletişim protokolüdür, ancak çalışma şekli farklıdır, bu da onu Nesnelerin İnterneti uygulamaları için ideal kılar.

MQTT nedir:

MQTT (Message Queuing Telemetri Aktarımı, yayınla/abone ol mimarisini kullanan hafif bir iletişim protokolüdür. İnternetin çoğunun kullandığı HTTP, bir istek/yanıt sistemi üzerine kuruludur. Bu, bir istemciden bir istek aldığı ve gönderdiği anlamına gelir. bu istemciye bir yanıt. MQTT'nin ayrıca bir sunucusu (aracı olarak adlandırılır) ve birçok istemcisi vardır. HTTP'nin aksine, MQTT, istemcilerin belirli "konuları" yayınlamalarına veya bunlara abone olmalarına izin verir. merkezi bir nokta, aracı. Her düğüm aracıdaki bir konuyu yayınlayabilir ve bu konuya abone olan herhangi bir düğüm mesajı alır. Müşteriler birden çok konuya da abone olabilir ve ardından birden çok yönerge veya güncelleme alabilir.

Tüm sistem olaya dayalıdır ve aracıdan gelen mesajların abone olunan her istemciye gönderilmesine izin verir. Bu nedenle, istemcinin bilgiyi talep ettiği HTTP yerine, istemci, bilgi alındıktan sonra doğrudan aracıdan gönderilir. QOS spesifikasyonları gibi çeşitli güvenlik önlemlerine izin veren yerleşik hizmetler de vardır. Bir QOS belirtimi, bir aracının bir iletinin en fazla bir kez mi, en az bir kez mi yoksa tam olarak bir kez mi teslim edilmesi gerekip gerekmediğini belirlemesine olanak tanır. Bu, verilerin her müşteriye gerekli şekilde teslim edilmesini sağlar. İstemciler ayrıca, konularına gönderilen iletilerin herhangi bir nedenle bağlantılarının kesilmesi durumunda aracıda arabelleğe alınmasını talep edebilirler. Tekrar çevrimiçi olduğunda, bu veriler müşteriye iletilecektir.

Bir konu özel bir şey değildir, yalnızca birleştirilmiş ve eğik çizgilerle ayrılmış çeşitli dizelerdir. Aşağıda kullanılacak örnekteki format şudur: home/yatak odası/ceiling_light. Her eğik çizgi, bir alt konuyu belirtmek için bir konudan sonra yerleştirilir. Böylece, evdeki tüm cihazların alacağı eve bir mesaj yayınlanabilir. Yatak odasındaki tüm cihazların mesajı alacağı doğrudan ev/yatak odasına yayınlanabilir. Ve ilk gösterilen ev/yatak odası/ceiling_light gibi belirli cihaza inebilir, burada sadece yatak odasındaki tavan lambası mesajı alır. Bunun gibi bireysel cihazları tüm ekosisteme kadar soyutlayabilmemiz, özellikle Ev Otomasyonu söz konusu olduğunda, son derece kullanışlıdır. Konuları bölmenin başka yolları da var ve bunlara uygulamanın en anlamlı olduğu gelecekteki Eğitilebilir Tablolarda daha ayrıntılı olarak gireceğim.

Gereçler

Aşağıdakilerden yalnızca biri gereklidir:

Ubuntu:

Linux için Windows Alt Sistemi: https://ubuntu.com/wsl (Yalnızca Linux/MacOS'unuz yoksa)

MacOS: MacBook gerektirir

Bu gereklidir:

Mosquitto MQTT Broker - apt-get kullanılarak indirildi (Belgeler:

Adım 1: İlk Kurulum (İşletim Sisteminize Bağlı olarak)

MacOS/Linux:

Kuruluma gerek yok, sadece terminalinizi açın ve Mosquitto Setup'a geçin!

Pencereler:

Windows kullanıyorsanız, Linux için Windows Alt Sistemini yüklemeniz gerekecektir. Bu, Windows içinde bir Ubuntu terminali çalıştırmanıza izin veren, kullanımı çok kolay ve son derece değerli bir araçtır. Sadece terminaldeki geliştirmeyi test etmek için Ubuntu'yu kurmaya ve çift önyüklemeye gerek yok!

Kurulum Adımları:

1. Windows Mağazasına gidin ve ubuntu'yu arayın

2. Linux için Windows Alt Sistemini indirin ve kurun

3. Uygulamayı açın ve kurulumu tamamlamak için talimatları izleyin ve devam etmeye hazırsınız!

Adım 2: Sivrisinek Kurulumu:

Sivrisinek Kurulumu
Sivrisinek Kurulumu
Sivrisinek Kurulumu
Sivrisinek Kurulumu
Sivrisinek Kurulumu
Sivrisinek Kurulumu

MQTT ile ilgili girişte tartışıldığı gibi, protokol bir aracı (sunucu) gerektirir. Bu aracı, her istemciyle kurulan tüm bağlantıların temel noktasıdır. Tüm iletiler bu aracıda iletilir ve kuyruğa alınır. Bir komisyoncu için seçim yapabileceğiniz birçok seçenek var ve bunları çevrimiçi olarak bulabilirsiniz, ancak kullanacağımız muhtemelen en yaygın olanı: Sivrisinek.

Mosquitto, tonlarca işlevselliğe sahip Linux tabanlı bir MQTT Broker'dır. Şu anda bu işlevin ayrıntılarına girmeyeceğim, ancak yerine getirdiği birkaç temel gereksinim, kullanıcı/şifre kimlik doğrulaması ve tümü Nesnelerin İnterneti cihazlarının geliştirilmesinde yararlı olan TLS şifreleme desteğidir.

Adımlar:

Bu adımların tümü bir terminal penceresinde tamamlanmalıdır.

1. Sivrisinek ve MQTT İstemcilerini Kurun

sudo apt-get install mosquitto sivrisinek istemcileri

2. Bir Konuya Abone Olun

mosquitto_sub -t "deneme"

Bunun yaptığı şey bir konuya abone olmaktır. Bu konu "-t" ile gösterilir ve konu değeri "test"tir. "-t" den sonraki bu değer, birkaç özel rezervasyon için kaydetmek istediğiniz herhangi bir değer olabilir.

3. Yeni bir terminal penceresi açın ve "test" konusuna bir mesaj yayınlayın

mosquitto_pub -t "test" -m "MQTT ile Merhaba Dünya!"

Bu, "test" konusuna bir mesaj yayınlayarak diğer terminal örneğimizin mesajı abonelik tarafında almasına izin verir. Yayınlanan mesaj "-m" ile gösterilir ve mesaj değeri "MQTT ile Merhaba Dünya"dır. Bu mesaj, tıpkı konu gibi, istediğiniz gibi değiştirilebilir!

4. Sonuçlarınızı görmek için ilk terminal penceresine gidin! "Merhaba Dünya ile MQTT" yazan bir mesaj almalısınız. Bunu görmüyorsanız, doğru konuyu yazdığınızdan emin olun. Bunu başarıyla tamamladıysanız, onunla oynamaya devam edin. Alt başlıklar ve farklı mesajlarla farklı konular deneyin!

3. Adım: Tamamlayın

Bu kadar! Hepsini tamamladığınızda, MQTT'nin nasıl çalıştığının temellerini anlarsınız. Bu, MQTT protokolünün yalnızca minimumunu gösteren çok ilkel bir eğitimdir. Future Instructables, protokolün, özellikle Arduino çalıştıran ESP8266 modülleri ile Nesnelerin İnterneti ile pratikte nasıl çalıştığını daha derinlemesine inceleyecektir. İlk pratik uygulamam şu anda odamda bulunan akıllı kahve makinesi olacak. Hem telefonunuzdan hem de Alexa'dan kontrol edilebilen bir kahve makinesi yapmayı öğrenmek istiyorsanız, daha fazla eğitim için beni takip ettiğinizden emin olun.

Önerilen: