Სარჩევი:

MQTT Armtronix დაფებზე: 3 ნაბიჯი
MQTT Armtronix დაფებზე: 3 ნაბიჯი

ვიდეო: MQTT Armtronix დაფებზე: 3 ნაბიჯი

ვიდეო: MQTT Armtronix დაფებზე: 3 ნაბიჯი
ვიდეო: BigTreeTech - Manta - M8P - Basics 2024, ივლისი
Anonim
MQTT Armtronix დაფებზე
MQTT Armtronix დაფებზე

ამ სასწავლო ინსტრუქციაში ჩვენ გვსურს თავდაპირველად გაჩვენოთ, თუ როგორ შეგიძლიათ გამოიყენოთ Linux (Debian ან Ubuntu) სისტემა და დააინსტალიროთ Mosquitto (Mqtt Broker) მასზე, ასევე გაჩვენოთ როგორ გამოიყენოთ Mqtt კლიენტი თქვენს ტელეფონში (Android)/ Linux დაფუძნებული სისტემა, შეტყობინებების გაგზავნა და მიღება Mqtt– ის საშუალებით. ამის გაცნობის შემდეგ, ჩვენ გვინდა გაჩვენოთ, თუ როგორ შეგიძლიათ დააკონფიგურიროთ და დააკავშიროთ ჩვენი დაფა ამ დაყენებულ Mqtt ბროკერთან. ასევე მინდა გაჩვენოთ, თუ როგორ შეგიძლიათ დაამატოთ ავთენტიფიკაცია Mqtt ბროკერს და რამდენიმე ძირითადი რჩევა და ხრიკი გამართვისთვის. ასე რომ დავიწყოთ …………

ნაბიჯი 1: Mqtt ბროკერის დაყენება:

Mqtt ბროკერის დაყენება
Mqtt ბროკერის დაყენება
Mqtt ბროკერის დაყენება
Mqtt ბროკერის დაყენება
Mqtt ბროკერის დაყენება
Mqtt ბროკერის დაყენება
Mqtt ბროკერის დაყენება
Mqtt ბროკერის დაყენება

არსებობს მრავალი Mqtt ბროკერი, რომლის დაყენებაც შეგიძლიათ. ზოგიერთი ცნობილი მათგანი ქვემოთ არის ნახსენები. ზოგიერთი მათგანი არის ღრუბელზე დაფუძნებული სერვისები.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

ჩვენ გაჩვენებთ თუ როგორ უნდა დააინსტალიროთ Mosquitto Linux– ზე დაფუძნებულ სისტემაზე (Ubuntu 18.04). ამისათვის ჯერ Mosquitto დაამატეთ ubuntu წყაროს სიაში. მას შემდეგ, რაც Mosquitto ხელმისაწვდომი იქნება Ubuntu საცავებში, თქვენ შეძლებთ მის დაინსტალირებას apt-get– ით.

უბრალოდ გახსენით ტერმინალი. ტერმინალის გასახსნელად გადადით Ubuntu Desktop– ის მარცხენა ქვედა კუთხეში, დააწკაპუნეთ აპლიკაციის ჩვენებაზე (გამოქვეყნებულია 3X3 ბადე). გაიხსნება ფანჯარა. იქ თქვენ ეძებთ ტერმინალს. დააწკაპუნეთ ტერმინალზე, თქვენ უნდა გქონდეთ ფანჯრის გახსნა, როგორც ნაჩვენებია შემდეგ სურათებში.

  • განაცხადის ჩვენება (სურათი 1).
  • ტერმინალის ძებნა (სურათი 2).
  • ტერმინალის ფანჯარა (სურათი 3).

შეიყვანეთ შემდეგი ბრძანებები ტერმინალის გახსნის შემდეგ

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

sudo apt-get განახლება

sudo apt-get დააინსტალირეთ კოღო

თქვენ ასევე შეგიძლიათ დააინსტალიროთ Mqtt კლიენტი. ამის გაკეთების ბრძანება იქნება

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

რამდენიმე სურათი თქვენი მითითებისთვის

  • Ppa- ს დამატება (სურათი 4).
  • რეპოს განახლება (სურათი 5).
  • Mosquitto– ს დაყენება (სურათი 6).
  • Mosquitto კლიენტის დაყენება (სურათი 7).

ნაბიჯი 2: ტესტირება MQTT (Mosquitto)

ტესტირება MQTT (Mosquitto)
ტესტირება MQTT (Mosquitto)
ტესტირება MQTT (Mosquitto)
ტესტირება MQTT (Mosquitto)
ტესტირება MQTT (Mosquitto)
ტესტირება MQTT (Mosquitto)

Mqtt ubuntu– ს საშუალებით (იგივე სისტემა ან სხვა სისტემა) თქვენ უნდა დააინსტალიროთ mqtt კლიენტი, რომელიც ადრე იყო დაინსტალირებული ბრძანებით sudo apt-get install mosquitto-clients. იმ შემთხვევაში, თუ გსურთ მისი ტესტირება მობილური ტელეფონის (ანდროიდის) გამოყენებით, შეგიძლიათ დააინსტალიროთ MyMqtt აპლიკაცია სათამაშო მაღაზიიდან.

Mqtt მუშაობს რაღაცაზე, სახელწოდებით თემები. გაგების სიმარტივისთვის განიხილეთ ეს თემები, როგორც საქაღალდე კომპიუტერის მყარ დისკზე. მოდით განვიხილოთ ეს კომპიუტერი როგორც კომპიუტერის სერვერი (რომელიც mqtt მსოფლიოში არის Mqtt Broker). ამ სერვერზე განვიხილოთ ერთი საქაღალდე.

საქაღალდის სახელი: /Folder_one /

ახლა განვიხილოთ ორი ადამიანი ორი განსხვავებული სისტემიდან (კომპიუტერი/ლეპტოპი), რომლებიც შედიან ამ სერვერზე ან ფაილების წასაკითხად, ან ფაილების გასაგზავნად/გადასაგდებად, ან ორივე ოპერაციის შესასრულებლად.

ჩვენ დავასახელებთ ორ ადამიანს/სისტემას, როგორც System X, System Y (ეს არის Mqtt კლიენტები Mqtt World– ში).

ახლა ვთქვათ, რომ სისტემა X აგზავნის/გადააგდებს რაღაც ფაილს (ფაილის სახელი: ტემპერატურა) "/Folder_one/" საქაღალდეში, ეს mqtt სამყაროში შეგვიძლია ვუწოდოთ ამ გამოცემას (ჩვენ ვგზავნით შეტყობინებას/დატვირთვას ფაილის ნაცვლად).

ახლა, ვთქვათ System Y– ს სურს მიიღოს/წაიკითხოს ეს ფაილი ან რაიმე ახალი ფაილი ან განაახლოთ ამ საქაღალდეში, პირველი რაც მას სჭირდება არის იცოდეს საქაღალდის სახელი და გზა, რომელიც ჩვენს შემთხვევაში არის”/Folder_one/”. ახლა ის წავა ამ საქაღალდეში და წაიკითხავს/მიიღებს ამ ფაილს (ფაილის სახელი: ტემპერატურა). გეზის/თემის ცოდნა და Mqtt მსოფლიოში ფაილების/ახალი ფაილების ცვლილებების შემოწმება არის ამ თემის გამოწერა.

ზემოაღნიშნული მაგალითის გათვალისწინებით, სისტემა X აქვეყნებს "/Folder_one" - ს და Y სისტემას აქვს გამოწერილი "/Folder_one"

ასევე გაითვალისწინეთ, რომ System X- ს ასევე შეუძლია გამოიწეროს "/Folder_one" და სისტემა Y- ს ასევე შეუძლია გამოაქვეყნოს "/Folder_one". როგორც გონიერი, ასევე სერვერის სისტემას (Mqtt ბროკერს) შეუძლია გამოაქვეყნოს/გამოიწეროს “/Folder_one” Mqtt კლიენტის დაყენება მასზე, როგორც ჩვენ გავაკეთეთ ამჟამად. სხვა რამ უნდა გახსოვდეთ არის გამოაქვეყნოთ ან გამოიწეროთ თემა, რომლის ცოდნაც დაგჭირდებათ Mqtt ბროკერის IP მისამართის შესახებ.

პირველ რიგში ჩვენ ვამოწმებთ მას ubuntu კლიენტის საშუალებით, რომელიც დაინსტალირებულია იმავე სისტემაზე, როგორც ბროკერი. ჩვენ გავხსნით ორ ტერმინალის ფანჯარას, რომელთაგან ერთი გამოაქვეყნებს და მეორე გამოწერით მას. მაგალითისთვის ჩვენ გამოვიყენებთ /Folder_one თემას. სანამ პუბს/თემას დაექვემდებარებით, თქვენ უნდა იპოვოთ ubuntu– ს IP მისამართი. ამისათვის დააწკაპუნეთ ეკრანის მარჯვენა ზედა კუთხეში, აირჩიეთ wifi პარამეტრი, იქიდან თქვენ შეძლებთ ubuntu სისტემის IP მისამართის პოვნას (ამჟამად ბროკერის IP). სკრინშოტი გაზიარებულია მითითებისთვის (სურათი 8).

ან ბროკერის IP მისამართის მოსაძებნად შეგიძლიათ იპოვოთ IP მისამართი ტერმინალში შემდეგი ბრძანების გამოყენებით წმინდა ინსტრუმენტების დაყენებით

sudo apt დააინსტალირეთ ქსელის ინსტრუმენტები

ქსელის ინსტრუმენტების დაყენება (სურათი 9). ამის შემდეგ უბრალოდ ჩაწერეთ ბრძანება ipconfig თქვენ მიიღებთ ქსელის ინტერფეისის ჩამონათვალს mac და IP მისამართით

sudo ipconfig

ჩემი სისტემის IP მისამართია 192.168.1.67 (სურათი 10)

Გამოქვეყნება

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

აქ, mosquitto_pub არის ბრძანება, რასაც მოჰყვება პარამეტრის იდენტიფიკატორი ელემენტი –h, რომელიც არის მასპინძელი /ბროკერის IP მისამართი (ჩვენს შემთხვევაში 192.168.1.67), რასაც მოყვება –t, რომელიც თემის სახელია გამომცემლისთვის (ჩვენს შემთხვევაში /Folder_one), რასაც მოჰყვება -m რაც ნიშნავს გაგზავნილ შეტყობინებას/დატვირთვას (ჩვენს შემთხვევაში არის pub_to_folderone).

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

mosquitto_sub -h 192.168.1.67 -t /Folder_one

გამომცემლის მიერ გაგზავნილი შეტყობინება: pub_to_folderone

გამოქვეყნების მაგალითი

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”

თემის გამოწერისას მიღებული პასუხის მაგალითი

mosquitto_sub -h 192.168.1.67 -t /Folder_one

გამომცემლის მიერ გაგზავნილი შეტყობინება:

  • pub_to_folderone
  • გამარჯობა ტესტი mqtt
  • mqtt მუშაობს

Pub Sub ორ ცალკეულ ტერმინალის ფანჯარაში გვერდიგვერდ (სურათი 11)

ტესტირება Mqtt on android (ჩემი mqtt)

დააინსტალირეთ mymqtt აპლიკაცია play store– დან თქვენს Android ტელეფონზე (სურათი 12)

გახსენით აპლიკაცია და დააწკაპუნეთ მარცხენა ზედა კუთხეში (სურათი 13, სურათი 14).

დააწკაპუნეთ პარამეტრებზე და შეიყვანეთ ბროკერის IP მისამართი, პორტი ნაგულისხმევი იქნება 1883. ამჟამად ჩვენ არ ვიყენებთ ავტორიზებული mqtt ბროკერს, ამიტომ მომხმარებლის სახელი და პაროლი ცარიელი იქნება. უბრალოდ შეინახეთ და კვლავ დააწკაპუნეთ პროგრამის მარცხენა ზედა კუთხეში (<პარამეტრები) უჯრა ხელახლა გაიხსნება (სურათი 15).

უჯრის თავზე ის გაჩვენებთ ბროკერის IP მისამართს და პორტს, რომელთანაც აპლიკაცია არის დაკავშირებული (სურათი 16).

ახლა დაამატეთ თემა, რომლის გამოწერაც გსურთ, გამოიწერეთ დაწკაპუნებით. აქ ჩვენ დავამატებთ თემას როგორც /Folder_one (სურათი 17, სურათი 18).

ამის შემდეგ, ubuntu სისტემიდან ტერმინალის გამოყენებით ჩვენ გამოვაქვეყნებთ თემას. გამოქვეყნებისას თქვენ უნდა მიიღოთ ამ მობილურ აპლიკაციაში გამოქვეყნებული დატვირთვა/შეტყობინება. მაგალითად, დატვირთვის გამოქვეყნება, როგორც "ARM -Automation Robotics & Mechatronics". ბრძანება, როგორც უკვე აღვნიშნეთ.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “ARM -Automation Robotics & Mechatronics”

გამოქვეყნება ubuntu სისტემიდან (სურათი 19).

მიღებული გამოქვეყნებული შეტყობინება დაფაზე (სურათი 20).

ახლა მოდით გამოვაქვეყნოთ android ტელეფონიდან (My mqtt) და გამოვიწეროთ ubuntu სისტემაზე. ამ მაგალითისთვის ჩვენ ვიყენებთ თემას "/mymqtt_to_pub".

ამისათვის გახსენით ტერმინალი თქვენი ubuntu სისტემიდან და გამოიწერეთ თემა "/mymqtt_to_pub" შემდეგი ბრძანების გამოყენებით (სურათი 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

ახლა გადადით mymqtt აპის უჯრაში და დააწკაპუნეთ გამოქვეყნებაზე. დაამატეთ საგამომცემლო თემა (ჩვენს შემთხვევაში ეს არის "/mymqtt_to_pub") და გაუგზავნეთ შეტყობინება, როგორც ჩვენ გამოგიგზავნით "გამარჯობა Ubuntu", დააჭირეთ ღილაკს გაგზავნა (სურათი 22, სურათი 23).

შეტყობინება უნდა გამოჩნდეს ubuntu სისტემის ტერმინალის ფანჯარაში (სურათი 24).

გაითვალისწინეთ, რომ ubuntu სისტემა და ანდროიდის ტელეფონი ერთსა და იმავე ქსელში უნდა იყოს ან 1883 პორტი უნდა იყოს გამოვლენილი და თქვენ უნდა იცოდეთ თქვენი როუტერის/კარიბჭის IP მისამართი mqtt– ის მუშაობისთვის. თუ გსურთ ავტორიზაცია დაამატოთ თქვენს mqtt ბროკერს, შეგიძლიათ ამის გაკეთება ქვემოთ მოყვანილი ბლოგის ბმულის მიხედვით https://medium.com/@eranda/setting-up-authenticat… მიჰყევით ამ ბლოგის მეორე ნაბიჯს. ჩვენ გავააქტიურეთ ჩვენი ბროკერის ავთენტიფიკაცია და ვიყენებთ ავტორიზებული ბროკერს ჩვენი დაფებისთვის.

ნაბიჯი 3: Armtronix Board & Mqtt– თან მუშაობა

მუშაობა Armtronix Board & Mqtt
მუშაობა Armtronix Board & Mqtt
მუშაობა Armtronix Board & Mqtt
მუშაობა Armtronix Board & Mqtt
მუშაობა Armtronix Board & Mqtt
მუშაობა Armtronix Board & Mqtt

ამჟამად ამ ინსტრუქციისთვის ჩვენ ვიყენებთ ჩვენს Wifi Single Dimmer დაფას, რომელიც Triac- ს იყენებს სინუსური ტალღის გასანადგურებლად და, თავის მხრივ, აციმციმებს ნათურას ან აკონტროლებს ვენტილატორის სიჩქარეს. ჩვენ ასევე დავუკავშირდით მას mqtt ავტორიზაციის ტიპის საშუალებით.

თავდაპირველად ჩვენ დავაყენეთ დაფა. მისი კონფიგურაციის ნაბიჯები მოცემულია ქვემოთ.

ჩართვა დაფაზე, ის დაიწყებს Wifi Access Point– ის მასპინძლობას.

ანდროიდის ტელეფონის ან ლეპტოპის გამოყენებით დაუკავშირდით ამ AP– ს (სურათი 25).

მას შემდეგ რაც დაუკავშირდებით ამ AP– ს, ჩაწერეთ 192.168.4.1 ბრაუზერის გახსნით (chrome/firefox) AP– სთან დაკავშირებული სისტემიდან/ტელეფონიდან. დარწმუნდით, რომ არ იყენებთ თქვენს მონაცემთა კავშირს (3G/4G).

IP- ის აკრეფისას გაიხსნება ვებ გვერდი, სადაც უნდა შეიყვანოთ შემდეგი (სურათი 26).

  • SSID: Wifi AP სახელი.
  • პაროლი: SSID პაროლი.
  • IoT რეჟიმი Mqtt ან Http (აირჩიეთ Mqtt).
  • Mqtt საბროკერო IP (ჩვენს შემთხვევაში ეს არის 192.168.1.67).
  • Mqtt მომხმარებლის სახელი და პაროლი, ვინაიდან ჩვენ ვიყენებთ ავტორიზაციის ტიპს, ჩვენ გამოვიყენეთ ნარენი, xxxx
  • Mqtt აქვეყნებს თემას: ეს იქნება ის თემა რომელზეც დაფა გამოაქვეყნებს, ჩვენ გამოვიყენეთ /testpub.
  • Mqtt გამოწერის თემა: ეს იქნება ის თემა, რომელზეც საბჭო მოისმენს ბრძანებებს triac– ის გასააქტიურებლად, ჩვენ გამოვიყენეთ /testub.
  • მოწყობილობის სახელი: ეს არის სახელი, რომელსაც თქვენ ეძახით ალექსას დაფის გასააქტიურებლად, ჩვენ გამოვიყენეთ corvi.

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

გთხოვთ გაითვალისწინოთ, რომ ჩვენ დავამყარეთ ჩვენი დაფა Uart– ის საშუალებით Arduino IDE– ს სერიულ მონიტორთან. ასე რომ, მარცხენა მხარეს ნახავთ გამართვის შეტყობინებებს, რომლებიც იბეჭდება Uart– ის საშუალებით (ეს მხოლოდ თქვენი მითითებისთვისაა).

ამის დასრულების შემდეგ თქვენ შეგიძლიათ ნახოთ გამართვის ეკრანი. დეტალების უმეტესობა იქ გამოჩნდება. ამის შემდეგ, ის წარმატებით დაუკავშირდება ბროკერს გამართვის (სერიული) ეკრანზე, რომლის ნახვაც შეგიძლიათ.

დაკავშირებულია MQTT ბროკერთან ავთენტიფიკაციით. გამოწერილი 1 თემა.

ამის დაბეჭდვის შემდეგ თქვენ შეგიძლიათ დაიწყოთ მისი ბრძანებების გაგზავნა mqtt– ის საშუალებით იმ თემაზე, რომელზეც მან გამოიწვია, ანუ /ტესტები /

ამ დაფისთვის ბრძანებებია:

  • R13_ON: ტრიაკის 100%-ზე ჩართვა.
  • R13_OFF: ტრიაკის გამორთვა 0%-ზე.
  • Dimmer: xx: სად, xx არის ჩამქრალი მნიშვნელობა და შეიძლება შეიცვალოს 0 -დან 99 -მდე.
  • გადატვირთვა: დაფის კონფიგურაციის გასასუფთავებლად.
  • სტატუსი: დაბეჭდეთ დაფის დაბნელების სტატუსი დაფის გამოქვეყნების თემაზე.

ამ ბრძანების გაგზავნა ubuntu დაფუძნებული სისტემიდან, სადაც mqtt კლიენტია დაინსტალირებული, უბრალოდ ჩაწერეთ როგორც ქვემოთ ნაჩვენებია. ორი დამატებითი პარამეტრი დაემატება აქ ავტორიზაციის გამო -ანუ -u, რომელიც არის მომხმარებლის სახელი და -P არის პაროლი, გთხოვთ გაითვალისწინოთ, რომ ეს არის ასოების მგრძნობიარე.

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

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

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

შენიშვნა: 50 არის dimmer მნიშვნელობა

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

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m სტატუსი

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

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

შეტყობინება, რომელსაც ვიღებთ არის

DimmerIS50

ქვემოთ მოცემულია რამდენიმე ეკრანის შორტი (სურათი 28, სურათი 29)

გირჩევთ: