Სარჩევი:
- მარაგები
- ნაბიჯი 1: საწყისი დაყენება (დამოკიდებულია თქვენს OS- ზე)
- ნაბიჯი 2: Mosquitto Setup:
- ნაბიჯი 3: დაასრულა
ვიდეო: SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:15
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. ჩემი პირველი პრაქტიკული პროგრამა იქნება ჭკვიანი ყავის მადუღარა, რომელიც ამჟამად მაქვს ჩემს ოთახში. თუ გსურთ ისწავლოთ ყავის მადუღარის დამზადება, რომლის კონტროლიც შესაძლებელია როგორც თქვენი ტელეფონიდან, ასევე ალექსასგან, დარწმუნდით, რომ გამომყევით მეტი გაკვეთილისთვის.
გირჩევთ:
LoRa 3 კმ -დან 8 კმ -მდე უკაბელო კომუნიკაცია დაბალი ღირებულებით E32 (sx1278/sx1276) მოწყობილობა Arduino- სთვის, Esp8266 ან Esp32: 15 ნაბიჯი
LoRa 3 კმ -დან 8 კმ -მდე უკაბელო კომუნიკაცია დაბალი ღირებულებით E32 (sx1278/sx1276) მოწყობილობა Arduino, Esp8266 ან Esp32: მე ვქმნი ბიბლიოთეკას EBYTE E32- ის მართვისთვის LoRa მოწყობილობის Semtech სერიის საფუძველზე, ძალიან მძლავრი, მარტივი და იაფი მოწყობილობა. თქვენ შეგიძლიათ იპოვოთ 3 კმ ვერსია აქ, 8 კმ ვერსია აქ მათ შეუძლიათ იმუშაონ 3000 მ - დან 8000 მ - მდე მანძილზე და მათ აქვთ ბევრი მახასიათებელი
უკაბელო დაშიფრული კომუნიკაცია Arduino: 5 ნაბიჯი
უკაბელო დაშიფრული კომუნიკაცია Arduino: მოგესალმებით ყველას, ამ მეორე სტატიაში მე აგიხსნით როგორ გამოიყენოთ ჩიპი Atecc608a თქვენი უკაბელო კომუნიკაციის უზრუნველსაყოფად. ამისათვის მე გამოვიყენებ NRF24L01+ უსადენო ნაწილისა და Arduino UNO– სთვის. მიკრო ჩიპი ATECC608A შემუშავებულია
უკაბელო კომუნიკაცია NRF24L01 გადამცემი მოდულის გამოყენებით Arduino– ზე დაფუძნებული პროექტებისთვის: 5 ნაბიჯი (სურათებით)
უკაბელო კომუნიკაცია NRF24L01 გადამცემი მოდულის გამოყენებით Arduino– ზე დაფუძნებული პროექტებისთვის: ეს არის ჩემი მეორე სასწავლო გაკვეთილი რობოტებისა და მიკრო კონტროლერების შესახებ. მართლაც გასაოცარია იმის დანახვა, რომ შენი რობოტი ცოცხალია და მუშაობს ისე, როგორც მოსალოდნელი იყო და დამიჯერე, უფრო სახალისო იქნება, თუ გააკონტროლებ შენს რობოტს ან სხვა უკაბელო ნივთებს სწრაფად და
უკაბელო კომუნიკაცია იაფი 433MHz RF მოდულების და Pic მიკროკონტროლერების გამოყენებით. ნაწილი 2: 4 ნაბიჯი (სურათებით)
უკაბელო კომუნიკაცია იაფი 433MHz RF მოდულების და Pic მიკროკონტროლერების გამოყენებით. ნაწილი 2: ამ ინსტრუქციის პირველ ნაწილში მე ვაჩვენე, თუ როგორ უნდა დაპროგრამდეს PIC12F1822 MPLAB IDE და XC8 შემდგენლის გამოყენებით, მარტივი სიმებიანი უკაბელოდ გაგზავნის იაფფასიანი TX/RX 433MHz მოდულების გამოყენებით. მიმღების მოდული USB– ით იყო დაკავშირებული UART TTL– თან საკაბელო რეკლამა
უკაბელო სერიული კომუნიკაცია Bluefruit– ის გამოყენებით: 4 ნაბიჯი
უკაბელო სერიული კომუნიკაცია Bluefruit– ის გამოყენებით: აქ არის მარტივი ნაბიჯ ნაბიჯ სახელმძღვანელო, რომ შეცვალოთ თქვენი მავთულები ბლუთუზის დაბალი ენერგიის კავშირით. როგორც ბლუფრუი