Სარჩევი:
- მარაგები
- ნაბიჯი 1: მოამზადეთ არდუინოს გარემო ESP8266– ისთვის
- ნაბიჯი 2: ჩართეთ საჭირო ბიბლიოთეკები
- ნაბიჯი 3: სტანდარტული მაგალითის ესკიზის მორგება
- ნაბიჯი 4: ატვირთეთ ვებ ინტერფეისი
- ნაბიჯი 5: დაამატეთ BME680 სენსორი
- ნაბიჯი 6: დაამატეთ PMS5003 სენსორი
- ნაბიჯი 7: ქსელის ზოგიერთი მახასიათებლის დამატება
- ნაბიჯი 8: ზოგიერთი ჟურნალის დამატება
- ნაბიჯი 9: მოქმედებები
- ნაბიჯი 10: სურათები და კონფიგურაციის ფაილები
ვიდეო: ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო: 10 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
შიდა ან გარე ჰაერის ხარისხი დამოკიდებულია დაბინძურების ბევრ წყაროზე და ასევე ამინდზე.
ეს მოწყობილობა აღწერს ზოგიერთ ჩვეულებრივ და ყველაზე საინტერესო პარამეტრს 2 სენსორული ჩიპის გამოყენებით.
- ტემპერატურა
- ტენიანობა
- წნევა
- ორგანული გაზი
- მიკრო ნაწილაკები
აქ გამოყენებული სენსორები არის BME680 ტემპერატურის, ტენიანობის, წნევის და ორგანული გაზის მნიშვნელობების მისაღებად და PMS5003 მიკრო ნაწილაკების სიმკვრივის მისაღებად.
HomeDing ბიბლიოთეკის გამოყენებით ადვილია ააწყოთ მოწყობილობა, რომელიც დაკავშირებულია მხოლოდ თქვენს სახლის ქსელთან და მისი მიღწევა და კონტროლი შესაძლებელია ნებისმიერი ბრაუზერის მიერ ქსელში. მას გააჩნია ელემენტების შერჩევა, რომლებიც საშუალებას გაძლევთ გამოიყენოთ ყველაზე გავრცელებული სენსორული ჩიპები, მოწყობილობები და სხვა სერვისები.
მას ასევე მოაქვს სრული გადაწყვეტა ვებ გვერდის მასპინძლობისთვის მოწყობილობის შიგნით, იმის ნაცვლად, რომ გამოიყენოთ ღრუბელზე დაფუძნებული გადაწყვეტა სენსორის მონაცემების ჩვენებისა და მოწყობილობასთან ურთიერთობისათვის.
მარაგები
ყველაფერი რაც თქვენ გჭირდებათ ამ პროექტის ასაშენებლად არის ESP8266 დაფაზე დაფუძნებული დაფა, როგორიცაა nodemcu დაფა და სენსორების ნაკრები ჰაერის ხარისხის გასაზომად. ამ პროექტში გამოყენებული HomeDing ბიბლიოთეკა მხარს უჭერს ზოგად სენსორულ ჩიპებს ტემპერატურის, ტენიანობის, წნევისა და ხარისხისთვის. აქ გამოიყენება BMP680 ჩიპი.
- USB დანამატი და მიკრო USB კაბელი დენის წყაროსთვის.
- 1 nodemcu დაფა ESP8266 პროცესორთან ერთად.
- 1 BME680 სენსორის გარღვევის დაფა.
- 1 PM2.5 ჰაერის ნაწილაკების ლაზერული სენსორი ტიპის PMS5003
ადვილია BME680 სენსორის გაცვლა DHT22 სენსორით, რადგან მათ ბიბლიოთეკა ასევე მხარს უჭერს ბევრ სხვას შორის.
ნაბიჯი 1: მოამზადეთ არდუინოს გარემო ESP8266– ისთვის
- დააინსტალირეთ Arduino IDE- ის უახლესი ვერსია (ამჟამად ვერსია 1.8.2).
- გამოიყენეთ დაფის მენეჯერი, რომ დააინსტალიროთ esp8266 მხარდაჭერის ინსტალაცია. დეტალური ინსტრუქცია შეგიძლიათ იხილოთ აქ:
- დააინსტალირეთ დაფის პარამეტრები NodeMCU 1.0 -ისთვის 1MByte SPIFFS ფაილური სისტემით, როგორც ეს ნაჩვენებია სკრინშოტში
ნაბიჯი 2: ჩართეთ საჭირო ბიბლიოთეკები
HomeDing ბიბლიოთეკა ეყრდნობა ზოგიერთ ჩვეულებრივ დამატებით ბიბლიოთეკას სენსორებისა და დისპლეების მუშაობისთვის.
HomeDing ბიბლიოთეკის დაყენებისას ნახავთ ამომხტარი ფანჯარა ამ საჭირო ბიბლიოთეკებით, რომელთა ავტომატურად დაყენება შესაძლებელია სურათზე ნაჩვენები და ადვილია ყველა მათგანის დაყენება.
ზოგჯერ (გაურკვეველი მიზეზების გამო) ბიბლიოთეკების ინსტალაცია ვერ ხერხდება, ამიტომ ყველა საჭირო ბიბლიოთეკა ხელით უნდა იყოს დაინსტალირებული.
დამატებითი დეტალები საჭირო ბიბლიოთეკების შესახებ შეგიძლიათ იხილოთ დოკუმენტაციის ვებგვერდზე
ეს არის საჭირო ბიბლიოთეკების სია:
- ადაფრუტი ნეოპიქსელი
- LiquidCrystal_PCF8574.h
- ESP8266 და ESP32 Oled დრაივერი SSD1306 ჩვენებისთვის
- RotaryEncoder
- DHT სენსორების ბიბლიოთეკა ESPx– ისთვის
- OneWire
PMS5003 ჰაერის ნაწილაკების ლაზერული სენსორი კომუნიკაციას ახდენს 9600 ბაუდ სერიული ხაზის სიგნალის გამოყენებით. ეს სიგნალი აღებულია პროგრამული უზრუნველყოფის ბიბლიოთეკის გამოყენებით, რომელსაც გააჩნია ESP8266 ინსტრუმენტების დაყენება. დარწმუნდით, რომ არ გაქვთ ბიბლიოთეკის სახით ძველი ვერსია.
ნაბიჯი 3: სტანდარტული მაგალითის ესკიზის მორგება
სტანდარტული მაგალითი უკვე მოიცავს ზოგიერთ უფრო გავრცელებულ სენსორს, როგორც ელემენტს, ამიტომ მხოლოდ გარკვეული კონფიგურაცია იქნება საჭირო.
ეს ეხება BME680 სენსორს, რომელსაც მხარს უჭერს BME680 Element.
PMS5003 სენსორი ნაკლებად გავრცელებულია და საჭიროა მისი გააქტიურება PMS Element- ის ჩამონტაჟებაში. ეს კეთდება #განსაზღვრეთ HOMEDING_INCLUDE_PMS ესკიზის ელემენტების რეგისტრაციის განყოფილებაში
#განსაზღვრეთ HOMEDING_INCLUDE_BME680#განსაზღვრეთ HOMEDING_INCLUDE_PMS
ახალი მოწყობილობის ქსელში დამატების სიმარტივისთვის შეგიძლიათ დაამატოთ SSID და თქვენი სახლის WiFi- ის ფრაზა secrets.h ფაილში standard.ino ესკიზის ფაილის გვერდით. თქვენ ასევე შეგიძლიათ გამოიყენოთ ჩაშენებული WiFi მენეჯერი, რომ დაამატოთ მოწყობილობა ქსელში ამ მყარი კოდირებული კონფიგურაციის გარეშე.
ახლა ყველაფერი გაკეთებულია ესკიზის განხორციელებასთან დაკავშირებით და შესაძლებელია firmware- ის შედგენა და ატვირთვა.
ნაბიჯი 4: ატვირთეთ ვებ ინტერფეისი
სტანდარტულ მაგალითს მოყვება მონაცემთა საქაღალდე, რომელიც შეიცავს ვებ ფაილების ინტერფეისის ყველა ფაილს.
სანამ ამ ფაილებს ატვირთავთ, შეგიძლიათ დაამატოთ env.json და config.json ფაილი, რომელსაც ამ სტატიაში ნახავთ, რადგან ეს საქმეს გაადვილებს.
ამ ფაილების შინაარსი არის ის, რაც IoT მოწყობილობას განსაკუთრებულს ხდის და იქცევა როგორც ჰაერის ხარისხის სენსორი. ეს დეტალურად არის ახსნილი ამ მოთხრობაში.
გამოიყენეთ ESP8266 ფაილის ატვირთვის პროგრამა და ატვირთეთ ყველა ფაილი. მას სჭირდება გადატვირთვა კონფიგურაციის გასააქტიურებლად.
ნაბიჯი 5: დაამატეთ BME680 სენსორი
BME680 სენსორი კომუნიკაციას უწევს დაფასთან I2C ავტობუსის გამოყენებით.
ვინაიდან ეს შესაძლებელია სხვა გაფართოებებთან ერთად, სხვა სენსორების მსგავსად, კონფიგურირებულია მოწყობილობის დონეზე env.json მოწყობილობის ქსელის სახელთან ერთად. აქ მოცემულია მოწყობილობისა და I2C პარამეტრების მოპოვებული ნიმუში:
"მოწყობილობა": {
"0": {"name": "ეთერი", "აღწერა": "ჰაერის ხარისხის სენსორი",… "i2c-scl": "D2", "i2c-sda": "D1"}}
პურის დაფაზე შეგიძლიათ იხილოთ სენსორთან დამაკავშირებელი კაბელები: 3.3V = წითელი, GND = შავი, SCL = ყვითელი, SDA = ლურჯი
BME680– ის კონფიგურაცია შეიძლება გამოყენებულ იქნას config.json– ში:
"bme680": {
"bd": {"მისამართი": "0x77", "readtime": "10s"}}
მოქმედებას მოგვიანებით დავამატებთ.
დაყენების შესამოწმებლად გამოიყენეთ ბრაუზერი და გახსენით https://airding/board.htm და ნახავთ სენსორის რეალურ მნიშვნელობებს და ისინი განახლდება ყოველ 10 წამში:
ნაბიჯი 6: დაამატეთ PMS5003 სენსორი
მე არ მაქვს სენსორი breadboard მეგობრული კონექტორი, ასე რომ მე უნდა გაჭრა ერთი კონექტორები საკაბელო გამოყენებით ჩემი soldering რკინის პირდაპირ ვამაგრებ მას nodemcu ფორუმში. თქვენ შეგიძლიათ ნახოთ ის მაინც საბოლოო სურათებზე.
ამ სენსორის ენერგია უნდა იქნას მიღებული Vin– დან, რომელიც ჩვეულებრივ იკვებება USB ავტობუსით. GND იგივეა, მაგრამ ასევე შესაძლებელია Vin pin– ის გვერდით.
სენსორის მონაცემები გადადის სტანდარტული 9600 baud სერიული ფორმატით, ასე რომ rx და tx ქინძისთავები და კითხვის დრო უნდა იყოს კონფიგურირებული:
"პმს": {
"pm25": {"აღწერა": "pm25 ნაწილაკების სენსორი", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}
ჩვენ მოგვიანებით დავამატებთ მოქმედებებს.
კონფიგურაციის ხელახლა შესამოწმებლად, უბრალოდ გადატვირთეთ მოწყობილობა და გამოიყენეთ ბრაუზერი და გახსენით https://airding/board.htm და ნახავთ სენსორის ფაქტობრივი pm35 მნიშვნელობას და ისინი განახლდება ყოველ 10 წამში, მაგრამ ეს მნიშვნელობა ჩვეულებრივ არ იცვლება ხშირად.
თქვენ შეგიძლიათ მიიღოთ უმაღლესი მნიშვნელობები სანთლის შუქის სენსორის გვერდით მოთავსებით, რადგან სანთელი წარმოქმნის ამ ნაწილაკების დიდ ნაწილს.
ახლა თქვენ შეგიძლიათ ყველაფერი ლამაზ კორპუსში განათავსოთ, რადგან ყველა სხვა კონფიგურაცია და პროგრამული უზრუნველყოფის განახლებაც კი შესაძლებელია დისტანციურად.
ნაბიჯი 7: ქსელის ზოგიერთი მახასიათებლის დამატება
შემდეგი კონფიგურაციის ამონაწერი env.json- ში ჩართულია
- firmware- ის განახლება ჰაერში
- იძლევა ქსელის გამოვლენის SSDP ქსელის პროტოკოლის გამოყენებით და იღებს მიმდინარე დროს ntp სერვერიდან.
{
… "Ota": {"0": {"პორტი": 8266, "passwd": "123", "description": "მოუსმინეთ ჰაერში OTA განახლებებს"}}, "ssdp": {"0 ": {" მწარმოებელი ":" yourname "}}," ntptime ": {" 0 ": {" readtime ":" 36h "," zone ": 2}}}
თქვენ უნდა შეცვალოთ დროის ზონა თქვენს ადგილმდებარეობაზე. თუ ეჭვი გეპარებათ, შეგიძლიათ გამოიყენოთ ვებ გვერდი https://www.timeanddate.com/, რომ მიიღოთ კომპენსაცია UTC/GMT– დან. "2" სწორია გერმანიისთვის ზაფხულისთვის.
თქვენ ასევე შეგიძლიათ შეცვალოთ ოტა პაროლი დოკუმენტაციაში შენახვის რეჟიმის შესახებ ინსტრუქციის წაკითხვის შემდეგ, გადატვირთვის შემდეგ თქვენ შეგიძლიათ იპოვოთ საჰაერო გამშვები მოწყობილობა ქსელში და მას შემდეგ რაც მიიღებთ პასუხს ntp სერვერზე ადგილობრივი დრო ხელმისაწვდომია.
ნაბიჯი 8: ზოგიერთი ჟურნალის დამატება
მხოლოდ რეალური მნიშვნელობები შეიძლება არ იყოს საკმარისად საკმარისი, ასე რომ შეიძლება გამოყენებულ იქნას სხვა ელემენტები.
ამ სიუჟეტისთვის Log ელემენტი და NPTTime Element გამოიყენება სენსორული მნიშვნელობების ისტორიის შესანახად ჟურნალში და ამ ელემენტის ვებ UI ბარათს შეუძლია აჩვენოს ის როგორც გრაფიკი.
შემდეგი კონფიგურაცია ქმნის გაზების და ნაწილაკების 2 ჟურნალის ელემენტს:
{
"log": {"pm": {"description": "log of pm25", "filename": "/pmlog.txt", "filesize": "10000"}, "aq": {"description": " გაზის ხარისხის ჟურნალი "," ფაილის სახელი ":" /aqlog.txt "," filesize ":" 10000 "}}}
ნაბიჯი 9: მოქმედებები
ახლა ჩვენ უნდა გადავიტანოთ ფაქტობრივი მნიშვნელობები ჟურნალის ელემენტებზე მოქმედებების გამოყენებით. მოქმედებები იყენებს URL აღნიშვნას, რათა გადაიტანოს ქეი და მნიშვნელობა სამიზნე ელემენტზე. ბევრი ელემენტი მხარს უჭერს მოქმედებების გამოსვლას გარკვეულ მოვლენებზე, რომლებიც ხდება ახალი სენსორის მნიშვნელობის აღქმის მსგავსად.
მოქმედებები კონფიგურებულია იმ ელემენტზე, რომელიც გამოსცემს მოქმედებებს, საჭიროა 2 ჩანაწერი:
- Pms/p25 onvalue მოვლენა აგზავნის რეალურ მნიშვნელობას log/pm ელემენტზე მნიშვნელობის მოქმედების გამოყენებით.
- Bme680/bd ongas მოვლენა აგზავნის რეალურ მნიშვნელობას log/pm ელემენტზე მნიშვნელობის მოქმედების გამოყენებით.
{
"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}
ახლა ყველა ელემენტი კონფიგურირებულია.
ნაბიჯი 10: სურათები და კონფიგურაციის ფაილები
აქ მოცემულია ჩემი საბოლოო IoT ჰაერის ხარისხის სენსორის სურათი.
გადმოტვირთვის კონფიგურაციის ფაილებს ატვირთვამდე უნდა დაერქვას სახელი *.json (no.txt).
ბმულები და მითითებები
- HomeDing წყაროს კოდის საცავი:
- დოკუმენტაცია:
- სტანდარტული მაგალითი:
- BME680 ელემენტი:
- PMS ელემენტი:
- ჟურნალის ელემენტი:
- NtpTime Element:
გირჩევთ:
AEROBOT ჰაერის ხარისხის სენსორი V1.0: 6 ნაბიჯი (სურათებით)
AEROBOT ჰაერის ხარისხის სენსორი V1.0: ეს ინსტრუქცია ეხება იაფი და უაღრესად ზუსტი ჰაერის ხარისხის სენსორის სახელწოდებით AEROBOT. ეს პროექტი აჩვენებს ტემპერატურას, ფარდობით ტენიანობას, PM 2.5 მტვრის სიმკვრივეს და გვაფრთხილებს გარემოს ჰაერის ხარისხის შესახებ. ის იყენებს DHT11 სენსორს
ჰაერის ხარისხის სენსორი არდუინოს გამოყენებით: 4 ნაბიჯი
ჰაერის ხარისხის სენსორი Arduino– ს გამოყენებით: ამ პოსტში ჩვენ ვისწავლით თუ როგორ უნდა ავაშენოთ ჰაერის ხარისხის მარტივი, მაგრამ სასარგებლო სენსორი. ჩვენ გამოვიყენებთ SGP30 სენსორს Piksey Pico– სთან ერთად, თუმცა ესკიზი იმუშავებს თითქმის ნებისმიერი Arduino თავსებადი დაფით. ზემოთ მოყვანილი ვიდეო გესაუბრებათ
ჰაერის ხარისხის მონიტორი MQ135 და გარე ტემპერატურისა და ტენიანობის სენსორი MQTT– ზე: 4 ნაბიჯი
ჰაერის ხარისხის მონიტორი MQ135– ით და გარე ტემპერატურისა და ტენიანობის სენსორით MQTT– ზე: ეს არის სატესტო მიზნებისთვის
DIY ჰაერის ხარისხის სენსორი + 3D ნაბეჭდი ქეისი: 6 ნაბიჯი
DIY ჰაერის ხარისხის სენსორი + 3D დაბეჭდილი ქეისი: ამ სახელმძღვანელოს აქვს ყველა ინფორმაცია, რაც გჭირდებათ ძალიან ძლიერი, ჯიბის ზომის სენსორის შესაქმნელად
AirPi - ჰაერის ხარისხის სენსორი: 8 ნაბიჯი
AirPi - ჰაერის ხარისხის სენსორი: ოდესმე გიფიქრიათ, რატომ გტკივათ თავი? და თუ ეს გამოწვეულია ჰაერის ცუდი ხარისხით? ამ მოწყობილობის საშუალებით თქვენ შეგიძლიათ შეამოწმოთ ეს ასეა თუ არა. ეს მოწყობილობა ზომავს CO2 მნიშვნელობას, TVOC მნიშვნელობას, ტემპერატურასა და ტენიანობას. თქვენ ხედავთ ჰაერს q