Სარჩევი:

IoT გარე შინაური ცხოველის კარი: 6 ნაბიჯი (სურათებით)
IoT გარე შინაური ცხოველის კარი: 6 ნაბიჯი (სურათებით)

ვიდეო: IoT გარე შინაური ცხოველის კარი: 6 ნაბიჯი (სურათებით)

ვიდეო: IoT გარე შინაური ცხოველის კარი: 6 ნაბიჯი (სურათებით)
ვიდეო: ძალიან უხერხული და სასაცილო შემთხვევები 2024, ივლისი
Anonim
IoT გარე შინაური ცხოველის კარი
IoT გარე შინაური ცხოველის კარი
IoT გარე შინაური ცხოველის კარი
IoT გარე შინაური ცხოველის კარი
IoT გარე შინაური ცხოველის კარი
IoT გარე შინაური ცხოველის კარი
IoT გარე შინაური ცხოველის კარი
IoT გარე შინაური ცხოველის კარი

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

Adafruit IO და IFTTT ჩემს ESP8266– თან დაყენების და დაკავშირების შემდეგ, ჩემი ქათმის თანამშრომლობის კარი შეიძლება კონტროლდებოდეს ინტერნეტით. კარი შეიძლება გაიხსნას ან დაიხუროს:

1) ზუსტ დროს, როდესაც მე შევდივარ adafruit.io- ზე

2) ჩემს ტელეფონზე ღილაკის დაჭერით

3) ტექსტური შეტყობინების გაგზავნით კონკრეტულ ნომერზე

4) ღილაკზე დაჭერით adafruit.io

5) ფიზიკური ღილაკის დაჭერით

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

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

ეს ინსტრუქცია გადაგიყვანთ 12V ძრავის გასაკონტროლებლად საჭირო ტექნიკის შექმნის პროცესში, რომელიც ხსნის ან ხურავს ჩემს ქათმის თანამშრომლობის კარს.

მე გამოვიყენე შემდეგი ნაწილები:

Adafruit 32u4 433MHz RFM69HCW - 25 $

Adafruit MCP23017 I2C 16 შესასვლელი/გამომავალი პორტი გაფართოების IC - $ 2.95

ადაფრუტის ბუმბული HUZZAH ESP8266 WiFi– ით - $ 16.95

Adafruit Radio FeatherWing 433MHz RFM69HCW - $ 10

Adafruit SMA კონექტორი 1.6 მმ სისქის PCB– ებისთვის - $ 2.50

Adafruit uFL SMA ანტენის კონექტორი - $ 0.75

Adafruit RGB Push ღილაკი - $ 10.95

12V კვების ბლოკი - 7 $

5V USB კვების ბლოკი - 7 $

მიკრო USB კაბელი - $ 5

4 არხის სარელეო დაფა (შეუძლია გამოიყენოს 2 არხი)- $ 7

DC -DC Buck Converter (გამოიყენება მხოლოდ ერთი, მაგრამ მოყვება 5 ცალი პაკეტი) - $ 20

Reed Switch (კარის მაგნიტური გადართვის სენსორი) - $ 9

2x 433MHz Omnidirectional Antenna - $ 6

uFL to SMA საკაბელო ადაპტერი (გამოიყენება მხოლოდ ერთი, მაგრამ მოყვება 2 პაკეტი) - $ 5

წყალგაუმტარი გარე ABS პროექტის ყუთი - $ 11

შავი ABS პროექტის ყუთი - $ 10

20x4 ცისფერი პერსონაჟის LCD - 10 $

12V მანქანის ანტენის ძრავა - ~ 25 აშშ დოლარი იბეიზე

მავთულები და რეზისტორები

ნაბიჯი 1: გარე მიმღები

გარე მიმღები
გარე მიმღები
გარე მიმღები
გარე მიმღები

გარე მიმღები შედგება Adafruit 32u4– დან 433 MHz RFM69HCW– ით, რომელიც დაკავშირებულია რამდენიმე რელესთან, რომელიც ჩართავს ან გამორთავს 12 ვ ძრავას. ეს მოდულები, ასევე 12V 5V DC-DC კონვერტორი არის წყალგაუმტარი ნაცრისფერი პროექტის ყუთში. დაბოლოს, არის კარის გადამრთველის სენსორი, რომელიც დაკავშირებულია 32u4 Arduino მიკროკონტროლერის ერთ -ერთ ქინძისთავთან, რომელიც გრძნობს, კარი სწორად გაიხსნა თუ არა, როცა უნდა იყოს.

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

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

ნაბიჯი 2: გარე მიმღების აპარატურის დაკავშირება

გარე მიმღების აპარატურის დაკავშირება
გარე მიმღების აპარატურის დაკავშირება
გარე მიმღების აპარატურის დაკავშირება
გარე მიმღების აპარატურის დაკავშირება
გარე მიმღების აპარატურის დაკავშირება
გარე მიმღების აპარატურის დაკავშირება

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

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

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

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

ნაბიჯი 3: შიდა გადამცემი

შიდა გადამცემი
შიდა გადამცემი
შიდა გადამცემი
შიდა გადამცემი
შიდა გადამცემი
შიდა გადამცემი

შიდა გადამცემი შედგება Adafruit Radio FeatherWing 433MHz RFM69HCW, რომელიც თავზეა აწყობილი Adafruit Feather HUZZAH– ით ESP8266 WiFi– ით. ეს მოდულები უკავშირდება 20x4 სიმბოლოს ჩვენებას და RGB ვერცხლის ღილაკს შავ პროექტის ყუთში.

ეკრანს აქვს NTC სინქრონიზებული საათი, RSSI სიძლიერე dB- ში (ზომავს რადიო სიგნალების სიძლიერეს), დრო, როდესაც ქათმის თანამშრომლობის კარი გაიხსნება, დრო, როდესაც დაიხურება ქათმის თანამშრომლობის კარი და კარის ამჟამინდელი მდგომარეობა. ღილაკი არის წითელი როდესაც კარი დახურულია და მწვანე როდესაც კარი ღიაა.

თუ გარე მიმღები კარგავს ენერგიას ან თუ 433 მჰც სიგნალი ვერ გაიგზავნება რაიმე მიზეზის გამო, ჩვენება და RGB ღილაკი შევა შეცდომის ორი შესაძლო პირველიდან. პირველი შეცდომის რეჟიმში, ეკრანზე გამოჩნდება "ERROR! სცადეთ გარე მიმღების გადატვირთვა." და ღილაკს არ ექნება ფერი. თუ კარის გადამრთველის სენსორი აღმოაჩენს, რომ კარი არ იყო სათანადოდ დახურული ან გახსნილი, ეკრანი და RGB ღილაკი გადადის შეცდომის ორი რეჟიმიდან მეორეში. შეცდომის მეორე რეჟიმში ეკრანზე გამოჩნდება "ERROR! კარის ან გადამრთველის სენსორის პრობლემა". და ღილაკს არ ექნება ფერი. როდესაც პრობლემა მოგვარდება, ეკრანი და RGB ღილაკი ნორმალურ რეჟიმში დაბრუნდება. თქვენ შეგიძლიათ მიიღოთ შეტყობინებები თქვენს ტელეფონზე, თუ რომელიმე ეს შეცდომის რეჟიმი მოხდება (ამ პარამეტრს მოგვიანებით გადავხედავ).

ნაბიჯი 4: შიდა გადამცემის აპარატურის დაკავშირება

შიდა გადამცემის აპარატურის დაკავშირება
შიდა გადამცემის აპარატურის დაკავშირება
შიდა გადამცემის აპარატურის დაკავშირება
შიდა გადამცემის აპარატურის დაკავშირება

Adafruit Radio FeatherWing 433MHz RFM69HCW Adafruit Feather HUZZAH– ის თავზე დაწყობის შემდეგ ESP8266 WiFi– ით, დარჩენილია მხოლოდ 2 ქინძისთავი, რომელიც არ არის გადაღებული, I2C ქინძისთავები SDA და SCL. ამიტომაც მივედი MCP23017 ინტეგრირებულ წრეზე (IC). ეს არის მართლაც მაგარი IC, რომელიც აკავშირებს 16 – მდე დამატებით შეყვანის/გამომავალი ქინძისთავს ნებისმიერ მიკროკონტროლერთან I2C– ზე. გარდა ამისა, არსებობს წინასწარ დაწერილი ბიბლიოთეკა სახელწოდებით Adafruit-RGB-LCD-Shield, რომელიც იყენებს ამ IC– ს პერსონაჟების ჩვენებით, რომელიც ტექნიკურად არის დაწერილი ამ Adafruit პროდუქტისთვის, თუმცა, ის მშვენივრად მუშაობს ამ პროექტისთვის.

MCP23017 სიმბოლოების ჩვენების გამოყენების იდეა ამ ძალიან კარგად დაწერილი ინსტრუქციიდან მოდის. გთხოვთ გადაამოწმოთ!

მე ავიღე ეს სასწავლო და იმის ნაცვლად, რომ მრავალი ღილაკი და RGB დისპლეი IC– ს დავუკავშირე, მხოლოდ ერთი ღილაკი შევაერთე, რომელსაც შიგნით ჰქონდა RGB LED და მონოქრომული ჩვენება IC– სთან. ამან მომცა საშუალება განვსაზღვრო IC– ს PIN 1 (როგორც წესი, გამოიყენება RGB ეკრანის ცისფერი შუქისთვის), როგორც ჩემი მონოქრომული ეკრანის შუქნიშანი, PIN 28 (ჩვეულებრივ გამოიყენება RGB ეკრანის მწვანე შუქისთვის), როგორც წითელი LED შიგნით. ღილაკი და PIN 27 (ჩვეულებრივ გამოიყენება RGB ეკრანის წითელი შუქისთვის), როგორც მწვანე LED ღილაკის შიგნით. PIN 24 უკავშირდებოდა ღილაკის ერთ მხარეს და მეორე მხარეს მიწასთან. თქვენ ხედავთ ღილაკს pinout სურათზე ზემოთ (მე დავტოვე ლურჯი კათოდი გათიშული).

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

თქვენ მოგიწევთ სამი ქინძისთავის შემოკლება FeatherWing 433MHz RFM69HCW თავზე, როგორც ეს განმარტებულია ამ Adafruit– ის სახელმძღვანელოში. თქვენ ასევე მოგიწევთ ანტენის მიმაგრება FeatherWing 433MHz RFM69HCW. გთხოვთ გადახედოთ ადაფრუტის მართლაც კარგად ახსნილ სამეურვეოს ამ ნაბიჯზე. მე ავირჩიე გამოვიყენო გარე ანტენა გვერდით დამონტაჟებული SMA კონექტორით მავთულის ნაცვლად უკეთესი დიაპაზონის მისაღებად.

ნაბიჯი 5: დაკავშირება Adafruit. IO და IFTTT

დაკავშირება Adafruit. IO და IFTTT
დაკავშირება Adafruit. IO და IFTTT
დაკავშირება Adafruit. IO და IFTTT
დაკავშირება Adafruit. IO და IFTTT

ადაფრუტი IO:

გთხოვთ მიჰყევით ამ Adafruit სამეურვეო ინსტრუქციას Adafruit. IO– ზე დარეგისტრირებისთვის, თუ არ გაქვთ ანგარიში. თქვენ ასევე უნდა წაიკითხოთ რა არის არხი და დაფა.

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

ჯერ შექმენით ოთხი არხი:

1) "ქათმის გადატრიალება" ეს არის ღია/დახურული გადამრთველისთვის

2) "Chicken Coup Timer" ეს არის ღია ტაიმერისთვის

3) "Chicken Coup Timer 2" ეს არის დახურული ტაიმერისთვის

4) "Chicken Coup Error Message" ეს არის შეცდომის შეტყობინებებისათვის

შექმენით დაფა შემდეგი სახელწოდებით Chicken Coup და დაამატეთ 4 ბლოკი ლურჯი + ღილაკის გამოყენებით. გთხოვთ იხილოთ სურათი ზემოთ ბლოკების ტიპებისათვის, რომლებიც უნდა განათავსოთ, ასევე ბლოკების სახელები. დარწმუნდით, რომ დაასახელეთ გადართვის სტატუსი ზუსტად "გახსნილი" და "დახურული"

IFTTT:

ამ პროექტის IFTTT ნაწილი ამატებს შესაძლებლობას დააჭიროთ ღილაკს თქვენს ტელეფონზე და გაგზავნოთ ტექსტი ქათმის თანამშრომლის კარის გასახსნელად ან დახურვისთვის. ის ასევე საშუალებას აძლევს IFTTT აპლიკაციას გამოგიგზავნოთ push შეტყობინებები, თუ რაიმე გამოქვეყნდება Chicken Coup Error Message feed- ში. თუ არ გსურთ ეს შესაძლებლობები, შეგიძლიათ გამოტოვოთ ეს განყოფილება.

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

ნაბიჯი 6: ატვირთეთ კოდი და შეცვალეთ WiFi SSID და პაროლი

თქვენ უნდა გაიაროთ ადაფრუტის სამეურვეო პროგრამის ეს გვერდი, რომ შეძლოთ შიდა გადამცემში კოდის ატვირთვა.

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

თქვენ უნდა დააინსტალიროთ RFM69 ბიბლიოთეკა, Adafruit_RGBLCDShield ბიბლიოთეკა, NTC საათის ბიბლიოთეკა სახელწოდებით simpleDSTadjust და ტიკერის ბიბლიოთეკა. თქვენ შეგიძლიათ იპოვოთ გაკვეთილი, თუ როგორ უნდა გააკეთოთ ეს აქ.

გახსენით Arduino IDE და ატვირთეთ "Outdoor_Receiver.ino" კოდი გარე Arduino 32u4– ზე USB კაბელის საშუალებით.

შემდეგ გახსენით "Indoor_Transmitter.ino", გახსენით config.h ჩანართი და ჩაწერეთ თქვენი WiFi სახელი (SSID) და პაროლი ბრჭყალებში. შემდეგ, მიიღეთ თქვენი Adafruit. IO მომხმარებლის სახელი და IO გასაღები ამ სამეურვეო გვერდის დაცვით და შეიყვანეთ იგი config.h ჩანართში.

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

AdafruitIO_Feed *toggleSwitch = io.feed ("ქათმის გადატრიალება");

AdafruitIO_Feed *ქრონომეტრი = io.feed ("Chicken Coup Timer");

AdafruitIO_Feed *timer2 = io.feed ("Chicken Coup Timer 2");

AdafruitIO_Feed *შეცდომა = io.feed ("ქათმის გადატრიალების შეცდომის შეტყობინება");

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

გირჩევთ: