Բովանդակություն:

Կառուցեք Inhouse IoT օդի որակի տվիչ Ամպ չի պահանջվում. 10 քայլ
Կառուցեք Inhouse IoT օդի որակի տվիչ Ամպ չի պահանջվում. 10 քայլ

Video: Կառուցեք Inhouse IoT օդի որակի տվիչ Ամպ չի պահանջվում. 10 քայլ

Video: Կառուցեք Inhouse IoT օդի որակի տվիչ Ամպ չի պահանջվում. 10 քայլ
Video: Scentroid's CTAir Continuous Urban Air Quality Monitor Seminar A 12.08.2020 (Subtitled) 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. Պատրաստեք Arduino միջավայր ESP8266- ի համար

Պատրաստեք Arduino միջավայր ESP8266- ի համար
Պատրաստեք Arduino միջավայր ESP8266- ի համար
  1. Տեղադրեք Arduino IDE- ի վերջին տարբերակը (ներկայումս 1.8.2 տարբերակ):
  2. Օգտագործեք Board Manager- ը ՝ esp8266 աջակցությունը տեղադրելու համար: Մանրամասն հրահանգը կարող եք գտնել այստեղ ՝
  3. Կարգավորեք NodeMCU 1.0 տախտակի ընտրանքները 1MByte SPIFFS ֆայլային համակարգով, ինչպես ցույց է տրված սքրինշոթում

Քայլ 2: Ներառեք անհրաժեշտ գրադարանները

Ներառեք պահանջվող գրադարանները
Ներառեք պահանջվող գրադարանները

HomeDing գրադարանը հիմնված է որոշ լրացուցիչ լրացուցիչ գրադարանների վրա ՝ սենսորների և ցուցադրման աշխատանքների համար:

Երբ տեղադրեք HomeDing գրադարանը, կտեսնեք այս պահանջվող գրադարաններով պատուհան, որոնք կարող են ինքնաբերաբար տեղադրվել նկարի վրա, և հեշտ է տեղադրել բոլորը:

Երբեմն (անհայտ պատճառներով) գրադարանների տեղադրումը ձախողվում է, ուստի անհրաժեշտ բոլոր գրադարանները պետք է ձեռքով տեղադրվեն:

Պահանջվող գրադարանների մասին ավելի մանրամասն կարելի է գտնել փաստաթղթերի կայքում ՝

Ահա ընթացիկ պահանջվող գրադարանների ցանկը.

  • Adafruit NeoPixel
  • LiquidCrystal_PCF8574.հ
  • ESP8266 և ESP32 Oled վարորդ ՝ SSD1306 ցուցադրման համար
  • RotaryEncoder
  • DHT տվիչների գրադարան ESPx- ի համար
  • OneWire

PMS5003 օդի մասնիկների լազերային տվիչը հաղորդակցվում է 9600 baud սերիական գծի ազդանշանի միջոցով: Այս ազդանշանը գրավվում է օգտագործելով SoftwareSerial գրադարանը, որն ուղեկցվում է ESP8266 գործիքների տեղադրմամբ: Համոզվեք, որ որպես գրադարան տեղադրված չէ ավելի հին տարբերակ:

Քայլ 3: Անհատականացրեք ստանդարտ օրինակի ուրվագիծը

Անհատականացրեք ստանդարտ օրինակի ուրվագիծը
Անհատականացրեք ստանդարտ օրինակի ուրվագիծը

Ստանդարտ օրինակը արդեն ներառում է որոշ ավելի տարածված սենսորներ որպես տարրեր, այնպես որ կպահանջվի միայն որոշակի կազմաձևում:

Սա վերաբերում է BME680 սենսորին, որն ապահովված է BME680 տարրով:

PMS5003 սենսորը ավելի քիչ տարածված է և պետք է ակտիվացնել ՝ PMS տարրը որոնվածի մեջ ներառելով: Դա արվում է ՝ ուրվագծի տարրերի գրանցման բաժնում սահմանելով #սահմանել HOMEDING_INCLUDE_PMS

#սահմանել HOMEDING_INCLUDE_BME680#սահմանել HOMEDING_INCLUDE_PMS

Նոր սարքը ցանցին ավելացնելու պարզության համար կարող եք standard.ino էսքիզային ֆայլին կից գաղտնիքներում ավելացնել SSID և ձեր տան WiFi գաղտնաբառ: Բայց դուք կարող եք նաև օգտագործել ներկառուցված WiFi մենեջերը ՝ սարքը ցանցին ավելացնելու համար ՝ առանց այս կոդավորված կազմաձևման:

Այժմ ուրվագծի իրականացման հետ կապված ամեն ինչ արված է, և որոնվածը կարող է կազմվել և վերբեռնվել:

Քայլ 4: Վերբեռնեք վեբ ինտերֆեյսը

Ստանդարտ օրինակը գալիս է տվյալների թղթապանակով, որը պարունակում է վեբ UI- ի բոլոր ֆայլերը:

Նախքան այս ֆայլերը վերբեռնելը, գուցե ցանկանաք ավելացնել env.json և config.json ֆայլերը, որոնք կարող եք գտնել այս հոդվածով, քանի որ դա ամեն ինչ կդյուրացնի:

Այս ֆայլերի բովանդակությունն այն է, ինչը IoT սարքն առանձնահատուկ է դարձնում և իրեն պահում է որպես Օդի որակի սենսոր: Այս պատմության մեջ մանրամասն բացատրված է:

Օգտագործեք ESP8266 ֆայլի վերբեռնման օգտակար ծրագիրը և վերբեռնեք բոլոր ֆայլերը: Կարգավորումը ակտիվացնելու համար անհրաժեշտ է վերագործարկում:

Քայլ 5: Ավելացրեք BME680 ցուցիչ

Ավելացրեք BME680 ցուցիչ
Ավելացրեք BME680 ցուցիչ
Ավելացրեք BME680 ցուցիչ
Ավելացրեք BME680 ցուցիչ
Ավելացրեք BME680 ցուցիչ
Ավելացրեք BME680 ցուցիչ

BME680 տվիչը շփվում է տախտակի հետ I2C ավտոբուսի միջոցով:

Քանի որ դա հնարավոր է կիսել այլ ընդարձակումների հետ, ինչպես մյուս սենսորները կամ դիսփլեյները, կազմաձևված է սարքի մակարդակում env.json- ում ՝ սարքի ցանցի անվան հետ միասին: Ահա սարքի և I2C կարգավորումների արդյունահանված նմուշ.

"սարք": {

"0": {"name": "airding", "description": "Air Quality Sensor",… "i2c-scl": "D2", "i2c-sda": "D1"}}

Սեղանի վրա կարող եք տեսնել սենսորին միացման մալուխները ՝ 3.3 Վ = կարմիր, GND = սև, SCL = դեղին, SDA = կապույտ

BME680- ի կազմաձևումը կարող է օգտագործվել config.json- ում.

"bme680": {

"bd": {"address": "0x77", "readtime": "10s"}}

Գործողությունները կավելացնենք ավելի ուշ:

Կարգավորումը փորձարկելու համար պարզապես օգտագործեք դիտարկիչ և բացեք https://airding/board.htm և կտեսնեք ցուցիչի իրական արժեքները, որոնք կթարմացվեն յուրաքանչյուր 10 վայրկյանը մեկ.

Քայլ 6: Ավելացրեք PMS5003 տվիչ

Ավելացրեք PMS5003 տվիչ
Ավելացրեք PMS5003 տվիչ

Ես ստացա ցուցիչ, որը հարմարավետ միակցիչ ունի, այնպես որ ես ստիպված եղա մալուխի միակցիչներից մեկը կտրել ՝ օգտագործելով իմ եռակցման երկաթը, այն ուղղակիորեն կցելու համար նոդեմկու տախտակին: Դուք դեռ կարող եք տեսնել այն վերջին նկարներում:

Այս տվիչի էներգիան պետք է վերցվի Vin- ից, որը սովորաբար սնուցվում է USB ավտոբուսով: GND- ը նույնն է, բայց նաև հասանելի է Vin քորոցի կողքին:

Սենսորից տվյալները փոխանցվում են ստանդարտ 9600 baud սերիական ձևաչափով, այնպես որ rx և tx կապումներն ու ընթերցման ժամանակը պետք է կազմաձևվեն.

"pms": {

"pm25": {"description": "pm25 մասնիկների ցուցիչ", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}

Գործողությունները կավելացնենք ավելի ուշ:

Կարգավորումը նորից փորձարկելու համար պարզապես վերագործարկեք սարքը և օգտագործեք դիտարկիչ և բացեք https://airding/board.htm, և կտեսնեք ցուցիչի իրական pm35 արժեքը, որը կթարմացվի յուրաքանչյուր 10 վայրկյանը մեկ, բայց այս արժեքը սովորաբար հաճախ չի փոխվում:

Ավելի բարձր արժեքներ կարող եք ստանալ ՝ մոմի լույսը տեղադրելով սենսորի կողքին, քանի որ մոմն արտադրում է այդ մասնիկների մեծ մասը:

Այժմ դուք կարող եք ամեն ինչ դնել գեղեցիկ բնակարանի մեջ, քանի որ մնացած բոլոր կազմաձևերը և նույնիսկ ծրագրակազմի թարմացումները կարող են կատարվել հեռակա կարգով:

Քայլ 7: Networkանցի որոշ հնարավորությունների ավելացում

Հետեւյալ կազմաձեւման քաղվածքը env.json- ում միացնում է

  • թարմացնել որոնվածը եթերում
  • թույլ է տալիս հայտնաբերել ցանցը SSDP ցանցի արձանագրության միջոցով և վերցնել ընթացիկ ժամանակը ntp սերվերից:

{

… "Ota": {"0": {"port": 8266, "passwd": "123", "description": "Listen to" over the air "OTA Updates"}}, "ssdp": {"0 ": {" Արտադրող ":" yourname "}}," ntptime ": {" 0 ": {" readtime ":" 36h "," zone ": 2}}}

Դուք պետք է հարմարեցնեք ժամային գոտին ձեր գտնվելու վայրին: Եթե կասկածում եք, կարող եք օգտագործել վեբ կայքը ՝ https://www.timeanddate.com/ ՝ UTC/GMT- ից փոխհատուցում ստանալու համար: «2» -ը ճիշտ է Գերմանիայի ամառվա համար:

Կարող եք նաև կարգավորել ota գաղտնաբառը ՝ փաստաթղթերում պահպանման ռեժիմին վերաբերող հրահանգները կարդալուց հետո ՝

Վերագործարկվելուց հետո կարող եք գտնել օդափոխման սարքը ցանցում և ntp սերվերից պատասխան ստանալուց հետո տեղական ժամանակը հասանելի է:

Քայլ 8: Որոշ անտառահատումներ ավելացնելը

Պարզապես իրական արժեքները կարող են բավականաչափ չտալ, այնպես որ կարող են օգտագործվել ևս մի քանի տարրեր:

Այս պատմության համար Log տարրը և NPTTime Element- ը օգտագործվում են գրանցամատյանում սենսորների արժեքների պատմությունը գրանցելու համար, և այս տարրի Web UI քարտը կարող է այն ցուցադրել որպես գրաֆիկ:

Հետևյալ կազմաձևը ստեղծում է գազի և մասնիկների 2 տեղեկամատյան տարրեր.

{

"log": {"pm": {"description": "Log of pm25", "filename": "/pmlog.txt", "filesize": "10000"}, "aq": {"description": " Գազի որակի տեղեկամատյան »,« ֆայլի անունը »՝« /aqlog.txt »,« ֆայլերի չափը »՝« 10000 »}}}

Քայլ 9: Գործողություններ

Գործողություններ
Գործողություններ

Այժմ մենք պետք է փաստացի արժեքները փոխանցենք տեղեկամատյանների տարրերին ՝ օգտագործելով գործողություններ: Գործողությունները օգտագործում են URL- ի նշումը `թիրախային տարրին kay և արժեք փոխանցելու համար: Շատ տարրեր աջակցում են արտանետվող գործողություններ որոշակի իրադարձությունների վրա, որոնք տեղի են ունենում, ինչպես սենսորային նոր արժեք գրավելը:

Գործողությունները կազմաձևված են այն տարրով, որը թողարկում է գործողություններ: Պահանջվում է 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 (ոչ.txt):

Հղումներ և հղումներ

  • HomeDing աղբյուրի ծածկագրի պահեստ ՝
  • Փաստաթղթեր ՝
  • Ստանդարտ օրինակ ՝
  • BME680 տարր ՝
  • PMS տարր ՝
  • Մատյանային տարր ՝
  • NtpTime տարր ՝

Խորհուրդ ենք տալիս: