Სარჩევი:
- ნაბიჯი 1: რა არის MQTT და როგორ მუშაობს იგი
- ნაბიჯი 2: ჟოლო პი
- ნაბიჯი 3: როგორ დავაყენოთ სტატიკური IP მისამართი
- ნაბიჯი 4: NodeMCU
- ნაბიჯი 5: პითონის სკრიპტი
- ნაბიჯი 6: კავშირები და სქემის დიაგრამა
- ნაბიჯი 7: შედეგი
ვიდეო: Raspberry Pi საუბარი ESP8266– თან MQTT– ის გამოყენებით: 8 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ამ პროექტში მე აგიხსნით რა არის MQTT პროტოკოლი და როგორ გამოიყენება იგი მოწყობილობებს შორის კომუნიკაციისთვის. შემდეგ, როგორც პრაქტიკული დემონსტრაცია, მე ვაჩვენებ, თუ როგორ უნდა დავაყენოთ კლიენტი და ბროკერი სისტემა, სადაც ESP8266 მოდული, ასევე RPi საუბარი ერთმანეთს ან გაუგზავნეთ შეტყობინება ღილაკის დაჭერისას.
საჭირო მასალა
1. ჟოლო პი 3
2. NodeMCU
3. LED
4. ღილაკი
5. რეზისტორები (10k, 475 ohm)
ნაბიჯი 1: რა არის MQTT და როგორ მუშაობს იგი
MQTT
MQTT არის მონაცემთა გადაცემის პროტოკოლი მანქანა-მანქანამდე (M2M). MQTT შეიქმნა მრავალი მოწყობილობიდან მონაცემების შეგროვების და შემდგომ მონაცემების IT ინფრასტრუქტურაში გადატანის მიზნით. ეს არის მსუბუქი და, შესაბამისად, იდეალურია დისტანციური მონიტორინგისთვის, განსაკუთრებით M2M კავშირებში, რომლებიც საჭიროებენ მცირე კოდის ნაკვალევს ან სადაც ქსელის გამტარობა შეზღუდულია.
როგორ მუშაობს MQTT
MQTT არის გამოქვეყნების/გამოწერის პროტოკოლი, რომელიც საშუალებას აძლევს ქსელის კიდეებს გამოაქვეყნონ ბროკერზე. კლიენტები აკავშირებენ ამ ბროკერს, რომელიც შემდეგ შუამავლობს ორ მოწყობილობას შორის კომუნიკაციას. თითოეულ მოწყობილობას შეუძლია გამოიწეროს ან დაარეგისტრიროს კონკრეტული თემები. როდესაც სხვა კლიენტი აქვეყნებს შეტყობინებას გამოწერილ თემაზე, ბროკერი აგზავნის შეტყობინებას ნებისმიერ კლიენტს, რომელმაც გამოიწერა.
MQTT არის ორმხრივი და ინარჩუნებს ცნობიერებას სხდომის შესახებ. თუ ქსელის პირას მოწყობილობა დაკარგავს კავშირს, ყველა გამოწერილ კლიენტს ეცნობება MQTT სერვერის "ბოლო ნება და აღთქმის" ფუნქცია, რათა სისტემაში ნებისმიერ უფლებამოსილ კლიენტს შეეძლოს გამოაქვეყნოს ახალი მნიშვნელობა ზღვარზე. ქსელის მოწყობილობა, ორმხრივი კავშირის შენარჩუნება.
პროექტი დაყოფილია 3 ნაწილად
პირველ რიგში, ჩვენ ვქმნით MQTT სერვერს RPi– ზე და ვაყენებთ რამდენიმე ბიბლიოთეკას.
მეორეც, ჩვენ დავაყენებთ ბიბლიოთეკებს Arduino IDE– ში, რათა NodeMCU იმუშაოს MQTT– ით, ავტვირთოთ კოდი და შევამოწმოთ სერვერი მუშაობს თუ არა.
დაბოლოს, ჩვენ ვქმნით სკრიპტს Rpi– ში, ვტვირთავთ საჭირო კოდს NodeMCU– ში და ვუშვებთ პითონის სკრიპტს სერვერისა და კლიენტის მხრიდან led– ების გასაკონტროლებლად. აქ, სერვერი არის RPi და კლიენტი არის NodeMCU.
ნაბიჯი 2: ჟოლო პი
1. უახლესი MQTT სერვერის და კლიენტის RPi– ში დასაყენებლად, ახალი საცავის გამოსაყენებლად, ჯერ უნდა შეიტანოთ საცავის პაკეტის ხელმოწერის გასაღები.
wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.keysudo apt-key add mosquitto-repo.gpg.key
2. გახადეთ საცავი apt.
cd /etc/apt/sources.list.d/
3. იმისდა მიხედვით, თუ რომელი ვერსიის Debian იყენებთ.
sudo wget https://repo.mosquitto.org/debian/mosquitto-wheezy.listsudo wget
sudo wget
sudo apt-get განახლება
4. დააინსტალირეთ Mosquitto სერვერი ბრძანების გამოყენებით.
sudo apt-get დააინსტალირეთ კოღო
თუ თქვენ იღებთ შეცდომებს Mosquitto– ს მსგავსი ინსტალაციისას.
#################################################################
შემდეგ პაკეტებს აქვთ დაუმთავრებელი დამოკიდებულებები: mosquitto: დამოკიდებულია: libssl1.0.0 (> = 1.0.1) მაგრამ ის არ არის ინსტალაციადი დამოკიდებულია: libwebsockets3 (> = 1.2) მაგრამ არ არის ინსტალაცია E: პრობლემების გამოსწორება შეუძლებელია, თქვენ გატეხილი გაქვთ პაკეტები.
#################################################################
შემდეგ გამოიყენეთ ეს ბრძანება პრობლემების გადასაჭრელად.
sudo apt-დაფიქსირებული გატეხილი ინსტალაცია
5. MQTT სერვერის დაყენების შემდეგ დააინსტალირეთ კლიენტი ბრძანების გამოყენებით
sudo apt-get დააინსტალირეთ კოღო-კლიენტები
თქვენ შეგიძლიათ შეამოწმოთ მომსახურება ბრძანების გამოყენებით.
systemctl სტატუსი mosquitto.service
როგორც ჩვენი MQTT სერვერი და კლიენტი დაყენებულია. ახლა ჩვენ შეგვიძლია შევამოწმოთ იგი გამოწერის და გამოქვეყნების გამოყენებით. გამოწერისა და გამოქვეყნებისათვის შეგიძლიათ შეამოწმოთ ბრძანებები ან ეწვიოთ ვებ გვერდს, როგორც ქვემოთ მოცემულია.
Mosquitto Sub
Mosquitto Pub
Paho-mqtt ბიბლიოთეკის დასაყენებლად გამოიყენეთ ქვემოთ მოცემული ბრძანება.
sudo pip დააინსტალირეთ paho-mqtt
პაჰო
ნაბიჯი 3: როგორ დავაყენოთ სტატიკური IP მისამართი
გადადით დირექტორია cd /etc და გახსენით ფაილი dhcpcd.conf ნებისმიერი რედაქტორის გამოყენებით. დასასრულს, ჩაწერეთ ეს ოთხი სტრიქონი.
ინტერფეისი eth0 სტატიკური ip_address = 192.168.1.100 // ip, რომლის გამოყენებაც გსურთ
ინტერფეისი wlan0
სტატიკური ip_address = 192.168.1.68
სტატიკური მარშრუტიზატორები = 192.168.1.1 // თქვენი ნაგულისხმევი კარიბჭე
დომენის_სახელის_სტატიკური სერვერი = 192.168.1.1
ამის შემდეგ შეინახეთ და გადატვირთეთ თქვენი pi.
ნაბიჯი 4: NodeMCU
დააინსტალირეთ საჭირო ბიბლიოთეკები Arduino IDE– ში NodeMCU– სთვის
1. გადადით ჩანახატზე ==> ბიბლიოთეკის ჩართვა ==> ბიბლიოთეკების მართვა.
2. მოძებნეთ mqtt და დააინსტალირეთ ბიბლიოთეკა Adafruit– ის მიერ, ან შეგიძლიათ დააინსტალიროთ ნებისმიერი ბიბლიოთეკა.
3. ეს დამოკიდებულია sleepydog ბიბლიოთეკაზე, ამიტომ ჩვენ გვჭირდება ეს ბიბლიოთეკაც.
პროგრამა მოცემულია ზემოთ, მხოლოდ იმის შესამოწმებლად, მუშაობს თუ არა ის. აქ მე არ შემქმნია არცერთი სკრიპტი RPi– ში. ჩვენ უბრალოდ ვიყენებთ ბრძანებებს ხელმოწერისა და გამოქვეყნების მიზნით. ჩვენ შემდგომში შევქმნით სკრიპტს კონტროლისთვის.
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "OFF"
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "TOGGLE"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "TOGGLE"
-h ==> მასპინძლის სახელი-t ==> თემა
-m ==> შეტყობინება
Mqtt_check პროგრამის შემოწმების შემდეგ ატვირთეთ სრული პროგრამა NodeMCU– ში
ნაბიჯი 5: პითონის სკრიპტი
როგორც ზემოთ განვიხილე, ჩვენ გვჭირდება პითონის სკრიპტი ღილაკების გამოყენებით led- ების გასაკონტროლებლად.ასე, ჩვენ ვაპირებთ შევქმნათ სკრიპტი. სკრიპტი მოცემულია ზემოთ.
როდესაც სკრიპტს აწარმოებთ, თქვენი სკრიპტი უნდა გამოიყურებოდეს ისე, როგორც სურათზეა ნაჩვენები, თუ შედეგის კოდი არ არის ნული, მაშინ ეს არის შეცდომა, რომლის შეცდომის შემოწმება შეგიძლიათ paho ვებსაიტზე.
ნაბიჯი 6: კავშირები და სქემის დიაგრამა
ღილაკის, LED კავშირი NodeMCU– თან
NodeMCU ===> ButtonGnd ===> Gnd
3.3V ===> PIN1
GPIO4 (D2) ===> PIN2
NodeMCU ===> LED
Gnd ===> კათოდი (-ვე)
GPIO5 (D1) ===> ანოდი (+ve)
ღილაკის, LED- ის RPi– სთან დაკავშირება
RPi ===> ButtonGnd ===> PIN1
GPIO 23 ===> PIN2
RPi ===> LED
Gnd ==> კათოდი (-ve)
GPIO 24 ===> ანოდი (+ve)
ნაბიჯი 7: შედეგი
დარწმუნდით, რომ სკრიპტი გაშვებულია, წინააღმდეგ შემთხვევაში მას არ შეუძლია აკონტროლოს led ღილაკები.
გირჩევთ:
როგორ გააკეთოთ მრავალჯერადი ESP საუბარი ESP-NOW– ით ESP32 და ESP8266 გამოყენებით: 8 ნაბიჯი
როგორ გავაკეთოთ მრავალჯერადი ESP საუბარი ESP-NOW– ით ESP32 და ESP8266 გამოყენებით: ჩემს მიმდინარე პროექტზე, მჭირდება მრავალი ESP ერთმანეთთან როუტერის გარეშე სასაუბროდ. ამისათვის მე ვიყენებ ESP-NOW– ს, რათა უკაბელო კომუნიკაცია მოხდეს ერთმანეთთან როუტერის გარეშე ESP– ზე
ვიბრაციული სენსორის მნიშვნელობის ატვირთვა IOT Thing- ში საუბარი NodeMCU გამოყენებით: 4 ნაბიჯი
ვიბრაციული სენსორის ღირებულების ატვირთვა IOT ThingSpeak– ის გამოყენებით NodeMCU– ს გამოყენებით: არსებობს რამდენიმე კრიტიკული მანქანა ან ძვირადღირებული მოწყობილობა, რომელიც დაზიანებულია ვიბრაციების გამო. ასეთ შემთხვევაში ვიბრაციის სენსორია საჭირო იმის გასარკვევად, აწარმოებს თუ არა მანქანა ან მოწყობილობა ვიბრაციებს. ობიექტის ამოცნობა, რომელიც
საუბარი არდუინოზე. - MP3– ის დაკვრა არდუინოსთან ერთად ყოველგვარი მოდულის გარეშე - MP3 ფაილის Arduino– დან დაკვრა PCM– ის გამოყენებით: 6 ნაბიჯი
საუბარი არდუინოზე. | MP3– ის დაკვრა არდუინოსთან ერთად ნებისმიერი მოდულის გარეშე | Arduino– დან Mp3 ფაილის დაკვრა PCM– ის გამოყენებით: ამ ინსტრუქციებში ჩვენ ვისწავლით თუ როგორ ვითამაშოთ arduino– ით mp3 ფაილი აუდიო მოდულის გამოყენების გარეშე, აქ ჩვენ გამოვიყენებთ PCM ბიბლიოთეკას Arduino– სთვის, რომელიც უკრავს 16 ბიტიან PCM– ს 8kHZ სიხშირით, ასე რომ, ამის გაკეთება
IoT Made Ease: ESP-MicroPython-MQTT-Thing საუბარი: 12 ნაბიჯი
IoT Made Ease: ESP-MicroPython-MQTT-ThingSpeak: ჩემს წინა სახელმძღვანელოში, MicroPython ESP– ზე Jupyter– ის გამოყენებით, ჩვენ ვისწავლეთ როგორ დაყენება და გაშვება ESP მოწყობილობაზე. Jupyter Notebook– ის, როგორც ჩვენი განვითარების გარემოს გამოყენებით, ჩვენ ასევე ვისწავლეთ სენსორების კითხვა (ტემპერატურა, ტენიანობა და სინათლე
უსაფრთხოების სისტემის შერწყმა Phidges- თან და Twitter- თან გასაოცრად: 8 ნაბიჯი
უსაფრთხოების სისტემის შერწყმა Phidges- თან და Twitter- თან გასაოცრობისთვის: მე ვცხოვრობ ბინაში, რომელიც აღჭურვილია უსაფრთხოების სისტემისთვის. არ მინდა სახლის სატელეფონო ხაზის ყიდვა და ადგილობრივი მონიტორინგის სერვისები არ არის გასაოცარი. მინდა ვიცოდე, ვინმე შემოვა თუ არა ჩემს ბინაში სანამ მე წავალ. შემიძლია გამოვიყენო მოძრაობის სენსორი, მაგრამ