Სარჩევი:

ძლიერი დამოუკიდებელი სახლის ავტომატიზაციის სისტემა - Pi, Sonoff, ESP8266 და Node -Red: 9 ნაბიჯი (სურათებით)
ძლიერი დამოუკიდებელი სახლის ავტომატიზაციის სისტემა - Pi, Sonoff, ESP8266 და Node -Red: 9 ნაბიჯი (სურათებით)

ვიდეო: ძლიერი დამოუკიდებელი სახლის ავტომატიზაციის სისტემა - Pi, Sonoff, ESP8266 და Node -Red: 9 ნაბიჯი (სურათებით)

ვიდეო: ძლიერი დამოუკიდებელი სახლის ავტომატიზაციის სისტემა - Pi, Sonoff, ESP8266 და Node -Red: 9 ნაბიჯი (სურათებით)
ვიდეო: США БОЯТСЯ ПАРАДА СЕВЕРНОЙ КОРЕИ 2024, ივლისი
Anonim
ძლიერი დამოუკიდებელი სახლის ავტომატიზაციის სისტემა - Pi, Sonoff, ESP8266 და Node -Red
ძლიერი დამოუკიდებელი სახლის ავტომატიზაციის სისტემა - Pi, Sonoff, ESP8266 და Node -Red

ეს სახელმძღვანელო უნდა მიგიყვანოთ პირველ ბაზაზე, სადაც შეგიძლიათ ჩართოთ/გამორთოთ შუქი ან მოწყობილობა ნებისმიერი მოწყობილობის საშუალებით, რომელსაც შეუძლია თქვენს ადგილობრივ ქსელთან დაკავშირება და შესანიშნავი პერსონალური ვებ ინტერფეისი. გაფართოების/ მახასიათებლების დამატების სფერო უზარმაზარია, მათ შორის ელ.ფოსტის გაგზავნა, ტვიტერის შეტყობინებები, კითხვის სენსორები (მაგ. ტემპერატურა). თქვენ მარტივად შეგიძლიათ დააწესოთ წესები მაგ. - თუ ღამით 23 საათზე ტემპერატურა 15 გრადუსზე ნაკლებია, ჩართეთ ელექტრო საბანი 30 წუთის განმავლობაში. სისტემა იყენებს MQTT პროტოკოლს TCP– ით, რაც მნიშვნელოვნად უფრო საიმედოა ვიდრე UDP - რომელსაც გასაკვირი იყენებს სახლის კომერციული ავტომატიზაციის ზოგიერთი მოწყობილობა. მას შემდეგ, რაც აქ აღწერილი სისტემის შექმნის მძიმე სამუშაო დასრულდა, გართობა შეიძლება დაიწყოს. Node Red გთავაზობთ ფანტასტიკურ ინტერფეისს, რომელიც არის ინტუიციური, სწრაფი და მარტივი და უზრუნველყოფს საოცარ შესაძლებლობებს.

შედეგი არის სახლის ავტომატიზაციის მძლავრი სისტემა, რომელიც მთლიანად საკუთარი კონტროლის ქვეშაა და მთლიანად ადგილობრივ ქსელშია. Instructables– ზე ნაჩვენები ბევრი სისტემა მუშაობს ღრუბელზე დაფუძნებულ სერვერებთან და, შესაბამისად, წარმოადგენს უსაფრთხოების რისკს და შეიძლება მოითხოვოს ხელმოწერა. მათი შექმნა უფრო ადვილია, მაგრამ მათ აქვთ უსაფრთხოების მაღალი რისკი და პოტენციურად უფრო მაღალი ღირებულება. მე უნდა დავამატო, რომ Pi– ზე შეიძლება შეიქმნას VPN (ვირტუალური კერძო ქსელი), რათა შესაძლებელი იყოს სახლის ქსელთან/სისტემასთან უსაფრთხო კავშირის დამყარება, თუ გარედან წვდომა სასარგებლო იქნება (Google Pi OpenVPN ინსტრუქციისთვის).

ეს სისტემა მოითხოვს Sonoff მოწყობილობების გადაპროგრამებას დიდი ღია სისტემის დიდი სახელწოდებით Sonoff-Tasmoda. ეს შეიძლება გაკეთდეს სპეციალური Arduino კონფიგურაციის და USB სერიული კონვერტორის გამოყენებით. Sonoff მოწყობილობები იყენებენ ESP8266 Wi-Fi ჩიპს, ასე რომ თქვენ ასევე შეგიძლიათ შექმნათ თქვენი საკუთარი მოწყობილობები ESP8266 მოდულების გამოყენებით ან მოათავსოთ ისინი სხვა ნივთებზე უკაბელო კავშირის უზრუნველსაყოფად.

ყველაზე დიდი ამოცანაა Raspberry Pi- ს ცენტრად ჩამოყალიბება. ეს მუშაობს MQTT ბროკერზე (ან სერვერზე), რომელიც მართავს კავშირს დაკავშირებულ მოწყობილობებთან. Pi ასევე აწარმოებს სისტემას სახელწოდებით Node-Red, რომელსაც შეუძლია შეტყობინებების, მონაცემების და გამომავალი ბრძანებების ჩაჭრა-მაგალითად, როდის უნდა ჩართოთ ელექტრო საბანი. Node-Red ასევე გთავაზობთ ინტერფეისს, რომელიც ემსახურება ვებ გვერდს, სადაც შეგიძლიათ შეხვიდეთ სმარტფონის/ტაბლეტის/კომპიუტერის/ლეპტოპის საშუალებით, რომ ნახოთ რა ხდება და ჩართოთ შუქების ხელით გადართვა და ასე შემდეგ.

ჩემი მიზანია ამ ინსტრუქციის საშუალებით მივცე ყოველი ნაბიჯი იმდენად დეტალურად, რომ ახალბედა მომხმარებელს შეეძლოს სისტემის მუშაობა.

ნაბიჯებია:

  • ჩატვირთეთ Pi Rasbian Stretch– ით
  • განაახლეთ და დაამატეთ ფუნქციები Node-Red- ში
  • დააინსტალირეთ Mosquitto MQTT ბროკერი
  • შექმენით Arduino გარემო Sonoff-Tasmota firmware– ის ატვირთვისთვის
  • ხელახლა დაპროგრამეთ Sonoff გადამრთველი
  • დააყენეთ Node-Red ინტერფეისი
  • შეამოწმეთ ყველაფერი მუშაობს.

აპარატურა დაგჭირდებათ:

  • ჟოლო Pi და კვების ბლოკი (და კლავიატურა და მონიტორი პირველადი დასაყენებლად) (მოდელი B გამოიყენება აქ)
  • სონოფის გადამრთველი
  • USB სერიული გადამყვანი
  • სურვილისამებრ - ESP განვითარების დაფა, როგორიცაა NodeMCU.

ჩემი გამოცდილება Raspberry Pi– სთან არის ის, რომ რაიმეს დაყენება, როგორც ჩანს, გაცილებით მეტ ტკივილს შეიცავს, ვიდრე ოდესმე წარმოიდგენდა, რომ რაღაცეები არ მუშაობდნენ ან რაღაც უმნიშვნელო საფეხურზე იჭერდნენ, სადაც ახსნა უკეთესი იქნებოდა. ფორუმები ყოველთვის არ იღებენ რჩევებს, რომლებიც მუშაობს! მე ვიპოვე რამდენიმე მარშრუტი, რომლებიც უბრალოდ არ მუშაობდა ამა თუ იმ მიზეზის გამო. ეს ღირს 3 დღე! შემდეგ მე გავწმინდე ყველაფერი და დავიწყე ახლიდან და დავასრულე (არანაკლებ) ერთ დღეში. ამან გამოიყენა ძველი რასპიანი ჯესი. ამის შემდეგ ვიპოვე საშუალება გამოვიყენო ახლანდელი და ახლახანს გამოშვებული ვერსია (Stretch) და ეს ყველაფერი ისევ გავაკეთე. ეს სახელმძღვანელო საშუალებას გაძლევთ დააკოპიროთ და ჩასვათ ინსტრუქციები Pi- ში. ასე რომ თქვენ უნდა დაასრულოთ რამდენიმე საათში. ყოველ შემთხვევაში, ვიმედოვნებ, რომ ეს აჩქარებს სწავლის მრუდს და გაცილებით ნაკლებ ტკივილს. დამიჯერეთ ღირს საბოლოო შედეგისთვის.

ნაბიჯი 1: ჩატვირთეთ Pi Rasbian Stretch– ით

ეს უნდა იყოს საკმაოდ პირდაპირი. დაიწყეთ 8 გბ ან 16 გიგაბაიტი SD ბარათით. ჩამოტვირთეთ უახლესი ვერსია:

www.raspberrypi.org/downloads/

მთავარი თემა აქ ვარაუდობს, რომ სრული ვერსია დატვირთულია. თუმცა, შეგიძლიათ გამოიყენოთ Lite ვერსია სივრცის დასაზოგად. თუ იყენებთ Raspbian Stretch Lite– ს, გააგრძელეთ ეს ნაბიჯი და შემდეგ გადადით ბოლოს 9 – ზე.

გადმოწერილი ფაილის გახსნა იძლევა საქაღალდეს.img ფაილით. 7Zip რეკომენდირებულია Windows (და Unarchiver Mac). სურათი უნდა დაიწეროს SD ბარათზე - მაგრამ სპეციალური პროგრამა უნდა იქნას გამოყენებული, რადგან ფაილური სისტემა არ არის თავსებადი Windows- თან. რეკომენდირებულ პროგრამულ უზრუნველყოფას ჰქვია Etcher და მისი გადმოწერა შესაძლებელია:

etcher.io/

Etcher– ის ინსტრუქციები მათ ვებგვერდზეა და ძნელად შეიძლება იყოს უფრო მარტივი. შეარჩიეთ სურათი და დისკი და დააჭირეთ Flash- ს.

ახლა ჩვენი flashed SD ბარათი, რომელსაც შეუძლია Pi გაშვება.

თუ იცით IP მისამართი, რომელსაც იყენებს Pi ან სიამოვნებით პოულობთ მას როუტერზე შესვლით, მაშინ შეგიძლია თავიდან აიცილოთ კლავიატურის და მონიტორის საჭიროება და დაუყოვნებლივ გამოიყენოთ SSH. უბრალოდ დაამატეთ ცარიელი ფაილი სახელად SSH SD ბარათს, ჩადეთ, დაუკავშირდით Ethernet- ს და ჩართეთ. წინააღმდეგ შემთხვევაში მიჰყევით ქვემოთ მოცემულ სახელმძღვანელოს.

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

არსებობს გზამკვლევი კარგი სამუშაოსთვის YouTube ვიდეოზე. აქ დავიწყე. თქვენ შეგიძლიათ გაუშვათ ვიდეო ამ მითითებების შესაბამისად. თუმცა, როდესაც ამ პროცესს ისევ ვატარებდი, ამის წერისას უფრო გამიადვილდა აქ მითითებების შესრულება. არის რამოდენიმე მნიშვნელოვანი გადახრა. ასევე არის რამდენიმე განყოფილება, სადაც მე გირჩევთ ვიდეოს თვალი ადევნოთ, ვიდრე ნაბიჯების აქ ჩამოთვლა. მე გირჩევთ შეხედოთ მას MQTT, Node-Red და ფართო დაყენების პროცესის გასაგებად. ვიდეოს ხანგრძლივობაა 38 წუთი, ასე რომ თავს კომფორტულად იგრძნობთ. ვიდეო იწყება იმის ჩვენებით, თუ რისი გაკეთება შეუძლია Node Red- ს, შემდეგ კი მოიცავს Pi- ს ინსტალაციას და კონფიგურაციას, რასაც მოჰყვება Node Red- ის განახლება და ბოლოს Mosquitto- ს დაყენება. ძირითადი დრო იმ შემთხვევაში, თუ გსურთ სექციაში დაბრუნება:

00:00 შესავალი ვიდეო

03:00 კვანძი წითელი დემონსტრაცია

14:14 დაფის ერთეულების იმპორტი წითელ კვანძში

21:05 Pi საწყისი დაყენება, მათ შორის SSH

23:35 Node Red დამხმარე კოდის დაყენება

27:00 შესავალი MQTT– ში

29:12 Mosquitto (MQTT) ინსტალაცია (შენიშვნა მუშაობს მხოლოდ Raspian Jessie– სთვის)

33:00 კვანძის წითელი მაგალითები

მე ჩამოვთვლი ბრძანებებს თამამი შრიფტით (ვიდრე ""). ეს ფორმატირება იგნორირებულია, როდესაც მათ დააკოპირებთ და ჩასვამთ Pi- ში.

Node Red– ის შესავალი მოგცემთ წარმოდგენას, თუ რა შეუძლია გააკეთოს სისტემამ და მოგაწოდებთ სურათს, თუ სად დავასრულებთ.

YouTube ვიდეო არის აქ:

დაიცავით ინსტალაციის პროცედურა 21:05 საათიდან 23:35 საათამდე. გაითვალისწინეთ ნაგულისხმევი შესვლა არის მომხმარებელი: pi და პაროლი: ჟოლო. გადატვირთვის წინ იპოვნეთ pi- ს IP მისამართი. დააწკაპუნეთ დესკტოპის ზედა ზოლში "ზემოთ+ქვემოთ ისარი" ხატულაზე ან შეიყვანეთ შემდეგი ინსტრუქცია ტერმინალ/ტერმინალის ფანჯარაში:

sudo ifconfig მისამართი

შემდეგ გაითვალისწინეთ IP მისამართი შემდეგ: inet addr:. ეს იქნება 192.168.x.y სახით

გაითვალისწინეთ ეს მისამართი და გადატვირთეთ (შეიყვანეთ: sudo shutdown –r now)

ამ ეტაპზე მთავარი ის არის, რომ SSH ჩართულია და თქვენ შეგიძლიათ შექმნათ ბმული Pi– დან კომპიუტერიდან (Mac და Linux მოიცავს SSH ინტერფეისებს). ამის კარგი პროგრამაა უფასო ჩამოტვირთვა სახელწოდებით PuTTY, რომელიც ასევე შეიძლება გამოყენებულ იქნას როგორც სერიული ინტერფეისი და შეუძლია Telnet– ის გაკეთება. Putty ხელმისაწვდომია:

www.chiark.greenend.org.uk/~sgtatham/putty…

ჩამოტვირთეთ და დააინსტალირეთ PuTTY.

ახლა, როდესაც Pi გადატვირთულია, დაიწყეთ PuTTY და შეიყვანეთ ადრე მითითებული IP მისამართი. იხილეთ მაგალითი ქვემოთ:

ახლა დააჭირეთ გახსნას

შესვლის შემდეგ როგორც: შეიყვანეთ pi

შემდეგ შეიყვანეთ თქვენი პაროლი.

მიჰყევით აქ მითითებებს და სურვილისამებრ დაიწყეთ ვიდეო 23:35 საათიდან. უმეტეს შემთხვევაში შეგიძლიათ დააკოპიროთ და ჩასვათ. მონიშნეთ ტექსტი და გამოიყენეთ ctrl+C კოპირებისთვის. შემდეგ დააწკაპუნეთ მარჯვენა ღილაკით PuTTY ჩასასმელად. ზოგჯერ ტექსტი დაუყოვნებლივ არ ჩანს, ასე რომ დაელოდეთ რამდენიმე წამს. თუ ორჯერ შეიყვანთ, გამოიყენეთ უკანა სივრცე მეორე ჩანაწერის წასაშლელად. დააჭირეთ Enter- ს თითოეული ინსტრუქციის შესასრულებლად.

sudo raspi- განახლება

მე მივიღე ბრძანება, რომელიც არ იქნა ნაპოვნი და უგულებელყო ეს და შემდეგი გამორთვის/გადატვირთვის ინსტრუქცია:

sudo გამორთვა -r ახლა

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

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

ამას ცოტა დრო სჭირდება ….

sudo apt-get ავტომატური გადაადგილება

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

sudo გამორთვა -r ახლა

ამ ეტაპზე ჩვენ გვაქვს Pi ოპერაციული სისტემა დატვირთული და განახლებული, მზად შემდეგი ნაბიჯისათვის.

ნაბიჯი 2: განაახლეთ და დაამატეთ ფუნქციები Node-Red- ში

PuTTY კავშირი დაიკარგება გადატვირთვისას წინა ნაბიჯის ბოლოს. ასე დახურეთ PuTTY და Pi- ს ჩატვირთვის ლოდინის შემდეგ, ისევ შედით ისე, როგორც ადრე.

მე გადავედი უფრო მარტივ და საიმედო მეთოდზე Node-Red ჩატვირთვისთვის-მიდგომის შემდეგ https://nodered.org/docs/hardware/raspberrypi. ეს იყენებს სკრიპტს და დააინსტალირებს ან განაახლებს Node-Red-ასე რომ მიდგომა იგივეა Raspbian Stretch– ის სრული ან lite ვერსიებიდან. ასე რომ შეიყვანეთ:

bash <(curl -sL

შეიყვანეთ Y როდესაც მოთხოვნილია (ორჯერ). ეს სკრიპტი ასევე იტვირთება ფაილები, რომლებიც საჭიროა Node-Red– ის ავტომატური ჩართვის გასააქტიურებლად.

ამ მომენტში ჩვენ გვაქვს ჩვენი pi დატვირთული და განახლებული და Node Red– ისთვის საჭირო განახლებებით. მომდევნო ეტაპის დაწყებამდე გადატვირთვა არ არის საზიანო.

sudo გამორთვა -r ახლა

ნაბიჯი 3: Mosquitto MQTT ინსტალაცია

თუ ეს ჯერ არ გაგიკეთებიათ, ღირს MQTT– ს ვიდეო შესავლის ნახვა ვიდეოზე 27:00 საათიდან.

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

ასე რომ, შედით PuTTY– ს გამოყენებით და შეიყვანეთ შემდეგი:

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

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

Y

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

sudo /etc/init.d/mosquitto დაწყება

ბოლო ორი ინსტრუქცია ჩერდება და იწყებს კოღოს და აჩვენებს, რომ ჩვენი MQTT ბროკერი მუშაობს.

სწრაფი ტესტისთვის გახსენით კიდევ ორი PuTTY სესია და შედით თითოეულ მათგანზე.

თქვენ უკვე იცით, რომ MQTT მუშაობს მოწყობილობის მიერ და საჭიროებს მონაცემებს, რომლებიც არის გამოწერილი „თემის“. ბროკერი გამოგიგზავნით ნებისმიერ მონაცემს იგივე 'თემით'. შემდეგ მოწყობილობა, რომელსაც სურს მონაცემების/ინსტრუქციის გაგზავნა, აქვეყნებს ამას ბროკერთან იგივე "თემის" გამოყენებით.

ასე რომ, ერთ PuTTY სესიაზე შეიყვანეთ:

mosquitto_sub -d -t გამარჯობა/სამყარო

ეს არის ინსტრუქცია თემის გამოსაწერად: გამარჯობა/სამყარო.

მეორეში შეიყვანეთ:

mosquitto_pub -d -t hello/world -m "გამარჯობა ტერმინალის ფანჯრიდან 2!"

ეს არის გამოქვეყნების ინსტრუქცია იმავე თემაზე შეტყობინებით. ტექსტი: "გამარჯობა ტერმინალის ფანჯრიდან 2!" ახლა უნდა გამოჩნდეს სხვა ტერმინალში.

კარგად გააკეთე აქამდე წასვლა. ჩვენ ახლა გვაქვს Pi დატვირთული და განახლებული Node-Red– ისთვის საჭირო განახლებებით და მწერების MQTT ბროკერით დაინსტალირებული და გამოცდილი. ამიერიდან ცხოვრება უფრო ადვილი და სახალისო ხდება. დახურეთ ორი PuTTY სესია, რომელიც გამოიყენება MQTT ტესტისთვის.

ნაბიჯი 4: კვანძის წითელი ინტერფეისის დაყენება

პირველ რიგში ჩვენ უნდა დავიწყოთ Node Red. შეიყვანეთ ინსტრუქცია:

node-red-pi-max-old-space-size = 256

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

ახლა გახსენით ბრაუზერი, მე ვიყენებ Chrome- ს და შეიყვანეთ ადრე მითითებული pi IP მისამართი, რასაც მოჰყვება: 1880 ანუ რაღაც 192.168.0.8:1880

ახლა თქვენ უნდა გქონდეთ Node Red პროგრამირების გვერდი, როგორც ქვემოთ:

ახლა თქვენ შეგიძლიათ მიჰყევით Node Red მაგალითებს 33:00 საათიდან ან გადადით უშუალოდ მცირე დამატებით კონფიგურაციაზე და ჩატვირთეთ პირველი ნაკადი, რომელიც აჩვენებს MQTT– ს ბმულს და მზად იქნებით მართოთ ჩვენი გადამრთველი.

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

ეს ნაჩვენებია ვიდეოზე 14:14 საათზე.

მიჰყევით ინსტრუქციას კვანძი-წითელი დაფის ჩასატვირთად.

ახლა ჩვენ შეგვიძლია ვითამაშოთ და ვაჩვენოთ MQTT, რომელიც მუშაობს და მართავს Node-Red- ს. ეს არ არის ვიდეოში, მაგრამ არის მთავარი ამ პროექტისთვის. თქვენ შეგიძლიათ მიყევით ჩემს მითითებებს და/ან შემოიტანოთ ნაკადები თანდართული NRtest1.txt ფაილიდან.

ჯერ დაამატეთ შეყვანის ინექციის კვანძი და გამომავალი mqtt კვანძი და დააკავშირეთ ისინი ერთმანეთთან.

ორჯერ დააწკაპუნეთ ინექციის კვანძზე (რომელიც თავდაპირველად აღინიშნება დროის ნიშნული). Payload განყოფილებაში გამოიყენეთ twiddly სტრიქონად შესაცვლელად და შეიყვანეთ: გამარჯობა ჩემგან. დატოვეთ თემა ცარიელი, რადგან ჩვენ შეგვიძლია ეს ჩავწეროთ MQTT კვანძში. დააწკაპუნეთ შესრულებულია

ახლა ორჯერ დააწკაპუნეთ MQTT კვანძზე. დააწკაპუნეთ ფანქრის ხატულაზე სერვერის განყოფილების მარჯვნივ. ეს ხსნის ახალ დიალოგს. სერვერის განყოფილებაში შეიყვანეთ: localhost. დააწკაპუნეთ დამატებაზე. ახლა, დაბრუნდით კვანძში Edit mqtt, შეიყვანეთ ჩვენი თემა თემის განყოფილებაში: გამარჯობა/სამყარო. დააყენეთ QoS 1 -ზე. დააწკაპუნეთ შესრულებულია. ახლა დააწკაპუნეთ განლაგებაზე. თქვენ უნდა ნახოთ მწვანე ლაქა და "დაკავშირებული" mqtt კვანძის ქვემოთ.

ახლა დაამატეთ კიდევ ორი კვანძი - შეყვანის mqtt და გამომავალი გამართვა და შეაერთეთ ეს ერთმანეთთან. ახლა ორჯერ დააწკაპუნეთ შეყვანის mqtt კვანძზე და ჩაწერეთ hello/world თემის განყოფილებაში. სერვერმა უკვე უნდა აჩვენოს localhost: 1883. დააყენეთ QoS 1 -ზე. დააწკაპუნეთ შესრულებულია. შემდეგ დააწკაპუნეთ განლაგებაზე და დააწკაპუნეთ გამართვის ჩანართზე მარჯვენა სარკმელზე. ახლა დააწკაპუნეთ ნაცრისფერ კვადრატზე ინექციის კვანძის "გამარჯობა ჩემგან" მარცხნივ. ეს აგზავნის ტექსტის დატვირთვას MQTT ბროკერთან თემაზე: გამარჯობა/სამყარო. ბროკერმა იცის, რომ mqtt შეყვანის კვანძს აქვს გამოწერილი იგივე თემა და აგზავნის დატვირთვას. Mqtt შეყვანის კვანძი შემდეგ აგზავნის ამას გამართვის ჩანართზე (RHS) და გამოჩნდება ტექსტი "გამარჯობა ჩემგან".

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

ახლა ჩვენ შეგვიძლია გავაკეთოთ რამდენიმე მცირე ცვლილება და შევქმნათ ნაკადები ჩვენი Sonoff გადამრთველისთვის.

ასე რომ წაშალეთ შეყვანის ინექციის კვანძი (დააწკაპუნეთ მონიშნეთ და დააჭირეთ წაშლის ღილაკს). ახლა დაამატეთ გადამრთველი დაფის განყოფილებიდან და დაუკავშირეთ იგი mqtt გამომავალს. ორჯერ დაჭერით გადამრთველი. დააწკაპუნეთ ფანქარზე ჯგუფის მარჯვნივ. შეიყვანეთ სახელი: სინათლე. შემდეგ დააწკაპუნეთ ფანქარზე ჩანართის მარჯვნივ და შეიყვანეთ სახელის განყოფილებაში: ლაუნჯი. დააწკაპუნეთ დამატება/განახლება და კვლავ დამატება/განახლება. ახლა, უკან შეცვლის კვანძში, დააყენეთ ჩართული და გამორთული დატვირთვები. გამოიყენეთ twidlys სტრიქონის შესარჩევად და შეიყვანეთ ON on payload და OFF for OFF payload. დააწკაპუნეთ შესრულებულია

ახლა გადადით თითოეულ mqtt კვანძზე და შეცვალეთ თემა cmnd/sonoff/POWER. თუ დააკოპირეთ და ჩასვით, შეამოწმეთ, რომ ბოლოს არ გაქვთ ჩართული ადგილი. ეს სხვა თემაა და სონოფთან არ იმუშავებს. მაწანწალა სივრცის პოვნას შეიძლება ერთი საათი დასჭირდეს - დამიჯერე! მეც გადავედი დაფაზე> თემა და ავირჩიე: Dark. დააწკაპუნეთ განლაგებაზე და შეარჩიეთ გამართვის ჩანართი.

ახლა გახსენით ბრაუზერის ახალი სესია ახალ ფანჯარაში და შეაფასეთ ის მობილური ტელეფონის მსგავსად Node Red სესიის განმავლობაში. შეიყვანეთ მისამართი: თქვენი Pi IP მისამართი: 1880/ui/#/0, ანუ რაღაც 192.168.0.8:1880/ui/#/0. თქვენ უნდა ნახოთ ეკრანი Lounge და Light და გადართოთ. დააწკაპუნეთ ჩართვაზე და შემდეგ გამორთვაზე. გამართვის ფანჯარაში უნდა იყოს ნაჩვენები ჩართული და გამორთული დატვირთვები. თუ გსურთ, ასევე შედით მობილურით. გაითვალისწინეთ, რომ გადართვის პოზიცია სინქრონიზებულია. არ აქვს მნიშვნელობა, რომ ჩვენი სონოფი ჯერ არ არის დაკავშირებული. როდესაც ის იქნება, თემის ხელმოწერით, ის მიიღებს შეტყობინებას/დატვირთვას და იმოქმედებს მასზე.

ბოლო პატარა ნაბიჯი არის ის, რომ Node Red ავტომატურად დაიწყოს Pi ჩატვირთვის შემდეგ.

Node Red– ს აქვს სახელმძღვანელო:

თუმცა, საჭირო ფაილები უკვე დატვირთულია, ამიტომ ინსტალაცია არ არის საჭირო.

შემდეგ რომ Node-RED ჩართოთ ავტომატურად ყველა ჩატვირთვისას და ავარიისას შეიყვანეთ (გახსენით PuTTY სესია):

sudo systemctl ჩართვა nodered.service

თუ ოდესმე გჭირდებათ ამის გამორთვა შეიყვანეთ:

sudo systemctl გამორთეთ nodered.service

ახლა გამორთეთ pi sudo გამორთვით და გამორთეთ ძალა.

ეს არის ჩვენი Pi ჩაკეტილი და ჩატვირთული მზად მოქმედებისთვის. ჩვენ გვაქვს ჩვენი კომპიუტერი/მობილური ტელეფონი, რომელიც უკავშირდება Node Red- ს და ეს საუბრობს ჩვენს MQTT სერვერზე. ეს იყო დიდი ხნის მანძილზე და ღირს დიდი დარტყმა ზურგზე. კარგად გააკეთე. მე აღმოვაჩინე შემდეგი, Arduino bit, კარგი გარიგება უფრო ადვილია!

ნაბიჯი 5: არდუინოს სისტემის დაყენება Sonoff მოწყობილობების გადაპროგრამებისათვის

ამის შესახებ ყველა ინფორმაცია არის Sonoff-Tasmota GitHub– ში. ერთადერთი, რაც გამიჭირდა იყო თემის ტექსტი - მაგრამ მე უკვე მზაკვრულად მიბიძგეთ, რომ შეხვიდეთ ამაში!

გადადით

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

ვიდრე ყოველ ნაბიჯზე გავდივარ, მე უბრალოდ აღვნიშნავ ძირითად ასპექტებს, რომლებიც ვიგრძენი, რომ მნიშვნელოვანი იყო ან დავრჩებოდი.

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

მე მივყევი რეკომენდაციას Arduino– ს სრულიად ცალკე დაყენებისთვის. მე შევქმენი ახალი საქაღალდე სახელწოდებით "ArduinoSonoff", რომელიც ცალკეა ჩემი არსებული Arduino საქაღალდისთვის. დაყენება საკმაოდ მოწინავეა და, შესაბამისად, მისი ცალკე შენახვა ძალიან კარგი იდეაა. თუ ეს თქვენი Arduino– ს პირველი კონფიგურაციაა, დარწმუნდით, რომ დააინსტალირეთ მეორედ ‘Arduino’ - ში ან სხვა საქაღალდეში Arduino– ს ნებისმიერი სხვა სამუშაოსთვის, ESP8266– ზე მუშაობის ჩათვლით.

ჩამოტვირთეთ უახლესი Arduino IDE https://www.arduino.cc/en/Main/Software. გახსენით ფაილი თქვენს ახალ საქაღალდეში.

ინსტრუქცია მოიცავს Sonoff-Tasmoda სისტემის ჩამოტვირთვას https://github.com/arendst/Sonoff-Tasmota მთავარი გვერდიდან: კლონირება ან ჩამოტვირთვა> ZIP ZIP. გახსენით ფაილი თქვენს ახალ საქაღალდეში.

მიჰყევით ინსტრუქციას ყურადღებით. მე არ გავაკეთე სურვილისამებრ: მომზადება OTA ატვირთვის განყოფილებისთვის. ჩვენ ამას სხვა დღეს დავტოვებთ.

ახლა დაიწყეთ Arduino IDE (ორჯერ დააწკაპუნეთ arduino.exe). ჩატვირთეთ Sonoff-Tasmota ესკიზი ფაილის> Sketchbook> sonoff– ის საშუალებით. არ არის საჭირო რაიმე შესწორების გაკეთება. ყველა პარამეტრი ხდება სერიული კავშირის საშუალებით, მას შემდეგ, რაც firmware დატვირთულია. ისინი ინახება EEPROM– ში. ამრიგად, firmware შეიძლება განახლდეს და შეინარჩუნოს ყველა პარამეტრი. ეს საკმაოდ ჭკვიანი რამეა. თუმცა, თქვენ შეგიძლიათ თავიდან აიცილოთ რამდენიმე ნაბიჯის გადადგმა მომხმარებლის-config.h ფაილზე გადასვლით და თქვენი wifi SSID და პაროლი და MQTT_HOST (შეცვალეთ „domus1“-მეორე მითითება, თქვენი Pi IP მისამართით).მოგვიანებით შეიძლება დაგჭირდეთ MQTT მომხმარებლის და პაროლის შეყვანაც. გადმოტვირთვის წინ შეამოწმეთ დაფის პარამეტრები ინსტრუმენტებში. ამას დასჭირდება რამდენიმე ცვლილება, რათა შეესაბამებოდეს ვიკიში მითითებულ მოთხოვნებს. ახლა დააჭირეთ შედგენას (მონიშნეთ ხატი). უნდა შეადგინოს OK. თუ ეს ასე არ არის ან დაფის საჭირო პარამეტრები მიუწვდომელია, დაბრუნდით და შეამოწმეთ დაყენების თითოეული ნაბიჯი.

ნაბიჯი 6: სონოფის გადამრთველის გადაპროგრამება

ჩვენ ახლა მზად ვართ გადმოსაწერად. ამ ეტაპზე თქვენ შეგიძლიათ ან პირდაპირ წახვიდეთ და აანთოთ Sonoff გადამრთველი, ან შეგიძლიათ პირველად აანთოთ ESP8266 მოდული. მე ეს უკანასკნელი გავაკეთე, ნაწილობრივ იმიტომ, რომ ჩემი კონცენტრატორები ჯერ არ იყო მოსული (უბრალოდ ჩამოვიდა, როგორც მე ვწერ ამას!), მაგრამ ასევე სიფრთხილის გამო, რადგან Sonoff გადამრთველის მოციმციმე არის ცალმხრივი ნაბიჯი, რადგან ორიგინალური firmware არ არის საჯაროდ ხელმისაწვდომი რამდენადაც მე ვარ ინფორმირებული. მე მაქვს რამდენიმე NodeMCU დაფა. ეს არის ადვილი დასაკავშირებელი, მათ აქვთ ბორტზე USB სერიული გადამყვანი. თუმცა nodemcu გადატვირთვის მეთოდი არ მუშაობს ამ სისტემასთან. ასე რომ დატოვეთ Tools> Reset Method მითითებული "ck". შეასრულეთ ფლეშის ჩვეულებრივი მექანიკური დაყენება Flash ღილაკის დაჭერით (GPIO 0 მიწაზე) დაჭერისას და გაშვებისას Reset (Reset ადგილზე). მე არ ვარ დარწმუნებული აქვს თუ არა ამას ვადა, ან იქნებ მე GPIO 0 საკმარისად დიდხანს არ მქონდა დაბალი, მაგრამ მე მჭირდებოდა რამდენიმე მცდელობა, მათ შორის ამის გაკეთება Arduino IDE- ს შედგენისას!

თუ გსურთ შეამოწმოთ პასუხები - სარელეო გამომავალი არის D6 NodeMCU დაფებზე. ESP12– ზე ეს არის GPIO 12. LED გამომავალი არის D7 (NodeMCU) ან GPIO 13 (ESP12).

სონოფის გადამრთველი.

გაფრთხილება: მე უნდა ვთქვა "ნუ დაუკავშირდებით ქსელს არავითარ გარემოებებში, როდესაც კორპუსი ღიაა". გაითვალისწინეთ, რომ PCB- ს (ყოველ შემთხვევაში, Sonoff Basic– ზე (ხაზოვანი გადამრთველი) აქვს მხოლოდ „ერთიანი იზოლაციის“დისტანციები დაბალი ძაბვის ნაწილსა და მაგისტრალს შორის. ასე რომ, Sonoff– ის მიკროსქემის ნებისმიერი ნაწილი უნდა განიხილებოდეს, როგორც მაგისტრალური ძაბვა. Tasmota GitHub აჩვენებს ტემპერატურისა და ტენიანობის სენსორის დაკავშირებას Sonoff S20- თან. მე ამას იზოლაციის გამო არ გავაკეთებ. ან დამიწებული ელექტრომომარაგება.

Sonoff S20 დანამატი არის კარგი ამოსავალი წერტილი, რადგან მას არ სჭირდება ქსელის გაყვანილობა. ამის გახსნა შესაძლებელია ერთი ხრახნის ამოღებით (უსაფრთხოების ბეჭდის ქვეშ) და ქეისის გახსნით. ქვემოთ მოყვანილი ფოტო გვიჩვენებს სად არის წარწერები. ამ წერტილებში საქმის შეკუმშვა ეხმარება.

USB სერიული გადამყვანი

ჩემი საყვარელი კონვერტორი არის FTDI ვერსია. თუმცა ამას არ გააჩნია ადექვატური შესაძლებლობა Sonoff 3.3v საჭიროებების დასაკმაყოფილებლად. FTDI სპეციფიკაციაში ნათქვამია, რომ მაქსიმუმ 50 მ. შემდეგი საუკეთესო ალტერნატივა არის CP2102 ჩიპის გამოყენება. ამასთან, მას აქვს 100 მ ლიმიტი, რომელიც ჯერ კიდევ არ არის საკმარისი. ცხადია, ბევრი იყენებს ამ გადამყვანს პირდაპირ, მაგრამ არის ცნობები ჩატვირთვის ჩავარდნის შესახებ. მე შევზღუდავ მასთან დაკავშირების დროს, რადგან გაცხელდება დატვირთვის ქვეშ. გააკეთე ეს შენივე რისკით. იდეალური გადაწყვეტაა გქონდეთ 3.3 ვ რეგულატორიც, მაგ. AMS1117 3.3. მე შევქმენი პატარა PCB ამის გასააქტიურებლად. იხილეთ პროგრამისტი Sonoff მოწყობილობებისთვის.

ჩემი პროგრამირების თანმიმდევრობა ასეთია:

გახსენით Arduino IDE.

ინსტრუმენტების ქვეშ შეამოწმეთ პარამეტრები, როგორც ვიკიზე.

განახორციელეთ ნებისმიერი ცვლილება, რომელიც საჭიროა user_config.h– ზე. მე დავაყენე Wifi SSID და პაროლი და MQTT საბროკერო მისამართი და დროის ზონის/დღის დანაზოგების დეტალები.

დააწკაპუნეთ 'გადამოწმებაზე', რომ შეამოწმოთ OK ადგენს.

შეაერთეთ USB სერიული გადამყვანი (დამოუკიდებლად) კომპიუტერთან. გაითვალისწინეთ პორტის ნომერი.

ახლა გათიშეთ USB სერიული კაბელი კომპიუტერიდან და დაუკავშირეთ Sonoff გადამრთველს. შეამოწმეთ მიწა და 3v3 კავშირი არის სწორი გზა (მიწა უკავშირდება მიწის ზედაპირს Sonoff PCB– ზე).

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

ახლა შეაერთეთ USB კაბელი კომპიუტერში, შეამოწმეთ პორტის ნომერი სწორია (ინსტრუმენტებში), შემდეგ დააჭირეთ ჩამოტვირთვას.

პროგრამის განმავლობაში ვაგრძელებ ღილაკის დაჭერას, რადგან არ მინდა კავშირების დარღვევა.

დასრულების შემდეგ თქვენ უნდა ნახოთ ეკრანი, როგორც ქვემოთ:

გამოსახულება
გამოსახულება

ჩვენს სისტემასთან დასაკავშირებლად Sonoff– ს სჭირდება რამდენიმე ბიტიანი ინფორმაცია: ადგილობრივი ქსელის wifi SSID და პაროლი და Pi IP მისამართი. ამის გაკეთების რამდენიმე გზა არსებობს, რომელთაგან ერთი არის კონფიგურაციის ფაილის შეცვლა, როგორც უკვე აღვნიშნეთ. თუ თქვენ გაქვთ სმარტფონი, შეგიძლიათ (გადამრთველის ხელახლა აწყობის შემდეგ) დააწკაპუნოთ Sonoff ღილაკზე 4-ჯერ საკმაოდ სწრაფად, რათა ის ვებ-სერვერის რეჟიმში ჩართოთ. LED აანთებს. რამდენჯერმე მომიწია ცდა, რომ ეს გამეშვა. შემდეგ, თქვენს სმარტფონზე მოძებნეთ ახალი Sonoff ქსელი და დაუკავშირდით. გამოჩნდება ვებ გვერდი, სადაც შეგიძლიათ დააყენოთ საჭირო მონაცემები. Pi IP მისამართი შედის მასპინძლის სახელში. მე ასევე შევცვალე მეორე SSID და პაროლი რაღაც გრძელი და ძირითადად გამოუსადეგარი.

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

ბრძანებები შესასვლელად:

SSId თქვენი Wi -FiSSID

პაროლი თქვენი WiFiPassword

MqttHost 192.168.x.y (PI IP მისამართი)

თქვენ ასევე შეგიძლიათ შეიყვანოთ SSId1 და Password1 რასაც მოყვება რაღაც გრძელი და გამოუსადეგარი ამის ეფექტურად გამორთვისთვის.

ახლა თქვენ შეგიძლიათ შეკრიბოთ Sonoff გადამრთველი, გახსნათ Node-Red და Node-red დაფა და დააჭიროთ გადამრთველ ღილაკს და დაათვალიეროთ გამართვის ჩანართი, რომელიც ახლა უნდა შეიცავდეს Sonoff– ის პასუხებს. ასე რომ, ჩვენ გვაქვს კიდევ ერთი მნიშვნელოვანი ნაბიჯი - ჩვენი პირველი გადართვა ხდება კომპიუტერიდან/სმარტფონიდან.

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

ნაბიჯი 7: უსაფრთხოება

MQTT საშუალებას აძლევს მომხმარებლის სახელებს და პაროლებს თითოეული კლიენტისთვის. ამის დაყენება ადვილია. ალბათ უფრო ადვილია ჯერ თითოეული მოწყობილობის სახელის გადარქმევა, შემდეგ მათი მომხმარებლის სახელებისა და პაროლების დაყენება. ეს შეიძლება გაკეთდეს MQTT ბრძანებების საშუალებით, ხოლო Node-Red ალბათ ყველაზე მარტივი გზაა მათ გასაგზავნად. ჯერ გადაწყვიტეთ დასახელების კონვენცია. ერთი ვარიანტია სახელების დაფუძნება ადგილმდებარეობისა და ფუნქციის მიხედვით. შემდეგ თქვენ მოისურვებთ ჩაწეროთ სახელი (თემა) მომხმარებლის სახელი და პაროლი, სათადარიგო თემასთან ერთად. გაითვალისწინეთ, რომ ასევე არსებობს "გადატვირთვის ვარიანტი", რათა გადატვირთოთ Sonoff პარამეტრები თავდაპირველ გადმოწერაზე (იხ. ვიკის გამოყენება> ღილაკის ფუნქციონირება).

ჩართეთ pi და რამდენიმე წამის შემდეგ გახსენით ბრაუზერი Node-Red (IP მისამართი: 1880).

Node-Red- ში დააყენეთ ინექციის კვანძი და დააკავშირეთ ეს mqtt გამომავალთან და დააყენეთ mqtt სერვერი localhost- ზე. დატოვეთ თემა, მომხმარებელი და პაროლი ცარიელი, რადგან ჩვენ ამას დავაყენებთ ინექციის კვანძში. ასევე დააყენეთ mqtt შეყვანის კვანძი და შეაერთეთ ეს გამართვის კვანძთან, რათა ვნახოთ პასუხები. დააყენეთ mqtt შეყვანის ჩანაწერი localhost– ზე (უკვე მითითებული უნდა იყოს) და შეიყვანეთ+/+/+თემისთვის, რათა დაიჭიროს მთელი ტრაფიკი.

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

პირველი შეამოწმეთ კავშირი

თემა: cmnd/sonoff/სტატუსი

შეტყობინება: 6

დააწკაპუნეთ "ინექცია ერთხელ დასაწყისში". განლაგება. ჩვენ უნდა დავინახოთ გამართვა მონაცემების 7 სტრიქონის ჩათვლით stat/sonoff/STATUS6

შეიყვანეთ თემა: cmnd/sonoff/თემა და შეტყობინება: loungelight. განლაგება. ეს ცვლის სახელის შეცვლას sonoff– დან loungelight– ზე

გამართვის ჩანართზე უნდა იყოს ნაჩვენები მოწყობილობა, რომელიც იწყება ახალი სახელით/თემით

თემა: cmnd/loungelight/MqttUser

შეტყობინება: loungelight

დააწკაპუნეთ განლაგებაზე. გამართვა უნდა ნახოთ stat/loungelight/RESULT– დან {“MtqqUser” - ით:”loungelight”}

თემა: cmnd/loungelight/MqttPassword

შეტყობინება: loungelightPW (შენიშვნა იყავით ამაზე მეტად წარმოსახვითი!)

გაასუფთავეთ გამართვის ჩანართი და განათავსეთ.

პასუხი უნდა ნახოთ stat/loungelight/RESULT– დან {"MqttPassword": "loungelightPW"}

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

შეამოწმეთ ისევ

თემა: cmnd/loungelight/სტატუსი და შეტყობინება: 6. განლაგება.

და რომ პასუხი იგზავნება.

ამ მომენტში ჩვენ შევცვალეთ ჩვენი Sonof მოწყობილობა, ასე რომ ის მოუსმენს cmnd/loungelight/…… თემებს და შევა MQTT განყოფილებაში მომხმარებლის სახელი loungelight და პაროლი loungelightPW. ჩვენ ასევე დავაყენეთ მომხმარებლის სახელი და პაროლი Node-Red– ისთვის.

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

პროცედურა არის:

  • გააჩერე კოღო
  • შექმენით საკუთარი კონფიგურაციის ფაილი
  • კონფიგურაციის ფაილის რედაქტირება
  • შექმენით პაროლის ფაილი
  • დაამატეთ მომხმარებლები/პაროლები.

ასე რომ, შედით ახალი PuTTY სესიით და გაუშვით შემდეგი ბრძანებები:

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

cd /etc/mosquitto/conf.d/

sudo nano mosquitto.conf ეს იწყებს რედაქტორს.

დაამატეთ ხაზები:

ნებადართულია ანონიმური ყალბი

password_file /etc/mosquitto/conf.d/passwd

მოითხოვოს_მოწმობა ყალბი

შეინახეთ და გამოდით (Ctrl+X), Y, შეიყვანეთ.

sudo touch passwd ეს ქმნის პაროლის ფაილს და შემდეგი ინსტრუქციები დაამატებთ სახელებს და პაროლებს.

sudo mosquitto_passwd -b /etc/mosquitto/conf.d/passwd loungelight loungelightPW

sudo mosquitto_passwd -b /etc/mosquitto/conf.d/passwd NodeRed NodeRedPW

sudo /etc/init.d/mosquitto გადატვირთვა

გაითვალისწინეთ ახალი მოწყობილობის დამატებისას თქვენ უნდა შეიყვანოთ მომხმარებელი და პაროლი სერიული პორტის საშუალებით და დაამატოთ ისინი პაროლის ფაილში ან დროებით შეცვალოთ კოღოს კონფიგურაციის ფაილი და გამოაქვეყნოთ კომენტარი (დაამატეთ # ხაზის დასაწყისში) სტრიქონები "ნებადართულია ანონიმური ყალბი "და" password_file /etc/mosquitto/conf.d/passwd "და შემდეგ გადააყენეთ ისინი, როდესაც დეტალები გაიგზავნება მოწყობილობაში და დაემატება პაროლის ფაილს, როგორც ზემოთ.

ჩვენ შევცვალეთ sonoff სახელი loungelight და ასე განვაახლეთ mqtt გამომავალი კვანძი (დაკავშირებულია გადამრთველთან) თემის cmnd/loungelight/POWER გამოსაყენებლად.

დააწკაპუნეთ განლაგებაზე და შეამოწმეთ mqtt კვანძების ჩვენება 'დაკავშირებულია'.

შემდეგ სცადეთ გადართვის ღილაკი და მოძებნეთ გამართული შეცდომა, რომელიც აჩვენებს Sonoff გადამრთველს. თქვენ შეამჩნევთ, რომ მოწყობილობა აჩვენებს ცვლილებას თემაზე: stat/loungelight/POWER. ახლა შეცვალეთ შეყვანის კვანძი, რომელიც იყო cmnd/sonoff/POWER, stat/loungelight/POWER. ჩვენ შეგვიძლია გამოვიყენოთ ეს საფარი უფსკრული ჩვენს ფუნქციურობაში. სისტემა, როგორც თავდაპირველად შეიქმნა, იქნება სინქრონიზებული ყველა რეგისტრირებულ მომხმარებელთან, მაგრამ არ იქნება სინქრონიზებული სონოფის გადამრთველზე ღილაკის დაჭერით განხორციელებული ცვლილებების ცვლილებებთან. ახლა შეაერთეთ stat/loungelight/POWER mqtt შეყვანის კვანძის გამომავალი გადართვის შეყვანისას (LHS). ახლა ორჯერ დააწკაპუნეთ გადამრთველზე და მონიშნეთ "თუ შეტყობინება შემოდის შეყვანისას, გაიარეთ გამომავალი". ეს წარმოშობს რამდენიმე ახალ ვარიანტს - აირჩიეთ "გადართვის ხატი აჩვენებს შეყვანის მდგომარეობას". განლაგება. ახლა ჩვენ გვაქვს კარგი გამოხმაურების მარყუჟი. დაფის გადართვის პოზიცია ყოველთვის შეიცვლება როდესაც Sonoff გადამრთველი იცვლება, მიუხედავად იმისა, თუ სად დაიწყო ცვლილება.

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

ნაბიჯი 8: გაფართოების საწყისი ნაბიჯები

მე მაქვს სხვა ინსტრუქციული სახლის ავტომატიზაციის Sonoff-Tasmota სენსორების LED- ების განვითარების დაფა, რომელიც აჩვენებს Sonoff-Tasmota firmware– ის შემდგომ შესაძლებლობებს:

ტემპერატურისა და ტენიანობის გაზომვა

შემოჭრის ამოცნობა (შეყვანის შეცვლა)

IR დისტანციური (ტელევიზორებისთვის და ა.

LED სტრიქონები - ორივე RGB და NeoPixel (ინდივიდუალურად მიმართვადი)

I2C სენსორები

ზემოაღნიშნულისთვის მე ვიყენებ ESP12F და პერსონალურ PCB- ს. NodeMCU და breadboard თანაბრად შეიძლება გამოყენებულ იქნას. ეს საშუალებას აძლევს ამ დამატებით ფუნქციებს Sonoff მოწყობილობაში გაყვანილობის გარეშე და, შესაბამისად, ბევრად უფრო უსაფრთხო მიდგომაა. ტემპერატურის შეყვანისას მე შევძელი ჩემი ელექტრო საბანის ავტომატიზაციის დასრულება.

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

მე ასევე ვიკვლევ Node-Red- ს, მათ შორის ელ.ფოსტის გაგზავნას და ხმოვანი სიგნალების მიღებას. ასევე არსებობს სისტემის პოტენციალი გამოავლინოს როდესაც თქვენ ხართ/გარეთ - დააწკაპუნეთ თქვენი მობილური ტელეფონის IP მისამართით. Node -Red– ს ასევე შეუძლია ამინდის და სიახლეების წვდომა - ასე რომ თქვენ შეგიძლიათ დაამატოთ ინფორმაცია, ასევე ავტომატიზაცია.

რამდენიმე ხრიკი უნდა ვისწავლოთ - მაგრამ ეს მეორედ ხდება მკვდარი.

კიდევ ერთი გამზირი დაამატებს ეკრანს pi- ს, რომ აჩვენოს დაფა. ეს არის "მუშაობა მიმდინარეობს" - ან სხვა სიტყვებით რომ ვთქვათ, მე არ ვარ ძალიან ბედნიერი. ეკრანი, რომელიც მე მივიღე, ძნელია გადავიდეს პორტრეტულ რეჟიმში და Chromium ბრაუზერი მტკივნეულად ნელია. ალტერნატივა იქნება ძველი ტაბლეტის აღება ebay– ზე და მისი გამოყენება. მე შემიძლია ვცადო Pi 2 -ით და ვნახო, იძლევა თუ არა ეს საკმარის გაუმჯობესებას (B მოდელი გამოიყენება ამ განვითარებისათვის).

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

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

მაიკ

ნაბიჯი 9: დამატება - იტვირთება Raspbian Stretch Lite– დან

ეს ვარიანტი თავს არიდებს bloatware– ს, რომელსაც გააჩნია Raspbian Stretch– ის სრული ვერსია. ამის უმეტესობა არ იქნება საჭირო სახლის ავტომატიზაციისთვის Pi- ს გამოყენებისას. თუმცა Node-Red ნამდვილად უნდა იყოს დაინსტალირებული.

გააგრძელეთ როგორც ნაბიჯი 1, მაგრამ გამოიყენეთ Raspbian Stretch Lite და არა Raspbian Stretch.

Step2– ის ნაცვლად გააკეთეთ შემდეგი:

sudo apt -y დააინსტალირეთ npm

npm -v უნდა დაბრუნდეს: 1.4.21 ან გვიან

sudo npm ინსტალაცია -g n

sudo n 8.9.0

ახლა ჩვენ შეგვიძლია გამოვიყენოთ კვანძის პაკეტის მენეჯერი Node-Red– ის ინსტალაციისთვის:

sudo npm დააინსტალირეთ კვანძი-წითელი-გლობალური-დაუცველი პერმის

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

ჩვენ ახლა გვაქვს Node-Red და მისი დამხმარე პაკეტები დაინსტალირებული და შეგვიძლია გადავიდეთ მე –3 საფეხურზე, კოღოს ჩატვირთვაზე.

უკაბელო კონკურსი
უკაბელო კონკურსი
უკაბელო კონკურსი
უკაბელო კონკურსი

მეორე ადგილი უკაბელო კონკურსში

გირჩევთ: