Përmbajtje:
- Furnizimet
- Hapi 1: Përgatitni Mjedisin Arduino për ESP8266
- Hapi 2: Përfshini Bibliotekat e Kërkuara
- Hapi 3: Përshtatni Skicën e Shembullit Standard
- Hapi 4: Ngarko UI -në e Uebit
- Hapi 5: Shtoni sensorin BME680
- Hapi 6: Shtoni sensorin PMS5003
- Hapi 7: Shtimi i disa veçorive të rrjetit
- Hapi 8: Shtimi i disa regjistrimeve
- Hapi 9: Veprimet
- Hapi 10: Fotografi dhe Skedarë Konfigurimi
Video: Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re: 10 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:12
Cilësia e ajrit të brendshëm ose të jashtëm varet nga shumë burime ndotjeje dhe gjithashtu nga moti.
Kjo pajisje kap disa nga parametrat e zakonshëm dhe disa nga më interesantët duke përdorur 2 çipa sensorë.
- Temperatura
- Lagështia
- Presioni
- Gaz organik
- Mikro-grimcat
Sensorët e përdorur këtu janë BME680 për marrjen e temperaturës, lagështisë, presionit dhe vlerave të gazit organik dhe PMS5003 për të marrë densitetin e grimcave mikro.
Duke përdorur bibliotekën HomeDing është e lehtë të ndërtoni një pajisje që është e lidhur vetëm me Rrjetin tuaj në shtëpi dhe që mund të arrihet dhe kontrollohet nga çdo shfletues në rrjet. Ajo vjen me një përzgjedhje të Elementeve që lejojnë përdorimin e çipave më të zakonshëm të sensorit, pajisjeve dhe shërbimeve të tjera.
Ai gjithashtu sjell një zgjidhje të plotë për të pritur një faqe në internet brenda pajisjes në vend që të përdorni një zgjidhje të bazuar në re për të shfaqur të dhënat e sensorit dhe për të bashkëvepruar me pajisjen.
Furnizimet
E tëra që ju nevojitet për të ndërtuar këtë projekt është një tabelë e bazuar në ESP8266 si bordi nodemcu dhe një sërë sensorësh për të matur cilësinë e ajrit. Biblioteka HomeDing e përdorur në këtë projekt mbështet disa nga patate të skuqura të zakonshme të sensorit për temperaturën, lagështinë, presionin dhe cilësinë. Këtu përdoret çipi BMP680.
- Një prizë USB dhe një kabllo mikro-usb për furnizimin me energji.
- 1 bord nodemcu me CPU ESP8266.
- 1 dërrasë shpërthimi e sensorit BME680.
- 1 sensor PM2.5 sensor lazeri të grimcave të ajrit tip PMS5003
Easyshtë e lehtë të ndërrosh sensorin BME680 me një sensor DHT22 pasi ato gjithashtu mbështeten nga biblioteka në mesin e shumë të tjerëve.
Hapi 1: Përgatitni Mjedisin Arduino për ESP8266
- Instaloni versionin e fundit të Arduino IDE (aktualisht versioni 1.8.2).
- Përdorni Bord Manager për të instaluar instalimin e mbështetjes esp8266. Një udhëzim të detajuar mund të gjeni këtu:
- Vendosni opsionet e bordit për një NodeMCU 1.0 me 1MByte Sistemi i Skedarëve SPIFFS siç tregohet në pamjen e ekranit
Hapi 2: Përfshini Bibliotekat e Kërkuara
Biblioteka HomeDing mbështetet në disa biblioteka shtesë të zakonshme për funksionimin e sensorëve dhe ekraneve.
Kur instaloni bibliotekën HomeDing do të shihni një dritare kërcyese me këto biblioteka të kërkuara që mund të instalohen automatikisht një të treguar në figurë dhe është e lehtë t'i instaloni të gjitha.
Ndonjëherë (me arsye të panjohura) instalimi i bibliotekave dështon kështu që të gjitha bibliotekat e kërkuara duhet të instalohen me dorë.
Më shumë detaje rreth bibliotekave të kërkuara mund të gjenden në faqen e internetit të dokumentacionit në
Kjo është lista e bibliotekave aktuale të kërkuara:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- ESP8266 dhe ESP32 Oled Driver për ekranin SSD1306
- RotaryEncoder
- Biblioteka e sensorit DHT për ESPx
- OneWire
Sensori lazer i grimcave të ajrit PMS5003 komunikon duke përdorur një sinjal të linjës seriale 9600 baud. Ky sinjal kapet duke përdorur bibliotekën SoftwareSerial që vjen me instalimin e mjeteve ESP8266. Sigurohuni që të mos keni një version të vjetër të instaluar si bibliotekë.
Hapi 3: Përshtatni Skicën e Shembullit Standard
Shembulli Standard tashmë përfshin disa nga sensorët më të zakonshëm si elementë, kështu që do të kërkohet vetëm një konfigurim.
Kjo vlen për sensorin BME680 që mbështetet nga Elementi BME680.
Sensori PMS5003 është më pak i zakonshëm dhe duhet të aktivizohet duke përfshirë elementin PMS në firmware. Kjo bëhet duke përcaktuar #define HOMEDING_INCLUDE_PMS në seksionin e regjistrit të elementeve të skicës
#përcakto HOMEDING_INCLUDE_BME680#përcakto HOMEDING_INCLUDE_PMS
Për thjeshtësinë e shtimit të pajisjes së re në rrjet, mund të shtoni SSID dhe frazën e kalimit të WiFi të shtëpisë tuaj në skedarin secrets.h pranë skedarit standard.ino të skicës. Por gjithashtu mund të përdorni Menaxherin e integruar WiFi për të shtuar pajisjen në rrjet pa këtë konfigurim të koduar.
Tani gjithçka në lidhje me zbatimin e skicës është bërë dhe firmware mund të përpilohet dhe ngarkohet.
Hapi 4: Ngarko UI -në e Uebit
Shembulli standard vjen me një dosje të të dhënave që përmban të gjithë skedarin për UI -në e internetit.
Para se të ngarkoni këto skedarë, mund të dëshironi të shtoni skedarin env.json dhe config.json që mund të gjeni me këtë artikull sepse kjo do t'i bëjë gjërat më të lehta.
Përmbajtja e këtyre skedarëve është ajo që e bën pajisjen IoT të veçantë dhe sillet si një sensor i Cilësisë së Ajrit. Isshtë shpjeguar në detaje në këtë histori.
Përdorni mjetin e ngarkimit të skedarit ESP8266 dhe ngarkoni të gjithë skedarët. Duhet të rindizet për të aktivizuar konfigurimin.
Hapi 5: Shtoni sensorin BME680
Sensori BME680 po komunikon me tabelën duke përdorur autobusin I2C.
Meqenëse kjo ndoshta ndahet me shtesat e tjera, si sensorë ose ekrane të tjerë, është konfiguruar në nivelin e pajisjes në env.json së bashku me emrin e rrjetit të pajisjes. Këtu është një mostër e nxjerrë e pajisjes dhe cilësimeve të I2C:
"pajisje": {
"0": {"name": "ajrosja", "përshkrimi": "Sensori i cilësisë së ajrit",… "i2c-scl": "D2", "i2c-sda": "D1"}}
Në tabelën e bukës mund të shihni kabllot e lidhjes me sensorin: 3.3V = e kuqe, GND = e zezë, SCL = e verdhë, SDA = blu
Konfigurimi për BME680 mund të përdoret në config.json:
"bme680": {
"bd": {"adresa": "0x77", "koha e leximit": "10s"}}
Ne do t'i shtojmë veprimet më vonë.
Për të testuar konfigurimin, thjesht përdorni një shfletues dhe hapni https://airding/board.htm dhe do të shihni vlerat aktuale të sensorit të shfaqur dhe ato do të përditësohen çdo 10 sekonda:
Hapi 6: Shtoni sensorin PMS5003
Unë nuk mora një sensor me një lidhës miqësor të bordit të bukës, kështu që më duhej të preja njërën prej lidhësve në kabllo duke përdorur hekurin tim të saldimit për ta bashkangjitur drejtpërdrejt në tabelën nodemcu. Mund ta shihni akoma në fotot përfundimtare.
Fuqia për këtë sensor duhet të merret nga Vin që normalisht mundësohet nga autobusi USB. GND është i njëjtë, por gjithashtu i disponueshëm pranë kunjës Vin.
Të dhënat nga sensori transferohen në një format serial standard 9600 baud, kështu që kunjat rx dhe tx dhe koha e leximit duhet të konfigurohen:
"pms": {
"pm25": {"përshkrimi": "sensori i grimcave pm25", "pinrx": "D6", "pintx": "D5", "koha e leximit": "10s"}}
Ne do t'i shtojmë veprimet më vonë.
Për të testuar përsëri konfigurimin, thjesht rindizni pajisjen dhe përdorni një shfletues dhe hapni https://airding/board.htm dhe do të shihni vlerën aktuale të pm35 të sensorit të shfaqur dhe ato do të përditësohen çdo 10 sekonda, por kjo vlerë është normalisht nuk ndryshon shpesh.
Ju mund të merrni vlera më të larta duke vendosur një dritë qiri pranë sensorit pasi një qiri prodhon shumë nga këto grimca.
Tani mund të vendosni gjithçka në një strehë të bukur sepse të gjitha konfigurimet e tjera dhe madje edhe përditësimet e softuerit mund të bëhen nga distanca.
Hapi 7: Shtimi i disa veçorive të rrjetit
Ekstrakti i mëposhtëm i konfigurimit në env.json po mundëson
- azhurnimi i firmuerit në ajër
- lejon zbulimin e rrjetit duke përdorur protokollin e rrjetit SSDP dhe merr kohën aktuale nga një server ntp.
{
… "Ota": {"0": {"port": 8266, "passwd": "123", "description": "Dëgjo" Për ajrin "Përditësimet OTA"}}, "ssdp": {"0 ": {" Prodhuesi ":" yourname "}}," ntptime ": {" 0 ": {" koha e leximit ":" 36h "," zone ": 2}}}
Ju duhet të rregulloni zonën kohore në vendndodhjen tuaj. Nëse jeni në dyshim, mund të përdorni uebfaqen https://www.timeanddate.com/ për të marrë kompensimin nga UTC/GMT. "2" është e drejtë për verën e Gjermanisë.
Ju gjithashtu mund të rregulloni fjalëkalimin ota pasi të keni lexuar udhëzimet në lidhje me mënyrën e ruajtjes në dokumentacion në
Pas një rifillimi mund të gjeni pajisjen e ajrimit në rrjet dhe pasi të merrni një përgjigje nga serveri ntp koha lokale është në dispozicion.
Hapi 8: Shtimi i disa regjistrimeve
Vetëm vlerat aktuale mund të mos japin mjaftueshëm, kështu që disa elementë të tjerë mund të përdoren.
Për këtë histori elementi Log dhe Elementi NPTTime përdoren për të regjistruar historinë e vlerave të sensorit në një skedar log dhe karta e UI Web për këtë element mund ta shfaqë atë si një grafik.
Konfigurimi i mëposhtëm krijon 2 elementë log për gazin dhe grimcat:
{
"log": {"pm": {"description": "Regjistri i pm25", "filename": "/pmlog.txt", "sizeize": "10000"}, "aq": {"description": " Regjistri i cilësisë së gazit "," emri i skedarit ":" /aqlog.txt "," madhësia e skedarit ":" 10000 "}}}
Hapi 9: Veprimet
Tani ne duhet të transferojmë vlerat aktuale në elementet log duke përdorur veprime. Veprimet po përdorin një shënim URL për të kaluar një kay dhe vlerë në elementin e synuar. Shumë elementë mbështesin veprimet emetuese në ngjarje të caktuara që ndodhin si kapja e një vlere të re të sensorit.
Veprimet janë konfiguruar në elementin që lëshon veprime Kërkohen 2 hyrje:
- Ngjarja e vlerës së pms/p25 dërgon vlerën aktuale në elementin log/pm duke përdorur një veprim vlerë.
- Ngjarja bme680/bd ongas dërgon vlerën aktuale në elementin log/pm duke përdorur një veprim vlerë.
{
"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}
Tani të gjithë elementët janë konfiguruar.
Hapi 10: Fotografi dhe Skedarë Konfigurimi
Këtu janë disa fotografi të sensorit tim përfundimtar të Cilësisë së Ajrit IoT.
Skedarët e konfigurimit për shkarkim duhet të riemërtohen në *.json (nr.txt) para se të ngarkohen.
Lidhjet dhe referencat
- Depoja e Kodit Burimor HomeDing:
- Dokumentacioni:
- Shembull Standard:
- Elementi BME680:
- Elementi PMS:
- Elementi i regjistrit:
- Elementi NtpTime:
Recommended:
Llamba e tryezës LED miqësore rrethore (nuk kërkohet programim!): 7 hapa (me fotografi)
Llamba e tryezës LED miqësore rrethore (nuk kërkohet programim!): Kam projektuar këtë llambë që të jetë miqësore me ritmin cirkadian. Natën, është më e lehtë për gjumin tuaj sepse vetëm LED -të me ngjyrë të ngrohtë mund të ndizen. Gjatë ditës, mund t'ju mbajë zgjuar sepse të dyja LED-të me ngjyrë të bardhë të ftohtë dhe me ngjyrë të ngrohtë mund të ndizen në
Sensori i Cilësisë së Ajrit duke përdorur një Arduino: 4 hapa
Sensori i Cilësisë së Ajrit duke përdorur një Arduino: Në këtë post, ne do të mësojmë se si të ndërtojmë një sensor të thjeshtë por të dobishëm të cilësisë së ajrit. Ne do të përdorim sensorin SGP30 së bashku me Piksey Pico, megjithëse skica do të funksionojë me pothuajse çdo bord të pajtueshëm me Arduino. Videoja e mësipërme ju flet përmes
Monitorues i Cilësisë së Ajrit Me MQ135 dhe Sensor i Jashtëm i Temperaturës dhe Lagështisë mbi MQTT: 4 Hapa
Monitori i Cilësisë së Ajrit Me MQ135 dhe Sensori i Jashtëm i Temperaturës dhe Lagështisë mbi MQTT: Kjo është për qëllime prove
Një monitor i cilësisë së ajrit IoT me kosto të ulët bazuar në RaspberryPi 4: 15 hapa (me fotografi)
Një monitor i cilësisë së ajrit IoT me kosto të ulët Bazuar në RaspberryPi 4: Santiago, Kili gjatë një emergjence mjedisore dimërore kanë privilegjin të jetojnë në një nga vendet më të bukura në botë, por për fat të keq, nuk janë të gjitha trëndafila. Kili gjatë stinës së dimrit vuan shumë nga ndotja e ajrit,
Cubesat Me Sensor të Cilësisë së Ajrit dhe Arduino: 4 Hapa
Cubesat With Sensor i Cilësisë së Ajrit dhe Arduino: Krijuesit e CubeSat: Reghan, Logan, Kate dhe Joan Hyrje A keni menduar ndonjëherë se si të krijoni një orbiter të Marsit për të mbledhur të dhëna në lidhje me atmosferën dhe cilësinë e ajrit të Marsit? Gjatë gjithë këtij viti në orën tonë të fizikës, ne kemi mësuar se si të programojmë A