Სარჩევი:
- ნაბიჯი 1: ნაწილები, რომლებიც დაგჭირდებათ
- ნაბიჯი 2: სქემის დიაგრამა
- ნაბიჯი 3: წრის შექმნა
- ნაბიჯი 4: განათება ESP-01
- ნაბიჯი 5: სატესტო გაშვება
- ნაბიჯი 6: დააინსტალირეთ სენსორი
- ნაბიჯი 7: საბოლოო შეხება
ვიდეო: MQTT/Google Home Flood/Water WIFI სენსორი ESP-01: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ამ სასწავლო ინსტრუქციაში მე გაჩვენებთ თუ როგორ უნდა ავაშენოთ wifi წყალდიდობის/წყლის სენსორი მინიმალური ხარჯებით. მთელი პროექტი 8 დოლარზე ნაკლები დამიჯდება იმ ნაწილებისთვის, რომლებსაც ვიღებ ebay– დან და ჩემი არსებული სათადარიგო ნაწილებიდან.
ამ პროექტში ჩვენ გამოვიყენებთ ESP-01- ს, რათა უზრუნველვყოთ Wifi და MQTT კლიენტი წყლის არსებობის დასადგენად და სურვილისამებრ გამოვიყენოთ უშუალოდ დაკავშირებული სპიკერი/ზუმერი ლოკალიზებული სიგნალის უზრუნველსაყოფად.
ჩემი კონკრეტული განაცხადი პროექტისთვის არის წყალმოვარდნის/წყლის გამოვლენა ჩემი ნაგავსაყრელის ტუმბოს შიგნით, ნაგავსაყრელის ტუმბოს უკმარისობის შემთხვევაში. როდესაც წყალი გამოვლენილია 2 ღია მავთულის საშუალებით, ის შეტყობინებას გაუგზავნის MQTT ბროკერს. MQTT ბროკერი გადასცემს შეტყობინებას NodeRED– ს. MQTT შეტყობინების მიღებისთანავე, NodeRED აგზავნის განცხადებას google- ის მრავალ მოწყობილობაზე და ასევე სურვილისამებრ შეტყობინებას უგზავნის მობილურს/ბრაუზერს pushbullet- ის საშუალებით
რა თქმა უნდა, ეს პროექტი იმუშავებს მხოლოდ იმ შემთხვევაში, თუ სახლის ელექტროენერგია ჩართულია. მომდევნო ინსტრუქციებში მე გავაერთიანებ ბატარეის სარეზერვო წრეს. მაგრამ თუ თქვენ დენის წყაროს აკეთებთ ისევე, როგორც მე, შეგიძლიათ უბრალოდ შეაერთოთ USB დენის ბანკი ბატარეის სარეზერვო მიზნით. თუ თქვენ გაქვთ დენის ბანკი, რომლის საშუალებითაც შეგიძლიათ დატენოთ და უზრუნველყოთ ენერგია ერთდროულად, მაშინ ყველაფერი მზად არის.
მე ვიყენებ RaspberryPi ZeroW– ს Mosquitto MQTT სერვერისა და NodeRED– ის მასპინძლობისთვის. იგი მუშაობს ერთ წელზე მეტია ყოველგვარი პრობლემის გარეშე.
წყაროები: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… დააინსტალირეთ NodeRED ჟოლოს პიზე:
ნაბიჯი 1: ნაწილები, რომლებიც დაგჭირდებათ
ნაწილების სია:
(1) ESP-01
(2) 10K ohm რეზისტორი
(1) მცირე სიგნალის ზოგადი NPN ტრანზისტორი (მე გამოვიყენე 2N3904)
(2) გრძელი მავთულები
(1) 5V საერთო კვების წყარო (ეს წრე მოითხოვს 300mA- ზე ნაკლებ მიმდინარეობას)
(1) 3.3V რეგულატორის მოდული AMS1117
(1) Micro-USB To DIP Adapter ქალი კონექტორი PCB Converter წვრილმანი ნაკრები
(1) USB-A to MicroUSB კაბელი.
(1) 8 პინიანი IC სოკეტი-შეიძლება გამოტოვდეს, თუ გსურთ ESP-01 პირდაპირ შეაერთოთ მიკროსქემის დაფაზე. გაჭერით პლასტიკური ხიდები, რომლებიც ქმნიან უფსკრულს რიგებს შორის და შემდეგ წებოვანა 2 სტრიქონს ერთად, იხილეთ ფოტო.
(1) მცირე დანართი პროექტისთვის
ქვემოთ არის დამატებითი ნაწილები, თუ გჭირდებათ ლოკალიზებული სიგნალი დინამიკის/ზუზერის გამოყენებით
(1) ზოგადი PNP ტრანზისტორი, შეარჩიეთ დინამიკის/ზუზერის დენის/სიმძლავრის მოთხოვნის შესაბამისად. ჩემს შემთხვევაში მე ვიყენებ 2N2907 რადგან ჩემი დინამიკი არის მხოლოდ 0.3 W (8 ohm), ის უზრუნველყოფს საკმარის ძალას სპიკერის მართვისთვის. თქვენ შეგიძლიათ აირჩიოთ უფრო დიდი ტრანზისტორი და დინამიკი, თუ გსურთ ხმამაღალი ხმა.
(1) სპიკერი, იხილეთ შენიშვნა ზემოთ PNP ტრანზისტორზე
(1) 100 - 110 ohm რეზისტორი
ნაბიჯი 2: სქემის დიაგრამა
პირველი ნაბიჯი იქნება სქემაში ნაჩვენები სქემის შექმნა.
მე ავაშენე 3.3VDC ელექტრომომარაგება ძველი 5 ვ მობილური ტელეფონის დამტენის გამოყენებით AMS1117 3.3VDC მარეგულირებელთან ერთად. ESP-01 სოკეტისთვის ვიყენებ 8 პინიან სტანდარტულ IC სოკეტს და ვჭრი პლასტმასის ხიდებს, რომლებიც ქმნიან უფსკრულს რიგებს შორის, შემდეგ კი ვწებ 2 რიგს ერთმანეთთან.
წრე, რომელიც მე შევიმუშავე, არის წყლის მგრძნობელობა ორ მავთულს შორის. როდესაც წყალი მიაღწევს ორივე მავთულის წვერს, ის შექმნის წინააღმდეგობას დაახლოებით 10K– დან 20K Ohm– მდე. სერიაში 10K ohm R1– ით, ის უზრუნველყოფს მცირე დენს Q1– ის ბაზაზე, რამაც გამოიწვია Q1 გაჯერება და GPIO-2 მიწასთან მიყვანა. R1 აუცილებელია Q1– ის დაცვის უზრუნველსაყოფად იმ შემთხვევისთვის, როდესაც მგრძნობიარე მავთულხლართებზე შემთხვევითი შეწყვეტაა.
R2 არის გამყვანი რეზისტორი, რომელიც საშუალებას აძლევს ESP-01 ჩატვირთვას ფლეშიდან.
რაც შეეხება დამატებით დინამიკს/ზუმერს, თუ თქვენ უბრალოდ გჭირდებათ ESP-01 MQTT- ის სალაპარაკოდ და არ გსურთ ამ ლოკალიზებული განგაშის განხორციელება, შეგიძლიათ ამოიღოთ R2, Q2, სპიკერი და განათავსოთ 10K გამყვანი რეზისტორი GPIO-0- ს შორის. და VCC.
თუ თქვენ არ გრძნობთ Micro-USB to DIP ადაპტერის გამოყენების აუცილებლობას, შეგიძლიათ შეაერთოთ მავთულები 5V PS– ს შორის 3.3V მარეგულირებელი მოდულის საშუალებით. მე მირჩევნია გამოვიყენო ქალი MicroUSB ადაპტერი, ასე რომ შემიძლია გამოვიყენო ნებისმიერი მობილური ტელეფონის დამტენი და MicroUSB კაბელი.
ნაბიჯი 3: წრის შექმნა
შეაერთეთ ყველა კომპონენტი და ნაწილი PCB– ში წინა გვერდის სქემის მიხედვით და გაჭერით PCB ზომაზე.
მოათავსეთ PCB შიგთავსში, რომელიც მოერგება PCB- ს და სურვილისამებრ დინამიკს. ჩემს შემთხვევაში, ყველა ნაწილი მოთავსდება ტელეფონის პატარა განყოფილების ყუთში, თუმცა საფარი ოდნავ უნდა გავათბო, რომ შეიქმნას ამობურცულობა ისე, რომ ESP-01 მოდული მოერგოს.
ნაბიჯი 4: განათება ESP-01
ამ ეტაპზე, ჩვენ ESP-01 გავანათებთ არდუინოს ესკიზით. თუ თქვენ არასოდეს გაგიბრწყინავთ ESP-01 მოდული, შეგიძლიათ დაიცვათ ჩემი ინსტრუქცია დასაწყებად:
თქვენ შეგიძლიათ ნახოთ ჩემი ესკიზი ჩემს github გვერდზე:
ესკიზში, მინიმუმ თქვენ უნდა შეცვალოთ შემდეგი ინფორმაცია, რომელიც ეხება თქვენს სახლის ქსელს/კონფიგურაციას:
#განსაზღვრეთ MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";
ჩემს საშინაო ქსელში, მე მაქვს 2 განსხვავებული წვდომის წერტილი, რომელიც მაუწყებლობს 2 სხვადასხვა SSID- ს და ეს ესკიზი საშუალებას მოგვცემს დავტოვო დამატებითი SSID– თან დაკავშირება, თუკი დღევანდელ AP– სთან კავშირი დაიკარგება. თუ თქვენ გაქვთ მხოლოდ ერთი SSID, შეავსეთ ssid1 და ssid2 ერთი და იგივე მნიშვნელობით.
მას შემდეგ რაც შეცვალეთ, ატვირთეთ ესკიზი ESP-01– ში და შეაერთეთ ESP-01 ინტერფეისის დაფაზე.
ნაბიჯი 5: სატესტო გაშვება
იმის შესამოწმებლად, მუშაობს თუ არა ჩვენი პროექტი, ყველაზე მარტივი იქნება MQTT შეტყობინებების მონიტორინგი ქსელში. ამისათვის თქვენ უნდა გახსნათ SSH სესია კოღოების ბროკერთან და გასცეთ შემდეგი ბრძანება:
mosquitto_sub -v -t '#'
ზემოთ მოყვანილი ბრძანება საშუალებას მოგვცემს ვნახოთ ყველა MQTT შეტყობინება, რომელიც შედის ბროკერში.
ახლა ჩართეთ ჩვენი წრე და თუ ყველაფერი მუშაობს, რამდენიმე წამში თქვენ უნდა ნახოთ შემდეგი MQTT შეტყობინება:
stat/SumpWaterSensor/LWT ონლაინ რეჟიმში
ახლა შეამოწმეთ წყლის სენსორი 2 მგრძნობიარე მავთულის ჩაყრათ ჭიქაში წყალში და თქვენ უნდა ნახოთ ეს შეტყობინება:
ტელე/SumpWaterSensor WET
და თუ თქვენ ამოიღებთ მავთულს წყლიდან, თქვენ უნდა ნახოთ ეს შეტყობინება:
ტელე/SumpWaterSensor DRY
თუ ხედავთ ამ შეტყობინებებს, თქვენი პროექტი წარმატებულია.
მე ასევე ჩავრთე რამდენიმე სასარგებლო MQTT თემა ესკიზში, რომლის გამოყენებაც შეგიძლიათ:
"stat/SumpWaterSensorInfo": ეს შეტყობინება იგზავნება ყოველ წუთს დროისა და სხვა ინფორმაციის უზრუნველსაყოფად.
"cmnd/SumpWaterSensorInfo": ESP-01 გამოგიგზავნით ინფორმაციას, თუ მიიღებს ამ თემას "1" ღირებულებით (ascii = 49)
"cmnd/SumpWaterSensorCPUrestart": ESP-01 გადატვირთულია თუ მიიღებს ამ თემას "1" ღირებულებით (ascii = 49)
"cmnd/SumpWaterSensorBeep": ESP-01 გაისმის სპიკერი თუ მიიღებს ამ თემას "1" ღირებულებით (ascii = 49)
"cmnd/SumpWaterSensorBeepFreq": ადგენს დინამიკის სიგნალის სიხშირეს, ნაგულისხმევი = 900 (Hz)
"cmnd/SumpWaterSensorDebug": ჩართეთ და დააყენეთ სერიული გამართვის დონე (ნაგულისხმევი არის 0 - გამართვის გარეშე)
ნაბიჯი 6: დააინსტალირეთ სენსორი
ჩემს განაცხადში, მინდა კარგად მონიტორინგი გავუწიო წყლის დონეს ჩემს ტუმბოს შიგნით და შევატყობინო, თუ წყალი აღწევს ნაგავსაყრელის ტუმბოზე, რაც ნიშნავს რომ ჩემი ტუმბო არ მუშაობს. მე გავუშვი მავთულები და ვიყენებ მავთულხლართებს, რათა უზრუნველვყო ის სანიაღვრე მილის გასწვრივ.
ნაბიჯი 7: საბოლოო შეხება
ახლა, როდესაც ჩვენ ვიმუშავეთ პროექტზე და შეგვიძლია გამოვაქვეყნოთ MQTT შეტყობინება ბროკერზე, შემდეგი ნაბიჯი არის ვიფიქროთ იმაზე, თუ რა უნდა გავაკეთოთ ამით.
ჩემს პროექტში მე ვიყენებ Node-RED- ს, რომ მოვისმინო/გამოვიწერო "tele/SumpWaterSensor" MQTT თემა და გამოვაცხადო Google– ის რამდენიმე სახლის დინამიკზე წყლის აღმოჩენის შემთხვევაში. გარდა ამისა, მე ასევე დავუკავშირე ნაკადი pushbullet კვანძს, რომ გამოეგზავნა შეტყობინება ჩემს Android ტელეფონზე.
მე ასევე შევქმენი ვებ წინა გვერდი სენსორის სტატუსის სანახავად (ჩართული/ხაზგარეშე, დროულად და ა.შ.). ხანდახან ვხედავდი, რომ ის რამდენჯერმე მიდის ხაზგარეშე 1 კვირის განმავლობაში, სტატისტიკური მონაცემებიდან, ბევრჯერ ეს იმის გამო ხდება, რომ ESP-01 გათიშულია wifi ან MQTT. მაგრამ ძალიანაც ნუ ინერვიულებ, ჩემი ესკიზი შეიცავს რუტინულ გადატვირთვას ESP-01, თუ ის განაგრძობს WIFI და/ან MQTT ბროკერთან დაკავშირების მცდელობას.
სურათი ამ საფეხურზე გვიჩვენებს Node-RED ნაკადს ამის მისაღწევად. თქვენ ასევე შეგიძლიათ ჩასვათ ნაკადი ჩემი github გვერდიდან თქვენს Node-RED– ში:
Google– ის სახლის განცხადება მხოლოდ ერთი მაგალითია ამ პროექტისთვის, მაგრამ მე ვფიქრობ, რომ ის ყველაზე სასარგებლო და პრაქტიკულია. თქვენ ყოველთვის შეგიძლიათ დაუკავშირდეთ სხვა MQTT მსმენელს, ან თუნდაც გამოიყენოთ IFTTT სხვა მოწყობილობების მართვისას წყლის აღმოჩენისთანავე.
Გაერთე…
გირჩევთ:
აკუმულატორით დაფარული კარის და საკეტის სენსორი, მზის, ESP8266, ESP-Now, MQTT: 4 ნაბიჯი (სურათებით)
აკუმულატორით დაფარული კარისა და ჩაკეტვის სენსორი, მზე, ESP8266, ESP-Now, MQTT: ამ ინსტრუქციულ რეჟიმში მე გაჩვენებთ თუ როგორ გავაკეთე ბატარეაზე მომუშავე სენსორი, რომ მონიტორინგი გამეკეთებინა ჩემი დისტანციური ველოსიპედის ფარდის კარისა და ჩაკეტვისთვის. მე არ მაქვს მაგისტრალური ენერგია, ამიტომ მაქვს ბატარეაზე მომუშავე. ბატარეა იტენება მცირე მზის პანელით. მოდული არის დ
DIY სუნთქვის სენსორი არდუინოსთან ერთად (გამტარი ნაქსოვი გაჭიმვის სენსორი): 7 ნაბიჯი (სურათებით)
წვრილმანი სუნთქვის სენსორი არდუინოსთან ერთად (გამტარი ნაქსოვი გაჭიმვის სენსორი): ეს წვრილმანი სენსორი მიიღებს გამტარი ნაქსოვი გაჭიმვის სენსორის ფორმას. ის შემოეხვევა თქვენს მკერდს/კუჭს, ხოლო როდესაც თქვენი გულმკერდი/მუცელი გაფართოვდება და იკუმშება, ასევე გაიზრდება სენსორი და, შესაბამისად, შეყვანის მონაცემები, რომლებიც მიეწოდება არდუინოს. Ისე
Arduino მზის ენერგიის ტემპერატურისა და ტენიანობის სენსორი, როგორც 433 მჰც ორეგონის სენსორი: 6 ნაბიჯი
Arduino Solar Powered Temperature and Humidity Sensor As 433mhz Oregon Sensor: This is the build of a solar powered temperature and ტენიანობის სენსორი. Sensor emulates 433mhz Oregon sensor, and is ჩანს Telldus Net gateway. რა გჭირდებათ: 1x " 10-LED მზის ენერგიის მოძრაობის სენსორი " Ebay– დან დარწმუნდით, რომ წერია 3.7 ვ ბატარეა
დაწყება Esp 8266 Esp-01 Arduino IDE --ით Arduino Ide- ში Esp დაფების დაყენება და პროგრამირება Esp: 4 ნაბიჯი
დაწყება Esp 8266 Esp-01 Arduino IDE |-ით Arduino Ide- ში Esp დაფების დაყენება და Esp პროგრამირება: ამ ინსტრუქციებში ჩვენ ვისწავლით თუ როგორ უნდა დააყენოთ esp8266 დაფები Arduino IDE– ში და როგორ უნდა დაპროგრამდეს esp-01 და მასში ატვირთოთ კოდი. მას შემდეგ, რაც esp დაფები იმდენად პოპულარულია, რომ ვიფიქრე ინსტრუქციებისთვის ეს და ადამიანების უმეტესობა პრობლემის წინაშე დგას
შეხების სენსორი და ხმის სენსორი აკონტროლებს AC/DC განათებებს: 5 ნაბიჯი
შეხების სენსორი და ხმის სენსორი AC/DC განათების კონტროლი: ეს არის ჩემი პირველი პროექტი და ის მუშაობს ორ ძირითად სენსორზე დაყრდნობით, ერთი არის სენსორი და მეორე არის ხმის სენსორი, როდესაც შეხების სენსორზე სენსორულ ღილაკს დააჭერთ AC სინათლე იცვლება ჩართული, თუ მას გაუშვებთ, შუქი გამორთული იქნება და იგივე