Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Ihanda ang Arduino na Kapaligiran para sa ESP8266
- Hakbang 2: Magsama ng Mga Kinakailangan na Aklatan
- Hakbang 3: Ipasadya ang Karaniwang Halimbawa ng Sketch
- Hakbang 4: I-upload ang Web UI
- Hakbang 5: Idagdag ang BME680 Sensor
- Hakbang 6: Idagdag ang PMS5003 Sensor
- Hakbang 7: Pagdaragdag ng Ilang Mga Tampok sa Network
- Hakbang 8: Pagdaragdag ng Ilang Pag-log
- Hakbang 9: Mga Pagkilos
- Hakbang 10: Mga Larawan at Mga File ng Pag-configure
Video: Bumuo ng isang Inhouse IoT Air Quality Sensor Walang Kinakailangan sa Cloud: 10 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ang kalidad ng panloob o panlabas na hangin ay nakasalalay sa maraming mapagkukunan ng polusyon at pati na rin ng panahon.
Nakukuha ng aparatong ito ang ilan sa mga karaniwan at ilan sa mga pinaka-kagiliw-giliw na mga parameter sa pamamagitan ng paggamit ng 2 chips ng sensor.
- Temperatura
- Humidity
- Presyon
- Organic Gas
- Mga Micro-Particle
Ang mga sensor na ginamit dito ay ang BME680 para sa pagkuha ng temperatura, halumigmig, presyon at mga halaga ng organikong gas at ang PMS5003 upang makakuha ng kakapalan ng mga micro particle.
Sa pamamagitan ng paggamit ng HomeDing library madali itong bumuo ng isang aparato na konektado sa iyong home Network lamang at maaabot at makokontrol ng anumang browser sa network. Ito ay may kasamang pagpipilian ng Mga Elemento na nagpapahintulot sa paggamit ng pinakakaraniwang mga chips ng sensor, aparato at iba pang mga serbisyo.
Nagdudulot din ito ng isang kumpletong solusyon para sa pagho-host ng isang panig sa web sa loob ng aparato sa halip na gumamit ng isang cloud based na solusyon upang maipakita ang data ng sensor at makipag-ugnay sa aparato.
Mga gamit
Ang kailangan mo lang upang buuin ang proyektong ito ay isang nakabatay sa board na ESP8266 tulad ng board ng nodemcu at hanay ng mga sensor upang masukat ang kalidad ng hangin. Ang library ng HomeDing na ginamit sa proyektong ito ay sumusuporta sa ilan sa mga karaniwang sensor chip para sa temperatura, halumigmig, presyon at kalidad. Dito ginagamit ang chip na BMP680.
- Isang USB plug at isang micro-usb cable para sa power supply.
- 1 nodemcu board na may CPU na ESP8266.
- 1 board breakout ng sensor ng BME680.
- 1 PM2.5 air particle laser sensor type PMS5003
Madaling palitan ang sensor ng BME680 gamit ang isang sensor ng DHT22 dahil sinusuportahan din sila ng silid-aklatan bukod sa marami pang iba.
Hakbang 1: Ihanda ang Arduino na Kapaligiran para sa ESP8266
- I-install ang pinakabagong bersyon ng Arduino IDE (kasalukuyang bersyon 1.8.2).
- Gumamit ng Board Manager upang mai-install ang pag-install ng suporta sa esp8266. Ang isang detalyadong tagubilin ay matatagpuan dito:
- I-setup ang mga pagpipilian sa board para sa isang NodeMCU 1.0 na may 1MByte SPIFFS File System tulad ng ipinakita sa screenshot
Hakbang 2: Magsama ng Mga Kinakailangan na Aklatan
Ang library ng HomeDing ay umaasa sa ilang karaniwang mga labis na aklatan para gumana ang mga sensor at display.
Kapag na-install mo ang library ng HomeDing makikita mo ang isang popup kasama ang mga kinakailangang aklatan na maaaring awtomatikong mai-install na ipinakita sa larawan at madali itong mai-install lahat.
Minsan (na hindi alam ang mga kadahilanan) nabigo ang pag-install ng mga aklatan kaya lahat ng kinakailangang mga aklatan ay kailangang mai-install nang manu-mano.
Ang mga karagdagang detalye tungkol sa mga kinakailangang aklatan ay matatagpuan sa website ng dokumentasyon sa
Ito ang listahan ng mga kasalukuyang kinakailangang aklatan:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- Ang ESP8266 at ESP32 Oled Driver para sa display na SSD1306
- RotaryEncoder
- Library ng sensor ng DHT para sa ESPx
- OneWire
Ang PMS5003 air particle laser sensor ay nakikipag-usap gamit ang isang 9600 baud serial line signal. Ang signal na ito ay nakunan sa pamamagitan ng paggamit ng library ng SoftwareSerial na kasama ng pag-install ng mga tool ng ESP8266. Tiyaking hindi naka-install ang isang mas matandang bersyon bilang isang silid-aklatan.
Hakbang 3: Ipasadya ang Karaniwang Halimbawa ng Sketch
Ang Karaniwang Halimbawa ay nagsasama na ng ilan sa mga mas karaniwang sensor bilang mga elemento kaya ang ilang pagsasaayos lamang ang kinakailangan.
Nalalapat ito sa sensor ng BME680 na sinusuportahan ng Elementong BME680.
Ang sensor ng PMS5003 ay hindi gaanong karaniwan at kailangang maisaaktibo sa pamamagitan ng pagsasama ng PMS Element sa firmware. Ginagawa ito sa pamamagitan ng pagtukoy sa # tukuyin ang HOMEDING_INCLUDE_PMS sa seksyon ng rehistro ng elemento ng sketch
# tukuyin ang HOMEDING_INCLUDE_BME680 # tukuyin ang HOMEDING_INCLUDE_PMS
Para sa pagiging simple sa pagdaragdag ng bagong aparato sa network maaari mong idagdag ang SSID at passphrase ng iyong home WiFi sa mga lihim.h file sa tabi ng standard.ino sketch file. Ngunit maaari mo ring gamitin ang built-in na WiFi Manager upang idagdag ang aparato sa network nang wala ang hard-code na pagsasaayos na ito.
Ngayon ang lahat tungkol sa pagpapatupad ng sketch ay tapos na at ang firmware ay maaaring maiipon at mai-upload.
Hakbang 4: I-upload ang Web UI
Ang karaniwang halimbawa ay may isang folder ng data na naglalaman ng lahat ng file para sa web UI.
Bago mo mai-upload ang mga file na ito baka gusto mong idagdag ang env.json at config.json file na mahahanap mo sa artikulong ito dahil gagawin nitong mas madali ang mga bagay.
Ang nilalaman ng mga file na ito ay kung bakit ang espesyal na aparato ng IoT at kumikilos bilang isang sensor ng Kalidad ng Air. Ito ay ipinaliwanag nang detalyado sa kuwentong ito.
Ang paggamit ng ESP8266 file upload utility at i-upload ang lahat ng mga file. Kailangan nito ng pag-reboot upang maisaaktibo ang pagsasaayos.
Hakbang 5: Idagdag ang BME680 Sensor
Ang BME680 Sensor ay nakikipag-usap sa board gamit ang I2C bus.
Tulad ng posibleng ibinahagi sa iba pang mga extension tulad ng iba pang mga sensor o display ay naka-configure sa antas ng aparato sa env.json kasama ang pangalan ng network ng aparato. Narito ang isang nakuha na sample ng mga setting ng aparato at I2C:
"aparato": {
"0": {"name": "airding", "description": "Air Quality Sensor",… "i2c-scl": "D2", "i2c-sda": "D1"}}
Sa breadboard maaari mong makita ang mga cable ng koneksyon sa sensor: 3.3V = pula, GND = itim, SCL = dilaw, SDA = asul
Ang pagsasaayos para sa BME680 ay maaaring magamit sa config.json:
"bme680": {
"bd": {"address": "0x77", "readtime": "10s"}}
Idagdag namin ang mga pagkilos sa paglaon.
Upang subukan ang pag-set up gumamit lamang ng isang browser at buksan ang https://airding/board.htm at makikita mo ang mga aktwal na halaga ng sensor na ipinakita at maa-update ang mga ito bawat 10 segundo:
Hakbang 6: Idagdag ang PMS5003 Sensor
Hindi ako nakakuha ng isang sensor na may isang konektor ng friendly na tinapay kaya kailangan kong putulin ang isa sa mga konektor sa cable na gamitin ang aking soldering iron upang direktang ikabit ito sa nodemcu board. Maaari mo pa rin itong makita sa huling mga larawan.
Ang lakas para sa sensor na ito ay dapat na makuha mula sa Vin na karaniwang pinalakas ng USB bus. Ang GND ay pareho ngunit magagamit din sa tabi ng Vin pin.
Ang data mula sa sensor ay inililipat sa isang karaniwang 9600 baud serial format kaya kailangang mai-configure ang mga rx at tx pin at oras ng pagbabasa:
"pms": {
"pm25": {"description": "pm25 particle sensor", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}
Idagdag namin ang mga pagkilos sa paglaon.
Upang subukan ulit ang pag-set up i-reboot lamang ang aparato at gumamit ng isang browser at buksan ang https://airding/board.htm at makikita mo ang aktwal na pm35 na halaga ng sensor na ipinakita at maa-update sila tungkol sa bawat 10 segundo ngunit ang halagang ito ay normal hindi madalas na nagbabago.
Maaari kang makakuha ng mas mataas na mga halaga sa pamamagitan ng paglalagay ng isang kandila ilaw sa tabi ng sensor bilang isang kandila ay gumagawa ng karamihan sa mga maliit na butil na ito.
Ngayon ay maaari mong ilagay ang lahat sa isang magandang pabahay dahil ang lahat ng iba pang mga pagsasaayos at kahit na ang mga pag-update ng software ay maaaring gawin nang malayuan.
Hakbang 7: Pagdaragdag ng Ilang Mga Tampok sa Network
Ang sumusunod na katas ng pagsasaayos sa env.json ay nagpapagana
- ina-update ang firmware sa hangin
- Pinapayagan ang pagtuklas ng network gamit ang SSDP network protocol at kinukuha ang kasalukuyang oras mula sa isang ntp server.
{
… "Ota": {"0": {"port": 8266, "passwd": "123", "description": "Makinig para sa 'over the air' OTA Updates"}}, "ssdp": {"0 ": {" Manufacturer ":" yourname "}}," ntptime ": {" 0 ": {" readtime ":" 36h "," zone ": 2}}}
Dapat mong ayusin ang timezone sa iyong lokasyon. Kung may pag-aalinlangan maaari mong gamitin ang web site https://www.timeanddate.com/ upang makuha ang offset mula sa UTC / GMT. Tama ang "2" para sa tag-init ng Alemanya.
Maaari mo ring ayusin ang ota password pagkatapos basahin ang mga tagubilin tungkol sa save mode sa dokumentasyon sa
Matapos ang isang pag-restart maaari mong makita ang airding device sa network at pagkatapos makakuha ng isang tugon mula sa ntp server magagamit ang lokal na oras.
Hakbang 8: Pagdaragdag ng Ilang Pag-log
Ang mga aktwal na halaga lamang ay maaaring hindi magbigay ng sapat upang ang ilang higit pang mga elemento ay maaaring magamit.
Para sa kuwentong ito ang elemento ng Log at ang NPTTime Element ay ginagamit upang maitala ang kasaysayan ng mga halaga ng sensor sa isang log file at ang Web UI card para sa elementong ito ay maaaring ipakita ito bilang isang graph.
Lumilikha ang sumusunod na pagsasaayos ng 2 elemento ng pag-log para sa gas at mga particle:
{
"log": {"pm": {"description": "Log of pm25", "filename": "/pmlog.txt", "filesize": "10000"}, "aq": {"description": " Log ng kalidad ng gas "," filename ":" /aqlog.txt "," filesize ":" 10000 "}}}
Hakbang 9: Mga Pagkilos
Ngayon kailangan naming ilipat ang aktwal na mga halaga sa mga elemento ng pag-log sa pamamagitan ng paggamit ng mga pagkilos. Gumagamit ang mga pagkilos ng isang notasyong URL upang pumasa sa isang kay at halaga sa target na elemento. Sinusuportahan ng maraming Mga Elemento ang pagpapalabas ng mga aksyon sa ilang mga kaganapan na nangyayari tulad ng pagkuha ng isang bagong halaga ng sensor.
Ang mga pagkilos ay na-configure sa elemento na naglalabas ng mga aksyon na kinakailangan ng 2 mga entry:
- Ang kaganapan ng pms / p25 onvalue ay nagpapadala ng aktwal na halaga sa elemento ng pag-log / pm gamit ang isang pagkilos na halaga.
- Ang kaganapan ng bme680 / bd ongas ay nagpapadala ng aktwal na halaga sa elemento ng log / pm gamit ang isang pagkilos na halaga.
{
"pms": {"pm25": {… "onvalue": "log / pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log / aq? value = $ v "}}}
Ngayon ang lahat ng mga elemento ay naka-configure.
Hakbang 10: Mga Larawan at Mga File ng Pag-configure
Narito ang ilang larawan ng aking panghuling IoT Air Quality sensor.
Ang mga file ng pagsasaayos para sa pag-download ay kailangang palitan ng pangalan sa *.json (no.txt) bago mai-upload.
Mga link at sanggunian
- HomeDing Source Code Repository:
- Dokumentasyon:
- Karaniwang Halimbawa:
- Elemento ng BME680:
- Elementong PMS:
- Elemento ng pag-log:
- NtpTime Element:
Inirerekumendang:
Magdagdag ng Fan sa isang Computer Heat Sink - Walang Kinakailangan na Mga Screw: 5 Hakbang
Magdagdag ng Fan sa isang Computer Heat Sink - Walang Kinakailangan na Mga Screw: Ang problema: Mayroon akong (nagkaroon) isang motherboard sa aking file server na may isang fanless heatsink sa kung ano ang pinaniniwalaan ko na ang northbridge. Ayon sa programa ng sensor (ksensors) na tumatakbo ako sa Fedora, ang temperatura ng motherboard ay may hawak na 190F. Aking kandungan
Bumuo ng isang Apple HomeKit Temperature Sensor Device Gamit ang isang ESP8266 at isang BME280: 10 Hakbang
Bumuo ng isang Apple HomeKit Temperature Sensor Device Gamit ang isang ESP8266 at isang BME280: Sa itinuturo ngayon, gagawa kami ng mababang temperatura na temperatura, halumigmig at kahalumigmigan sensor batay sa alinman sa AOSONG AM2302 / DHT22 o BME280 temperatura / kahalumigmigan sensor, YL-69 moisture sensor at ang platform ng ESP8266 / Nodemcu. At para sa pagpapakita
Bumuo ng isang Apple HomeKit Temperature Sensor (DHT22) Device Gamit ang isang RaspberryPI at isang DHT22: 11 Mga Hakbang
Bumuo ng isang Apple HomeKit Temperature Sensor (DHT22) Device Gamit ang isang RaspberryPI at isang DHT22: Naghahanap ako ng isang mababang sensor ng temperatura / kahalumigmigan na magagamit ko upang masubaybayan kung ano ang nangyayari sa aking crawlspace, dahil nalaman kong sa tagsibol na ito ay basang-basa ito , at nagkaroon ng maraming mamasa-masa. Kaya't naghahanap ako para sa isang makatwirang naka-presyo na sensor na kaya kong
Bumuo ng isang Apple HomeKit Temperature Sensor (BME280) Gamit ang isang RaspberryPI at isang BME280: 5 Hakbang
Bumuo ng isang Apple HomeKit Temperature Sensor (BME280) Gamit ang isang RaspberryPI at isang BME280: Naglalaro ako sa paligid ng mga IOT device sa huling ilang buwan, at nag-deploy ng halos 10 magkakaibang mga sensor upang subaybayan ang mga kondisyon sa paligid ng aking bahay at maliit na bahay. At orihinal kong sinimulan ang paggamit ng AOSONG DHT22 temperate halumigmig na sens
Zero Cost Laptop Cooler / Stand (Walang Pandikit, Walang Pagbabarena, Walang Nuts & Bolts, Walang Mga Screw): 3 Hakbang
Zero Cost Laptop Cooler / Stand (Walang Pandikit, Walang Pagbabarena, Walang Mga Nuts at Bolts, Walang Mga Screw): I-UPDATE: Pakiusap MABUTI VOTE PARA SA MY INSTRUCTABLE, THANKS ^ _ ^ GUSTO MO DIN PO KONG MAGBOTOT PARA SA AKING IBA PANG KONTEST ENTRY AT www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ O BAKA MAGBOTA PARA SA PINAKA MAHIGING KAIBIGAN