Სარჩევი:

ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო: 10 ნაბიჯი
ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო: 10 ნაბიჯი

ვიდეო: ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო: 10 ნაბიჯი

ვიდეო: ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო: 10 ნაბიჯი
ვიდეო: GNILOBAN REVIVAL-ს 8 წელი ელოდა ავტოფარეხში | აღდგენილი DEAD DODGE RAM VAN B3500 2024, ნოემბერი
Anonim
ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო
ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო
ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო
ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო
ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო
ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო
ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო
ააშენეთ Inhouse IoT ჰაერის ხარისხის სენსორი ღრუბელი არ არის საჭირო

შიდა ან გარე ჰაერის ხარისხი დამოკიდებულია დაბინძურების ბევრ წყაროზე და ასევე ამინდზე.

ეს მოწყობილობა აღწერს ზოგიერთ ჩვეულებრივ და ყველაზე საინტერესო პარამეტრს 2 სენსორული ჩიპის გამოყენებით.

  • ტემპერატურა
  • ტენიანობა
  • წნევა
  • ორგანული გაზი
  • მიკრო ნაწილაკები

აქ გამოყენებული სენსორები არის BME680 ტემპერატურის, ტენიანობის, წნევის და ორგანული გაზის მნიშვნელობების მისაღებად და PMS5003 მიკრო ნაწილაკების სიმკვრივის მისაღებად.

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

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

მარაგები

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

  • USB დანამატი და მიკრო USB კაბელი დენის წყაროსთვის.
  • 1 nodemcu დაფა ESP8266 პროცესორთან ერთად.
  • 1 BME680 სენსორის გარღვევის დაფა.
  • 1 PM2.5 ჰაერის ნაწილაკების ლაზერული სენსორი ტიპის PMS5003

ადვილია BME680 სენსორის გაცვლა DHT22 სენსორით, რადგან მათ ბიბლიოთეკა ასევე მხარს უჭერს ბევრ სხვას შორის.

ნაბიჯი 1: მოამზადეთ არდუინოს გარემო ESP8266– ისთვის

მოამზადეთ არდუინოს გარემო ESP8266– ისთვის
მოამზადეთ არდუინოს გარემო ESP8266– ისთვის
  1. დააინსტალირეთ Arduino IDE- ის უახლესი ვერსია (ამჟამად ვერსია 1.8.2).
  2. გამოიყენეთ დაფის მენეჯერი, რომ დააინსტალიროთ esp8266 მხარდაჭერის ინსტალაცია. დეტალური ინსტრუქცია შეგიძლიათ იხილოთ აქ:
  3. დააინსტალირეთ დაფის პარამეტრები 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 სენსორი
დაამატეთ BME680 სენსორი
დაამატეთ BME680 სენსორი
დაამატეთ BME680 სენსორი
დაამატეთ BME680 სენსორი
დაამატეთ 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 სენსორი

დაამატეთ PMS5003 სენსორი
დაამატეთ 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:

გირჩევთ: