Përmbajtje:

Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re: 10 hapa
Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re: 10 hapa

Video: Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re: 10 hapa

Video: Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re: 10 hapa
Video: ГНИЛОБАН ждал ОЖИВЛЕНИЯ 8 лет в гараже | ВОССТАНОВИЛИ мертвеца DODGE RAM VAN B3500 2024, Nëntor
Anonim
Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re
Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re
Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re
Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re
Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re
Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re
Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re
Ndërtoni një Sensor të Cilësisë së Ajrit Inhouse IoT Nuk kërkohet re

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

Përgatitni mjedisin Arduino për ESP8266
Përgatitni mjedisin Arduino për ESP8266
  1. Instaloni versionin e fundit të Arduino IDE (aktualisht versioni 1.8.2).
  2. Përdorni Bord Manager për të instaluar instalimin e mbështetjes esp8266. Një udhëzim të detajuar mund të gjeni këtu:
  3. 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

Përfshi Bibliotekat e Kërkuara
Përfshi 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

Përshtatni Skicën e Shembullit Standard
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

Shtoni sensorin BME680
Shtoni sensorin BME680
Shtoni sensorin BME680
Shtoni sensorin BME680
Shtoni sensorin BME680
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

Shtoni sensorin PMS5003
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

Veprimet
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

Fotografitë dhe skedarët e konfigurimit
Fotografitë dhe skedarët e konfigurimit
Fotografitë dhe skedarët e konfigurimit
Fotografitë dhe skedarët e konfigurimit
Fotografitë dhe skedarët e konfigurimit
Fotografitë dhe skedarët e konfigurimit

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: