Სარჩევი:

Wifi to RF - კარის ჩაკეტვა: 3 ნაბიჯი (სურათებით)
Wifi to RF - კარის ჩაკეტვა: 3 ნაბიჯი (სურათებით)

ვიდეო: Wifi to RF - კარის ჩაკეტვა: 3 ნაბიჯი (სურათებით)

ვიდეო: Wifi to RF - კარის ჩაკეტვა: 3 ნაბიჯი (სურათებით)
ვიდეო: 📻Советское WiFi интернет радио! Своими руками 2024, ივლისი
Anonim
Wifi to RF - კარის ჩაკეტვა
Wifi to RF - კარის ჩაკეტვა
Wifi to RF - კარის ჩაკეტვა
Wifi to RF - კარის ჩაკეტვა
Wifi to RF - კარის ჩაკეტვა
Wifi to RF - კარის ჩაკეტვა

მიმოხილვა

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

ვარაუდები

ეს გასაგები ვარაუდობს, რომ თქვენ უკვე გაქვთ (ან დააინსტალირებთ):

  • OpenHAB (უფასო ღია კოდის სახლის ავტომატიზაციის პროგრამული უზრუნველყოფა) მუშაობს, თუმცა როგორც უკვე აღვნიშნეთ, ის უნდა იმუშაოს სახლის ავტომატიზაციის ნებისმიერ პროგრამულ უზრუნველყოფასთან, რომელიც შეიძლება შეიცავდეს MQTT- ს. ალტერნატიულად, თქვენ შეგიძლიათ შეცვალოთ კოდი საკუთარი საჭიროებების შესაბამისად.
  • Mosquitto MQTT სავალდებულო დაინსტალირებული და კონფიგურირებული OpenHAB– ით (MQTT არის შეტყობინებების გამოწერის/გამოქვეყნების ტიპის პროტოკოლი, რომელიც არის მსუბუქი და შესანიშნავი მოწყობილობებს შორის კომუნიკაციისთვის)
  • რომ თქვენ უკვე განათავსეთ RF დაფუძნებული წინა კარის კლავიატურის საკეტი, რომელსაც გააჩნია მინიმუმ ერთი გასაღები დისტანციური მართვის პულტით (უმეტესობა ამას აკეთებს) მათი შეძენა შესაძლებელია შედარებით იაფად ამაზონზე (დაახლოებით 60 აშშ დოლარი, თუმცა ამ მოდელის ბატარეები ძლებს მხოლოდ 4 ფუნტს) თვეები, ასე რომ ნახე თუ შეგიძლია უზრუნველყო DC რომელიც ამუშავებს საკეტს ან დახარჯავ ცოტა მეტს ღირსეულ მოდელზე:-))

თუ არ მუშაობთ OpenHAB და MQTT ბროკერი, იხილეთ ეს შესანიშნავი სტატია MakeUseOf ვებ გვერდზე

შესავალი

ეს პროექტი კონკრეტულად გიჩვენებთ, თუ როგორ გამოიყენოთ RF დაფუძნებული კარის საკეტი KOB FOB, რომ იყოთ ბევრად უფრო სასარგებლო მისი უსადენოდ მუშაობად გადაქცევით, შესაბამისად გაძლევთ შესაძლებლობას ჩაკეტოთ ან განბლოკოთ თქვენი კარი სახლის ავტომატიზაციის სისტემის, ვებ ბრაუზერის, თქვენი ტელეფონის საშუალებით (OpenHAB აპლიკაციის საშუალებით) ან თუნდაც დაგეგმეთ ღამით ავტომატური ჩაკეტვა სახლის ავტომატიზაციის პროგრამული უზრუნველყოფის წესების გამოყენებით. ამ პროექტისთვის, მე შევიძინე "Mi RF დაფუძნებული კლავიატურის წინა კარის საკეტი" ამაზონიდან დაახლოებით 60 აშშ დოლარად *

(* შეცვლა: კარის საკეტის ამ ბრენდის ბატარეები დიდხანს არ ძლებს! მე მხოლოდ 3-4 თვე გამოვიყენე, სანამ ბატარეების შეცვლა მომიწია, რაც საკმაოდ იმედგაცრუებული გახდა. მას შემდეგ ეს ერთეული გამოვცვალე Windsor– ის ბრენდირებული ელექტრონული კარის საკეტისთვის, რომლის ბატარეები ძლებს 2 წლამდე. ალტერნატიულად, თუმცა გაცილებით მეტი მუშაობისთვის, განიხილეთ DC ენერგიის გაშვება თქვენი კარის ბირთვში საკეტიდან)

ამისათვის ისინი უზრუნველყოფენ RF (რადიოსიხშირული) კარის საკეტს ჩამონტაჟებული კლავიატურით და გასაღების ფოსტით დისტანციურად ჩაკეტვის / განბლოკვისთვის. RF– ით, გასაღები უნდა იყოს კარის საკეტის დიაპაზონში. ეს პროექტი გამოიყენებს საკვანძო ფობს Wemos– ით ინტეგრირებით (IOT დაფა ESP8266 ჩიპით) ჩაკეტვის / განბლოკვის უსადენოდ შესასრულებლად, ამიტომ კონტროლირებადია ნებისმიერი ადგილიდან, სადაც გაქვთ ინტერნეტ კავშირი.

Რა მჭირდება?

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

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

  • Wemos D1 mini V2 (აქვს ჩაშენებული ESP8266 უკაბელო ჩიპი) ან უბრალოდ ESP8266 ჩიპი (მე არ გირჩევთ ESP-01 ვერსიას ამ პროექტისთვის, რადგან GPIO 0 პინმა უნდა დაიჭიროს მაღლა, რათა მოხდეს იმისათვის, რომ ის ჩატვირთოს ფლეშიდან, მაგრამ ამის გაკეთება გამოიწვევს კარის ჩაკეტვას, როდესაც ESP8266 გაძლიერდება თქვენი წინა კარის პოტენციურად განბლოკვისას! მიუხედავად იმისა, რომ არსებობს გამოსავალი, რის გაკეთებაც შეგვიძლია, მაგალითად ტაიმერების ან ტრანზისტორების და ა.შ. Wemos– ისა და ნაკლები კომპონენტისგან, ჩვენ მიზნად დავისახავთ უფრო მარტივ მიდგომას)
  • 5V DC დენის წყარო Wemos- ისა და Keyfob- ის დასაყენებლად (ბატარეები აღარ იქნება საჭირო) ასევე გჭირდებათ 5V ძაბვის რეგულატორი (როგორიცაა LM7805) პლუს 2 x კონდენსატორი, 10V 0.33uF და 10V 0.1uF ან მსგავსი ზომის (LM7805 მონაცემთა ცხრილის მიხედვით)
  • ორი 2N7000 ან მსგავსი MOSFET (ეს იქნება გამოყენებული გასაღების შესაცვლელად, ერთი დასაკეტად, მეორე განბლოკვისთვის. 2N7000 არის ძალიან გავრცელებული და ძალიან იაფი გამაძლიერებელი ტიპის N-Channel MOSFET, ამიტომ მისი წყარო ძალიან ადვილი უნდა იყოს)

  • ორი 10K ohm რეზისტორი (ეს გამოყენებული იქნება როგორც ჩამოსაშლელი რეზისტორები თითოეული MOSFET– ისთვის, რათა კარის ჩაკეტვა / განბლოკვა არ გააქტიურდეს!)
  • თქვენი საკეტიდან გამომდინარე, შეიძლება დაგჭირდეთ სხვა კონდენსატორის მიერთება (მაგალითად, 10V 220uF ან მსგავსი ზომის), რათა ხელი შეუწყოთ საკვანძო ფენის ენერგიის გაზრდას. იხილეთ მიზეზები, რატომ მოგვიანებით ამ სტატიაში.
  • საჭირო ინსტრუმენტები: გვერდითი საჭრელები, ერთი ბირთვიანი მავთული, გამაგრილებელი რკინა, ნაკადი და სურვილისამებრ მრავალმეტრიანი

გასაღები fob ჩვეულებრივ იყენებს 2 x 3V ბატარეებს სერიულად (6V Vcc). ამიტომ, კონდენსატორთან 5V მომარაგების გამოყენება საკმარისი ძაბვაა როგორც Wemos- ის გასაძლიერებლად, ასევე საკეტი / განბლოკვის გასააქტიურებლად.

თუ თქვენ გაქვთ keyfob, რომელიც მუშაობს ერთი 3 ვ ბატარეისგან, მაშინ თქვენ უნდა შეგეძლოთ დაამატოთ 3.3 ვ ძაბვის რეგულატორი თქვენს წრეში, რათა ძაბვა ჩამოაგდეს 3 ვ -თან ახლოს. 3 ვ ბატარეა რეალურად გამოდის დაახლოებით 3.1 ვ, და სქემების უმეტესობას აქვს მაღალი ძაბვის ტოლერანტობა, ამიტომ ამ შემთხვევაში 3.1 ვ 3.3 ვ ვ არის +6%. შეაერთეთ ის ფაქტი, რომ უემოსები ახორციელებენ მიმდინარეობას, ამიტომ ძაბვა სავარაუდოდ კიდევ უფრო ნაკლები იქნება. თუ ეჭვი გეპარებათ, გაზომეთ მულტიმეტრით და თუ ეს შესაძლებელია, გადაამოწმეთ საკეტის გამყიდველთან მაქსიმალური ძაბვა (ან მაქსიმალური ტოლერანტობა), რომელსაც კლავიატურა მიიღებს, რადგან მე არ ვიღებ პასუხისმგებლობას, თუ თქვენი კლავიატურა შეწყვეტს მუშაობას! დაბოლოს, ალტერნატიული გადაწყვეტის ნაცვლად, დააყენეთ ძაბვის გამყოფი წრე.

ნაბიჯი 1: შეკრება

შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება

შედუღება

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

შენიშვნა: 5V კვების ბლოკი ენერგიას მისცემს როგორც Wemos- ს, ასევე Key fob- ს, ამიტომ fob ბატარეები აღარ არის საჭირო.

შეკრება

მიაწოდეთ 5V Vcc და GND Wemos– ს და დაამატეთ MOSFET და რეზისტორები პურის დაფაზე სურათის მიხედვით. 10K ohm რეზისტორები უნდა გადიოდეს GND– დან MOSFET– ის კარიბჭემდე (ცენტრალური პინი). ეს გამოიწვევს ძაბვას მიწაზე და აჩერებს MOSFET– ებს, რომლებიც იწყებენ ჩართვას.

შემდეგ გაუშვით მავთული D1– დან Wemos– ზე პირველი MOSFET– ის კარიბჭემდე და D2 Wemos– ზე მეორე MOSFET– ის კარიბჭემდე. D1 და D2 არის GPIO (ზოგადი დანიშნულების შეყვანა/გამომავალი) ქინძისთავები, რომლებიც მითითებულია კოდში OUTPUT ქინძისთავებად.

დაბოლოს, შეაერთეთ კლავიშთა სადენები პურის დაფაზე, Vcc 5V სარკინიგზო ხაზზე, GND GND, შემდეგ მავთული ღილაკის უარყოფით მხარეს თითოეული MOSFET- ის წყაროს მხარეს და ღილაკის დადებითი მხარე თითოეული MOSFET- ის სანიაღვრე მხარეს. როგორც ნაჩვენებია სურათზე (გამოიყენეთ მულტიმეტრი თუ არ ხართ დარწმუნებული პოლარობაში)

(რედაქტირება: Windsor– ის კარის ჩამკეტი, რომელიც ზემოთ აღვნიშნე, აქვს გასაღები, რომელიც მოიხმარდა ოდნავ მეტ ძაბვას, ვიდრე ძველი კლავიში. ამან გამოიწვია, რომ Wemos– მა ეფექტურად შეწყვიტა რეაგირება ძაბვის ვარდნის გამო, როდესაც კარი დაკეტილი/განბლოკილი იყო. თქვენ განიცდით იმავე საკითხს, შემდეგ 220uF (ან მსგავსი) კონდენსატორში მავთულის გასასწორებლად +/- გაყვანილობის წინ, რომელიც მიდის კლავიშზე. კონდენსატორი დაიტენება და როდესაც გამოიწვევს, გაწურეთ კონდენსატორი, ვიდრე პირდაპირი DC ენერგია)

ახლა შეაერთეთ USB კაბელი Wemos– ში და კაბელის მეორე ბოლო თქვენს კომპიუტერში.

(კოდი გამოაქვეყნებს პინ D1 "HIGH" - ს, რაც გამოიწვევს MOSFET- ის ჩართვას, რომელიც უზრუნველყოფს ძაბვის გადინებას წყლიდან წყაროზე და, შესაბამისად, "ჩართავს" ღილაკს 1 წამით, სანამ გამომავალ პინს "LOW" კვლავ მოიტანს და გამორთავს. ფაქტობრივად, ის უბრალოდ ახდენს ღილაკის ღილაკის კოდის საშუალებით სიმულაციას)

Arduino IDE

გაუშვით Arduino IDE. ჩამოტვირთეთ და გახსენით კოდი (ალტერნატიული ბმული აქ) დარწმუნდით, რომ დამატებითი დაფები შედის IDE– ში, იხილეთ აქ, თუ როგორ უნდა დააყენოთ. ამის შემდეგ თქვენ უნდა დარწმუნდეთ, რომ სწორი დაფა დაინსტალირებულია და დატვირთულია თქვენი პროექტისათვის (ინსტრუმენტები, დაფები, დაფის მენეჯერი - მოძებნეთ "esp8266" და დააინსტალირეთ), ასევე შეარჩიეთ სწორი COM პორტი (ინსტრუმენტები, პორტი, COM …). თქვენ ასევე დაგჭირდებათ შესაბამისი ბიბლიოთეკები PubSubClient და ESP8266Wifi დაყენებული (ესკიზი, ბიბლიოთეკების მართვა, ბიბლიოთეკის ჩათვლით …)

შემდეგი, შეცვალეთ კოდის შემდეგი ხაზები და შეცვალეთ თქვენი SSID და პაროლი თქვენი უკაბელო კავშირისთვის. ასევე, შეცვალეთ IP მისამართი, რომ მიუთითოთ თქვენს საკუთარ MQTT ბროკერზე. თუ არ გაქვთ დაყენებული MQTT ბროკერი, გირჩევთ გამოიყენოთ Mosquitto. ჩამოტვირთეთ Windows ან Linux– ისთვის აქ.

// Wificonst char* ssid = "your_wifi_ssid_here"; const char* პაროლი = "your_wifi_password_here"; // MQTT ბროკერი IPAddress MQTT_SERVER (192, 168, 222, 254);

შეცვლის შემდეგ, გადაამოწმეთ თქვენი კოდი და შემდეგ ატვირთეთ Wemos / ESP8266 დაფაზე USB კაბელის საშუალებით.

ნაბიჯი 2: ტესტირება და OpenHAB კონფიგურაცია

ტესტირება და OpenHAB კონფიგურაცია
ტესტირება და OpenHAB კონფიგურაცია
ტესტირება და OpenHAB კონფიგურაცია
ტესტირება და OpenHAB კონფიგურაცია
ტესტირება და OpenHAB კონფიგურაცია
ტესტირება და OpenHAB კონფიგურაცია

MQTT ტესტირება

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

შესამოწმებლად, თქვენ შეგიძლიათ ნახოთ შემომავალი MQTT შეტყობინებები Wemos– დან თქვენს MQTT ბროკერზე, შემდეგი ბრძანების გაშვებით თქვენს Mosquitto სერვერზე (Mosquitto არის ერთ – ერთი მრავალი MQTT ბროკერის პროგრამული უზრუნველყოფიდან). ეს ბრძანება იწერს შემომავალ შემნახველ შეტყობინებებს:

mosquitto_sub -v -t openhab/frontdoor/სტატუსი

თქვენ უნდა ნახოთ შემომავალი შეტყობინებები Wemos– დან ყოველ 30 წამში დაახლოებით ნომრით „1“(რაც ნიშნავს „მე ცოცხალი ვარ“) თუ ხედავთ მუდმივ „0“–ებს (ან პასუხს არ იძლევა), მაშინ არანაირი კომუნიკაცია არ არსებობს. მას შემდეგ რაც დაინახავთ, რომ ნომერი 1 შემოდის, ეს ნიშნავს, რომ Wemos ურთიერთობს MQTT ბროკერთან (მოძებნეთ "MQTT ბოლო ნება და აღთქმა" დამატებითი ინფორმაციისათვის, თუ როგორ მუშაობს ეს, ან ნახეთ ეს მართლაც კარგი ბლოგის ჩანაწერი)

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

mosquitto_sub -v -t openhab/frontdoor/trigger

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

mosquitto_pub -t openhab/frontdoor/trigger -m LOCK

(-t ნიშნავს "თემას", -m ნიშნავს "შეტყობინებას", -v ნიშნავს "გამოთქმულ" გამოსავალს)

შენიშვნა: თუ კარი იბლოკება საკეტის გაგზავნისას ან იბლოკება განბლოკვის ბრძანების გაგზავნისას, უბრალოდ შეცვალეთ D1 და D2 მავთულები გარშემო

OpenHAB კონფიგურაცია

შემდეგი ცვლილებებია საჭირო OpenHAB– ში:

ფაილი "ელემენტი":

გადართეთ frontdoorTrigger "წინა კარი" (gDoors) {mqtt = "> [mqttbroker: openhab/frontdoor/trigger: command: ON: LOCK],> [mqttbroker: openhab/frontdoor/trigger: command: OFF: UNLOCK]"} ნომერი frontdoorStatus "წინა კარი [MAP (status.map):%d]" (gDoors) {mqtt = "<[mqttbroker: openhab/frontdoor/status: state: default]"}

'საიტის რუქის' ფაილი:

ერთეულის გადართვა = frontdoorTrigger mappings = [ON = "Lock", OFF = "Unlock"] Text item = frontdoorStatus

'status.map' ფაილი (გარდაქმნის საქაღალდეში):

0 = ქვემოთ 1 = ცოცხალი- = უცნობი

შეიძლება დაგჭირდეთ ზემოაღნიშნული OpenHAB კონფიგურაციის ოდნავ შეცვლა თქვენივე კონფიგურაციისთვის, როგორიცაა "mqttbroker:" ნაწილი, რომელიც ეხება თქვენს კონფიგურირებულ MQTT ბროკერის სახელს.

საბოლოო სურათი გვიჩვენებს კომპონენტებს PCB- ზე. ამ შემთხვევაში, ვინაიდან მე ვიყენებ DC კვების ბლოკს, რომელიც არის> 5V (ჩემს შემთხვევაში 9V) დაფა ასევე შეიცავს LM7805 ძაბვის მარეგულირებელს, ასევე 0.33uF კონდენსატორს დენის მხარეს და 0.1uF კონდენსატორს დენის გარეთ ძაბვის შესამსუბუქებლად და სტაბილიზაციისათვის. წინააღმდეგ შემთხვევაში დანარჩენი კავშირები იგივეა რაც ადრე აღწერილი.

Დიაგნოსტიკა

- თუ თქვენ გაქვთ პრობლემები, სადაც Wemos განუწყვეტლივ იკეტება ან იბლოკება კარი (მაგ.: აგზავნის RF სიგნალს და მთავარი ნათურის LED ნათურა რჩება) მაშინ შეამოწმეთ თქვენი VCC და GND მავთულები Wemos– ზე. დიდი ალბათობაა, რომ ერთი ან ორივე მათგანი არ არის დაკავშირებული ერთმანეთთან სწორად.

ნაბიჯი 3: შეაერთეთ კომპონენტები PCB– ზე

შეაერთეთ კომპონენტები PCB– ზე
შეაერთეთ კომპონენტები PCB– ზე
შეაერთეთ კომპონენტები PCB– ზე
შეაერთეთ კომპონენტები PCB– ზე

მე დავასრულე ყველა კომპონენტის შედუღება PCB– მდე, მხოლოდ მავთულის და/ან შედუღების ბილიკების გამოყენებით ყველა კომპონენტის შესაერთებლად. მე მივიღე ძველი DC კედლის მეჭეჭა და მისგან მავთული ოდნავ მოკლედ გადავიღე, შემდეგ გადავედი კონექტორის ბლოკზე, რომელიც მე შევაერთე PCB- ზე. შემდეგ ელექტროენერგია მიდის 5 ვ ძაბვის რეგულატორზე / კონდენსატორებზე და საჭირო კომპონენტებზე. მე უბრალოდ ცისფერთვალებად დავარტყი PCB- ის უკანა კედელი მეჭეჭს და ჩავრთე დენის წერტილში ჩემს ერთ კარადში. ის მუშაობს უკვე 9 თვეა ყოველგვარი პრობლემის გარეშე!

გირჩევთ: