Სარჩევი:

მწვანე სახლის ავტომატიზაცია: 11 ნაბიჯი
მწვანე სახლის ავტომატიზაცია: 11 ნაბიჯი

ვიდეო: მწვანე სახლის ავტომატიზაცია: 11 ნაბიჯი

ვიდეო: მწვანე სახლის ავტომატიზაცია: 11 ნაბიჯი
ვიდეო: რა ხდება კანონიერი ქურდების საკნებში 2024, ივლისი
Anonim
მწვანე სახლის ავტომატიზაცია
მწვანე სახლის ავტომატიზაცია

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

ნაბიჯი 1: საჭირო კომპონენტები

კომპონენტები საჭირო
კომპონენტები საჭირო
კომპონენტები საჭირო
კომპონენტები საჭირო
კომპონენტები საჭირო
კომპონენტები საჭირო

ზოგიერთი აუცილებელი კომპონენტი ჩამოთვლილია ქვემოთ

1. ჟოლოს PI მოდელი B

2. NodeMCU განვითარების საბჭო

3. ESP8266 Wifi მოდული

4. ტენიანობის სენსორი

5. DHT11 ტემპერატურისა და ტენიანობის სენსორი

6. 5V ერთარხიანი სარელეო

7. 5V წყალქვეშა ტუმბო

8. პურის დაფა

9. პურის დაფის ელექტრომომარაგების მოდული

ნაბიჯი 2: ენა და პროტოკოლი

ენა და პროტოკოლი
ენა და პროტოკოლი
ენა და პროტოკოლი
ენა და პროტოკოლი
ენა და პროტოკოლი
ენა და პროტოკოლი
  • C ენა გამოიყენება მიკროკონტროლერებისთვის.
  • MQTT შეტყობინებები: MQTT ნიშნავს MQ Telemetry Transport. ეს არის გამოქვეყნების/გამოწერის, უკიდურესად მარტივი და მსუბუქი შეტყობინებების პროტოკოლი, რომელიც შექმნილია შეზღუდული მოწყობილობებისთვის და დაბალი გამტარუნარიანობით, მაღალი შეყოვნებით ან არასაიმედო ქსელებისთვის. დიზაინის პრინციპებია ქსელის გამტარუნარიანობის და მოწყობილობის რესურსების მოთხოვნების მინიმუმამდე შემცირება, ასევე საიმედოობისა და მიწოდების უზრუნველყოფის გარკვეული ხარისხის მცდელობა. ეს პრინციპები ასევე გამოდის, რომ პროტოკოლი იდეალური გახდება დაკავშირებული მოწყობილობების "მანქანა-მანქანამდე" (M2M) ან "ნივთების ინტერნეტი" სამყაროში და მობილური აპლიკაციებისთვის, სადაც გამტარუნარიანობა და ბატარეის სიმძლავრე პრიმიტიულია.
  • პითონის პროგრამა გამოიყენება წყლის ნაკადის ავტომატიზაციისთვის და მონაცემთა ბაზების კავშირი.

ნაბიჯი 3: Eclipse Mosquitto MQTT ბროკერი

Eclipse Mosquitto MQTT ბროკერი
Eclipse Mosquitto MQTT ბროკერი

აქ მე გამოვიყენე Mosquitto MQTT ბროკერი კვანძებს შორის მარტივი შეტყობინების კომუნიკაციისთვის.

Eclipse Mosquitto არის ღია კოდის (EPL/EDL ლიცენზირებული) შეტყობინებების ბროკერი, რომელიც ახორციელებს MQTT პროტოკოლის ვერსიებს 5.0, 3.1.1 და 3.1. Mosquitto არის მსუბუქი და შესაფერისია ყველა მოწყობილობაზე გამოსაყენებლად დაბალი სიმძლავრის ერთჯერადი ბორტ კომპიუტერიდან სრულ სერვერებამდე.

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

Mosquitto პროექტი ასევე უზრუნველყოფს C ბიბლიოთეკას MQTT კლიენტების განსახორციელებლად და ძალიან პოპულარული mosquitto_pub და mosquitto_sub ბრძანების ხაზის MQTT კლიენტებს.

ნაბიჯი 4: მონაცემთა ნაკადი მთლიან პროექტში

ზემოთ სურათზე კვანძებია

  1. NodeMCU
  2. ჟოლოს PI
  3. ESP8266

NodeMCU არის მწვანე სახლის ზონდირების ნაწილი და ESP8266 არის ამოქმედებული ნაწილი, რომელიც ამარაგებს წყალს, როდესაც მიწას სჭირდება წყალი სენსორების მიხედვით.

ჟოლოს PI შეიცავს Mosquitto ბროკერს და პითონის კლიენტს, რომელიც იწერს შეტყობინებებს MQTT ბროკერიდან და ინახავს მონაცემებს SQL სერვერზე.

ნაბიჯი 5: სენსორების კავშირი NodeMCU– სთან

სენსორების კავშირი NodeMCU– სთან
სენსორების კავშირი NodeMCU– სთან

DHT11 ტემპერატურისა და ტენიანობის სენსორს და წყლის ტენიანობის სენსორს შეუძლია იმუშაოს 3.3 ვოლტზე.

NodeMCU ვერ უზრუნველყოფს 3.3 ვოლტზე მეტს. ამრიგად, სენსორებს შეუძლიათ უშუალოდ დაუკავშირდნენ NodeMCU მიკროკონტროლის დაფას.

ნაბიჯი 6: წყალქვეშა ტუმბოს კავშირი ESP8266– თან

წყალქვეშა ტუმბოს კავშირი ESP8266– თან
წყალქვეშა ტუმბოს კავშირი ESP8266– თან
წყალქვეშა ტუმბოს კავშირი ESP8266- თან
წყალქვეშა ტუმბოს კავშირი ESP8266- თან

წყალქვეშა ტუმბო გამოიყენება წყლის მიწოდებისთვის საჭიროების შემთხვევაში.

წყლის ტუმბოს მუშაობისთვის სჭირდება 5 ვოლტიანი ელექტროენერგიის მიწოდება.

ძრავის დასაკავშირებლად საჭიროა ერთი არხის რელე. როდესაც ESP8266– ის GPIO2 პინი გააქტიურებულია რელე ჩართულია და ავტომატურად ამარაგებს წყალს წყალქვეშა წყლის ტუმბოს გამოყენებით.

აქ გარე კვების ბლოკი მიეწოდება ESP8266 დაფას, სარელეო და წყალქვეშა ტუმბოს.

ჩემი სრული ტექნიკური კავშირი არის ზემოთ სურათზე.

ნაბიჯი 7: Mosquitto Broker– ის დაყენება და პითონის პროგრამის გაშვება Raspberry Pi– ში

ქვემოთ მოცემულია ნაბიჯები Mosquitto ბროკერის დაყენებისათვის ჟოლოს PI– ში

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

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

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

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

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

მან ავტომატურად უნდა დაიწყოს კოღო.

სერვისის შესაჩერებლად და დასაწყებად, მე უნდა გამოვიყენო

სუდო სერვისი კოღოს გაჩერება

sudo სერვისი დაიწყოს კოღო

საიტების უმეტესობა აღმოვაჩინე, სადაც ვიყენებ ფორმატს.

sudo /etc/init.d/mosquitto გაჩერება

ნაბიჯი 8: როგორ მუშაობს MQTT?

როგორ მუშაობს MQTT?
როგორ მუშაობს MQTT?

MQTT არის ერთ -ერთი ყველაზე ხშირად გამოყენებული პროტოკოლი IoT პროექტებში. ეს ნიშნავს Message Queuing Telemetry Transport.

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

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

* როდესაც მოწყობილობას (კლიენტს) სურს მონაცემების გაგზავნა ბროკერთან, ჩვენ ამ ოპერაციას ვუწოდებთ "გამოქვეყნებას".

* როდესაც მოწყობილობას (კლიენტს) სურს მიიღოს ბროკერის მონაცემები, ჩვენ ამ ოპერაციას ვუწოდებთ "გამოწერას".

ნაბიჯი 9: პროგრამირება NodeMCU და ESP8266

ქვემოთ მოცემულია NodeMCU და ESP8266 მიკროკონტროლერის დაფის საწყისი კოდი

ნაბიჯი 10: ვებ გვერდის შექმნა და SQL მონაცემთა ბაზასთან დაკავშირება

ვებ გვერდი შექმნილია HTML, CSS და PHP ენების გამოყენებით.

PHP გამოიყენება სენსორული მონაცემების მონაცემთა ბაზიდან ამოსაღებად და HTML გვერდზე გამოსაჩენად.

პითონის პროგრამა გამოიყენება როგორც ამ პროექტის გული.

სამუშაოები, რასაც პითონის პროგრამა აკეთებს, არის შემდეგი.

  1. იგი იწერს თემას, რომელშიც სენსორი აგზავნის სენსორის კითხვას.
  2. ის აქვეყნებს წყლის ტუმბოს ჩართვის/გამორთვის ბრძანებას MQTT ბროკერს.
  3. ის ინახავს სენსორის კითხვას SQL მონაცემთა ბაზაში.

აქ ჩემს შემთხვევაში პითონის პროგრამა და SQL მონაცემთა ბაზა არის ლეპტოპში. ვებ გვერდი გადის ადგილობრივი მასპინძლის მეშვეობით.

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

ნაბიჯი 11: სრული მუშაობა

სრული მუშაობა
სრული მუშაობა

ქვემოთ მოცემულია ნაბიჯები, რომლითაც პროცესი მიმდინარეობს.

  1. NodeMCU მუშაობს როგორც მგრძნობიარე ნაწილი და კითხულობს ტემპერატურას, ტენიანობას და ნიადაგის ტენიანობის დონეს.
  2. ის უგზავნის კითხვას MQTT ბროკერს თემაზე "თემა 1"
  3. ლეპტოპში პითონის პროგრამა მუშაობს და ის იწერს თემას "თემა 1" MQTT ბროკერთან ერთად.
  4. როდესაც NodeMCU აგზავნის კითხვას, Mosquitto MQTT ბროკერი დაუყოვნებლივ აგზავნის მონაცემებს პითონის პროგრამაში.
  5. პითონის პროგრამა ითვლის, არის თუ არა საჭირო წყალი მწვანე სახლში. შემდეგ ის ინახავს კითხვებს SQL მონაცემთა ბაზაში.
  6. თუ წყალი საჭიროა მწვანე სახლში, მაშინ პითონის პროგრამა გამოაქვეყნებს წყლის ტუმბოს ჩართვას/გამორთვას შეტყობინებას Mosquitto MQTT ბროკერთან თემაზე "თემა 2"
  7. ESP8266 მუშაობს როგორც გამტარებელი. იგი იწერს თემას "თემა 2", რომელ თემაში პითონის პროგრამა აქვეყნებს შეტყობინებას. როდესაც პითონის პროგრამა გამოაქვეყნებს რაიმე შეტყობინებას, მაშინ შეტყობინება დაუყოვნებლივ გადადის ESP8266– ზე. ჩართვის/გამორთვის შეტყობინების თანახმად, მან ჩართო/გამორთო წყალქვეშა წყლის ტუმბო.
  8. ბოლო ეტაპი, რომ ნახოთ ცოცხალი კითხვა ვებ გვერდზე. ვებ გვერდი იღებს მონაცემებს SQL მონაცემთა ბაზიდან, რომელშიც პითონის პროგრამა ინახავს მონაცემებს პირდაპირ და აჩვენებს მონაცემებს გვერდზე.

გირჩევთ: