Բովանդակություն:
- Պարագաներ
- Քայլ 1. Պատրաստեք Arduino միջավայր ESP8266- ի համար
- Քայլ 2: Ներառեք անհրաժեշտ գրադարանները
- Քայլ 3: Անհատականացրեք ստանդարտ օրինակի ուրվագիծը
- Քայլ 4: Վերբեռնեք վեբ ինտերֆեյսը
- Քայլ 5: Ավելացրեք BME680 ցուցիչ
- Քայլ 6: Ավելացրեք PMS5003 տվիչ
- Քայլ 7: Networkանցի որոշ հնարավորությունների ավելացում
- Քայլ 8: Որոշ անտառահատումներ ավելացնելը
- Քայլ 9: Գործողություններ
- Քայլ 10: Նկարներ և կազմաձևման ֆայլեր
Video: Կառուցեք Inhouse IoT օդի որակի տվիչ Ամպ չի պահանջվում. 10 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Ներսի կամ արտաքին օդի որակը կախված է աղտոտման բազմաթիվ աղբյուրներից, ինչպես նաև եղանակից:
Այս սարքը գրավում է որոշ սովորական և որոշ առավել հետաքրքիր պարամետրեր ՝ օգտագործելով 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 IDE- ի վերջին տարբերակը (ներկայումս 1.8.2 տարբերակ):
- Օգտագործեք Board Manager- ը ՝ esp8266 աջակցությունը տեղադրելու համար: Մանրամասն հրահանգը կարող եք գտնել այստեղ ՝
- Կարգավորեք 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 տվիչը շփվում է տախտակի հետ 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 տվիչ
Ես ստացա ցուցիչ, որը հարմարավետ միակցիչ ունի, այնպես որ ես ստիպված եղա մալուխի միակցիչներից մեկը կտրել ՝ օգտագործելով իմ եռակցման երկաթը, այն ուղղակիորեն կցելու համար նոդեմկու տախտակին: Դուք դեռ կարող եք տեսնել այն վերջին նկարներում:
Այս տվիչի էներգիան պետք է վերցվի 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 տարր ՝
Խորհուրդ ենք տալիս:
AEROBOT Օդի որակի տվիչ V1.0: 6 քայլ (նկարներով)
AEROBOT Օդի որակի սենսոր V1.0. Այս հրահանգը վերաբերում է AEROBOT անունով էժան և բարձր ճշգրիտ օդի որակի տվիչի պատրաստմանը: Այս նախագիծը ցույց է տալիս ջերմաստիճանը, հարաբերական խոնավությունը, PM 2.5 փոշու խտությունը և ահազանգեր շրջակա միջավայրի օդի որակի մասին: Այն օգտագործում է DHT11 զգայարան
Օդի որակի մոնիտոր MQ135- ով և արտաքին ջերմաստիճանի և խոնավության տվիչ MQTT- ով. 4 քայլ
Օդի որակի մոնիտոր MQ135- ով և արտաքին ջերմաստիճանի և խոնավության տվիչ MQTT- ով. Սա փորձարկման նպատակով է
Oածր ծախսերի IoT օդի որակի մոնիտոր ՝ հիմնված RaspberryPi 4: 15 քայլերի վրա (նկարներով)
Oածր ծախսերի IoT օդի որակի մոնիտոր, որը հիմնված է RaspberryPi 4-ի վրա. Սանտյագո, Չիլի ձմեռային բնապահպանական արտակարգ իրավիճակներում արտոնություն ունեն ապրելու աշխարհի ամենագեղեցիկ երկրներից մեկում, բայց, ցավոք, դա բոլորը վարդեր չեն: Ձմեռային սեզոնի ընթացքում Չիլին շատ է տուժում օդի աղտոտվածությունից
DIY օդի որակի տվիչ + 3D տպագիր պատյան ՝ 6 քայլ
DIY օդի որակի սենսոր + 3D տպագիր պատյան. Այս ուղեցույցն ունի ամբողջ տեղեկատվությունը, որն անհրաժեշտ է շատ ընդունակ, գրպանի չափի սենսոր ստեղծելու համար:
AirPi - Օդի որակի տվիչ ՝ 8 քայլ
AirPi - Օդի որակի սենսոր. Երբևէ մտածե՞լ եք, թե ինչու եք գլխացավ ունենում: Իսկ եթե դա օդի վատ որակի՞ պատճառով է: Այս սարքի միջոցով դուք կարող եք ստուգել, թե արդյոք դա այդպես է: Այս սարքը չափում է CO2 արժեքը, TVOC արժեքը, ջերմաստիճանը և խոնավությունը: Դուք կարող եք տեսնել օդը