Სარჩევი:

SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები: 3 ნაბიჯი
SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები: 3 ნაბიჯი

ვიდეო: SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები: 3 ნაბიჯი

ვიდეო: SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები: 3 ნაბიჯი
ვიდეო: ჭკვიანი სახლის ეკოსისტემები: დეტალური მიმოხილვა და მახასიათებლები, ყველაფერი რაც თქვენ უნდა იცოდეთ 2024, ივლისი
Anonim
SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები
SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები
SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები
SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები

MQTT საფუძვლები:

** მე ვაპირებ სახლის ავტომატიზაციის სერიის გაკეთებას, მე გადავდგამ იმ ნაბიჯებს, რომლითაც უნდა ვისწავლო ყველაფერი, რაც მომავალში გავაკეთე. ეს ინსტრუქცია არის საფუძველი იმის შესახებ, თუ როგორ უნდა დააყენოთ MQTT გამოსაყენებლად ჩემს მომავალ ინსტრუქციებში. ამასთან, ამ შინაარსის სწავლებები იქნება გამოყენებული ნებისმიერი პროექტისთვის, რომლის განხორციელებაც გსურთ. **

ნივთების ინტერნეტი:

ნივთების ინტერნეტი იპყრობს მსოფლიოს და განსაკუთრებით ისეთ თემებში, როგორიც ჩვენ ვართ აქ Instructables– ში. მას შემდეგ, რაც მე შევუერთდი ამ საზოგადოებას, იგი დამკვიდრდა ხალხის მშენებლობით

მოწყობილობები, რომლებიც დაკავშირებულია და კონტროლდება ინტერნეტით. ნივთების ინტერნეტით მუშაობისას ძნელია არ შეხვიდე MQTT პროტოკოლით. ეს არის საკომუნიკაციო პროტოკოლი, ისევე როგორც სხვა ინტერნეტი, რომელიც დღეს გამოიყენება ინტერნეტში, როგორიცაა HTTP ან FTP, თუმცა მისი მუშაობის მეთოდი განსხვავებულია, რაც მას იდეალურს ხდის ნივთების ინტერნეტისთვის.

რა არის MQTT:

MQTT (Message Queuing Telemetry Transport არის მსუბუქი საკომუნიკაციო პროტოკოლი, რომელიც იყენებს გამოქვეყნების/გამოწერის არქიტექტურას. HTTP, რასაც ინტერნეტი იყენებს, აგებულია მოთხოვნის/პასუხის სისტემაზე. ეს ნიშნავს, რომ იღებს მოთხოვნას კლიენტისგან და აგზავნის პასუხი ამ კლიენტზე. MQTT– ს ასევე აქვს სერვერი (რომელსაც ეწოდება ბროკერი), ასევე ბევრი კლიენტი. HTTP– სგან განსხვავებით, MQTT კლიენტებს საშუალებას აძლევს გამოაქვეყნონ ან გამოიწერონ კონკრეტული „თემები“. ამის საშუალებას იძლევა უფრო ფართო კომუნიკაცია ცენტრალიზებული პუნქტი, ბროკერი. თითოეულ კვანძს შეუძლია გამოაქვეყნოს თემა ბროკერზე და ამ თემის გამოწერილი ნებისმიერი კვანძი მიიღებს შეტყობინებას. კლიენტებს შეუძლიათ ასევე გამოიწერონ მრავალი თემა და შემდეგ მიიღონ მრავალი დირექტივა ან განახლება.

მთელი სისტემა არის მოვლენებზე ორიენტირებული და საშუალებას აძლევს ბროკერის შეტყობინებებს გადაეცეს თითოეულ გამოწერილ კლიენტს. ასე რომ, ვიდრე HTTP, სადაც კლიენტი ითხოვს ინფორმაციას, კლიენტი იღებს ინფორმაციას პირდაპირ ბროკერისგან მიღებისთანავე. არსებობს ჩამონტაჟებული სერვისები, რომლებიც უზრუნველყოფენ სხვადასხვა გარანტიებს, როგორიცაა QOS სპეციფიკაციები. QOS სპეციფიკაცია საშუალებას აძლევს ბროკერს განსაზღვროს საჭიროა თუ არა შეტყობინების გაგზავნა არა უმეტეს ერთხელ, ერთხელ მაინც, ან ზუსტად ერთხელ. ეს უზრუნველყოფს მონაცემების მიწოდებას თითოეული კლიენტისთვის საჭირო გზით. კლიენტებს ასევე შეუძლიათ მოითხოვონ, რომ მათი თემის გამოქვეყნებული შეტყობინებები იყოს ბროკერი ბროკერში იმ შემთხვევაში, თუ ისინი გათიშულნი იქნებიან რაიმე მიზეზით. მას შემდეგ, რაც ის ბრუნდება ონლაინ რეჟიმში, ეს მონაცემები გადაეცემა კლიენტს.

თემა განსაკუთრებული არაფერია, ეს არის მხოლოდ სხვადასხვა სტრიქონი, რომლებიც შერწყმულია და გამოყოფილია შტრიხებით. ქვემოთ მოყვანილი მაგალითის ფორმატი არის შემდეგი: სახლი/საძინებელი/ჭერის_შუქი. თითოეული სლასი მოთავსებულია თემის შემდეგ, ქვემოტომის აღსანიშნავად. ასე რომ, შეტყობინება შეიძლება გამოქვეყნდეს სახლში, სადაც სახლის ყველა მოწყობილობა მიიღებს მას. ის შეიძლება გამოქვეყნდეს პირდაპირ სახლში/საძინებელში, სადაც საძინებელში არსებული ყველა მოწყობილობა მიიღებს შეტყობინებას. და ის შეიძლება ჩამოვიდეს კონკრეტულ მოწყობილობაზე, როგორც ეს პირველად ნაჩვენებია სახლში/საძინებელში/ჭერის სინათლეში, სადაც საძინებელში მხოლოდ ჭერის შუქი მიიღებს შეტყობინებას. გზა, თუ როგორ შეგვიძლია აბსტრაქცია გავუწიოთ მსგავს ცალკეულ მოწყობილობებს მთელს ეკოსისტემამდე, ძალიან მოსახერხებელია, განსაკუთრებით მაშინ, როდესაც საქმე ეხება სახლის ავტომატიზაციას. არსებობს თემების დაშლის შემდგომი გზები და მე მათ უფრო დეტალურად განვიხილავ მომავალში ინსტრუქციებში, სადაც პროგრამას ყველაზე დიდი აზრი ექნება.

მარაგები

ჩამოთვლილთაგან მხოლოდ ერთია საჭირო:

უბუნტუ:

Windows ქვესისტემა Linux– ისთვის: https://ubuntu.com/wsl (მხოლოდ იმ შემთხვევაში, თუ არ გაქვთ Linux/MacOS)

MacOS: მოითხოვს MacBook

ეს აუცილებელია:

Mosquitto MQTT ბროკერი - გადმოწერილი apt -get გამოყენებით (დოკუმენტაცია:

ნაბიჯი 1: საწყისი დაყენება (დამოკიდებულია თქვენს OS- ზე)

MacOS/Linux:

არ არის საჭირო კონფიგურაცია, უბრალოდ გახსენით თქვენი ტერმინალი და გადადით Mosquitto Setup– ზე!

Windows:

თუ Windows– ზე ხართ, დაგჭირდებათ Linux ქვესისტემის დაინსტალირება Linux– ისთვის. ეს არის სუპერ ადვილად გამოსაყენებელი და უაღრესად ღირებული ინსტრუმენტი, რომელიც საშუალებას გაძლევთ გაუშვათ Ubuntu ტერმინალი Windows– ში. არ არის საჭირო Ubuntu– ს დაინსტალირება და ორმაგი ჩატვირთვა მხოლოდ ტერმინალში განვითარების შესამოწმებლად!

ინსტალაციის ნაბიჯები:

1. გადადით Windows მაღაზიაში და მოძებნეთ ubuntu

2. ჩამოტვირთეთ და დააინსტალირეთ Windows ქვესისტემა Linux– ისთვის

3. გახსენით პროგრამა და მიჰყევით ინსტრუქციას კონფიგურაციის დასასრულებლად და მზად ხართ გასაგრძელებლად!

ნაბიჯი 2: Mosquitto Setup:

კოღოს დაყენება
კოღოს დაყენება
კოღოს დაყენება
კოღოს დაყენება
კოღოს დაყენება
კოღოს დაყენება

როგორც MQTT– ის შესავალში იყო განხილული, პროტოკოლს სჭირდება ბროკერი (სერვერი). ეს ბროკერი არის საფუძველი ყველა დამყარებული კავშირის თითოეულ კლიენტთან. ყველა შეტყობინება გადადის და რიგში დგას ამ ბროკერში. ბროკერის ასარჩევად ბევრი ვარიანტია და თქვენ შეგიძლიათ იპოვოთ ეს ინტერნეტში, მაგრამ ის, რასაც ჩვენ ვიყენებთ, ალბათ ყველაზე გავრცელებულია: Mosquitto.

Mosquitto არის Linux– ზე დაფუძნებული MQTT ბროკერი, რომელსაც აქვს მრავალი ფუნქცია. მე არ შევეხები ამ ფუნქციონირების სპეციფიკას, მაგრამ რამდენიმე ძირითადი მოთხოვნა, რომელიც მას აკმაყოფილებს, არის მომხმარებლის/პაროლის ავტორიზაცია და TLS დაშიფვრის მხარდაჭერა, რომელთაგან ყველა სასარგებლოა ნივთების ინტერნეტის განვითარებისთვის.

ნაბიჯები:

ყველა ეს ნაბიჯი უნდა დასრულდეს ტერმინალის ფანჯარაში.

1. დააინსტალირეთ Mosquitto და MQTT კლიენტები

sudo apt-get დააინსტალირეთ mosquitto mosquitto- კლიენტები

2. გამოიწერეთ თემა

mosquitto_sub -t "ტესტი"

რას აკეთებს ეს არის გამოწერა თემაზე. ეს თემა აღინიშნება "-t"-ით და თემის მნიშვნელობა არის "ტესტი". "-T"-ის შემდეგ მნიშვნელობა შეიძლება იყოს ის, რაც გსურთ შეინახოთ რამდენიმე სპეციალური ჯავშნისთვის.

3. გახსენით ახალი ტერმინალის ფანჯარა და გამოაქვეყნეთ შეტყობინება თემაზე "ტესტი"

mosquitto_pub -t "test" -m "გამარჯობა მსოფლიო MQTT- ით!"

ეს აქვეყნებს შეტყობინებას თემაზე "ტესტი", რაც საშუალებას აძლევს ჩვენს სხვა ტერმინალურ ინსტანციას მიიღოს შეტყობინება გამოწერის მხარეს. გამოქვეყნებული შეტყობინება აღინიშნება "-m"-ით და შეტყობინების მნიშვნელობაა "Hello World With MQTT". ეს შეტყობინება, ისევე როგორც თემა, შეიძლება შეიცვალოს რაც გინდა!

4. გადადით ტერმინალის პირველ ფანჯარაში თქვენი შედეგების სანახავად! თქვენ უნდა მიიღოთ შეტყობინება, რომელშიც ნაჩვენებია "Hello World With MQTT". თუ ამას ვერ ხედავთ, დარწმუნდით, რომ თქვენ ჩაწერეთ სწორი თემა. თუ ეს წარმატებით დაასრულეთ, განაგრძეთ თამაში. სცადეთ სხვადასხვა თემები, ქვეთემით და განსხვავებული შეტყობინებებით!

ნაბიჯი 3: დაასრულა

Ის არის! ყოველივე ამის დასრულების შემდეგ გესმით საფუძვლები, თუ როგორ მუშაობს MQTT. ეს არის ძალიან რუდინალური გაკვეთილი, რომელიც უბრალოდ აჩვენებს MQTT პროტოკოლის მინიმალურ რაოდენობას. მომავალი Instructables უფრო სიღრმისეულად გაივლის, თუ როგორ მუშაობს პრაქტიკაში პროტოკოლი ნივთების ინტერნეტით, განსაკუთრებით ESP8266 მოდულებით Arduino. ჩემი პირველი პრაქტიკული პროგრამა იქნება ჭკვიანი ყავის მადუღარა, რომელიც ამჟამად მაქვს ჩემს ოთახში. თუ გსურთ ისწავლოთ ყავის მადუღარის დამზადება, რომლის კონტროლიც შესაძლებელია როგორც თქვენი ტელეფონიდან, ასევე ალექსასგან, დარწმუნდით, რომ გამომყევით მეტი გაკვეთილისთვის.

გირჩევთ: