Агуулгын хүснэгт:

Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох Үүл шаардлагагүй: 10 алхам
Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох Үүл шаардлагагүй: 10 алхам

Видео: Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох Үүл шаардлагагүй: 10 алхам

Видео: Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох Үүл шаардлагагүй: 10 алхам
Видео: Выбор и установка входной металлической двери в новостройке #10 2024, Арваннэгдүгээр
Anonim
Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох, үүл шаардлагагүй
Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох, үүл шаардлагагүй
Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох, үүл шаардлагагүй
Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох, үүл шаардлагагүй
Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох, үүл шаардлагагүй
Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох, үүл шаардлагагүй
Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох, үүл шаардлагагүй
Байшингийн IoT агаарын чанарын мэдрэгчийг бий болгох, үүл шаардлагагүй

Дотор болон гадна агаарын чанар нь олон бохирдуулагч эх үүсвэр, цаг агаараас хамаарна.

Энэхүү төхөөрөмж нь 2 мэдрэгч чип ашиглан нийтлэг болон хамгийн сонирхолтой параметрүүдийг авч чаддаг.

  • Температур
  • Чийгшил
  • Даралт
  • Органик хий
  • Бичил хэсгүүд

Энд ашигладаг мэдрэгч нь температур, чийгшил, даралт, органик хийн утгыг хэмжих BME680, микро хэсгүүдийн нягтралыг авахын тулд PMS5003 юм.

HomeDing номын санг ашигласнаар зөвхөн гэрийн сүлжээнд холбогдсон төхөөрөмжийг бүтээхэд хялбар бөгөөд сүлжээнд байгаа дурын хөтөч ашиглан удирдах боломжтой болно. Энэ нь хамгийн түгээмэл мэдрэгч чип, төхөөрөмж болон бусад үйлчилгээг ашиглах боломжийг олгодог элементүүдийн сонголттой хамт ирдэг.

Энэ нь мэдрэгчийн өгөгдлийг харуулах, төхөөрөмжтэй харьцах үүлд суурилсан шийдлийг ашиглахын оронд төхөөрөмж доторх вэб талыг байршуулах бүрэн шийдлийг авчирдаг.

Хангамж

Энэхүү төслийг бүтээхийн тулд танд nodemcu хавтан, агаарын чанарыг хэмжих мэдрэгч бүхий ESP8266 суурилсан самбар хэрэгтэй болно. Энэхүү төсөлд ашигласан HomeDing номын сан нь температур, чийгшил, даралт, чанарыг хэмжих нийтлэг мэдрэгч чипүүдийг дэмждэг. Энд BMP680 чипийг ашигладаг.

  • USB залгуур болон цахилгаан тэжээлд зориулсан микро-USB кабель.
  • ESP8266 CPU бүхий 1 nodemcu самбар.
  • 1 BME680 мэдрэгч таслах самбар.
  • 1 PM2.5 агаарын тоосонцор лазер мэдрэгч PMS5003 төрөл

BME680 мэдрэгчийг DHT22 мэдрэгчээр солиход хялбар байдаг, учир нь тэдгээрийг бусад номын сан дэмждэг.

Алхам 1: Arduino орчныг ESP8266 -д бэлтгэ

Arduino орчныг ESP8266 -д бэлтгэ
Arduino орчныг ESP8266 -д бэлтгэ
  1. Arduino IDE -ийн хамгийн сүүлийн хувилбарыг суулгаарай (одоогоор 1.8.2 хувилбар).
  2. ТУЗ-ийн менежерийг ашиглан esp8266 дэмжлэгийг суулгаарай. Дэлгэрэнгүй зааврыг эндээс авах боломжтой:
  3. Дэлгэцийн зураг дээр үзүүлсэн шиг 1MByte SPIFFS файлын систем бүхий NodeMCU 1.0 -ийн самбарын сонголтыг тохируулна уу.

Алхам 2: Шаардлагатай номын санг оруулах

Шаардлагатай номын санг оруулах
Шаардлагатай номын санг оруулах

HomeDing номын сан нь мэдрэгч болон дэлгэцийг ажиллуулахын тулд нийтлэг нэмэлт номын санд тулгуурладаг.

HomeDing номын санг суулгахдаа та эдгээр шаардлагатай номын сантай цонхыг автоматаар суулгаж болох бөгөөд энэ нь зураг дээр харагдаж байгаа бөгөөд бүгдийг нь суулгахад хялбар болно.

Заримдаа (үл мэдэгдэх шалтгаанаар) номын санг суулгах нь бүтэлгүйтдэг тул шаардлагатай бүх номын санг гараар суулгах шаардлагатай болдог.

Шаардлагатай номын сангийн талаар илүү дэлгэрэнгүй мэдээллийг https://homeding.github.io/#page=/elements.md хаягаар баримтжуулалтын вэбсайтаас авах боломжтой.

Энэ бол одоогийн шаардлагатай номын сангийн жагсаалт юм.

  • Adafruit NeoPixel
  • LiquidCrystal_PCF8574.h
  • SSD1306 дэлгэцийн ESP8266 ба ESP32 Oled драйверууд
  • RotaryEncoder
  • ESPx -ийн DHT мэдрэгчийн номын сан
  • OneWire

PMS5003 агаарын ширхэгийн лазер мэдрэгч нь 9600 baud цуваа шугамын дохиог ашиглан харилцдаг. Энэхүү дохиог ESP8266 хэрэгслүүдийг суулгасан SoftwareSerial номын санг ашиглан авдаг. Номын сангаар хуучин хувилбарыг суулгаагүй байх ёстой.

Алхам 3: Стандарт жишээ эскизийг өөрчлөх

Стандарт жишээ эскизийг өөрчлөх
Стандарт жишээ эскизийг өөрчлөх

Стандарт жишээ нь илүү нийтлэг мэдрэгчийг элемент болгон оруулсан тул зөвхөн зарим тохиргоог хийх шаардлагатай болно.

Энэ нь BME680 элементээр дэмжигддэг BME680 мэдрэгчид хамаарна.

PMS5003 мэдрэгч нь тийм ч түгээмэл биш бөгөөд PMS элементийг програм хангамжид оруулах замаар идэвхжүүлэх шаардлагатай. Үүнийг эскизийн элементийн регистрийн хэсэгт #тодорхойлох HOMEDING_INCLUDE_PMS -ийг тодорхойлох замаар хийдэг.

#HOMEDING_INCLUDE_BME680 -ийг тодорхойлох#HOMEDING_INCLUDE_PMS -ийг тодорхойлох

Шинэ төхөөрөмжийг сүлжээнд хялбархан оруулахын тулд standard.ino ноорог файлын хажууд байгаа secret.h файлд 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": "Агаарын чанарын мэдрэгч",… "i2c-scl": "D2", "i2c-sda": "D1"}}

Талхны самбар дээр мэдрэгчтэй холбох кабелийг харж болно: 3.3V = улаан, GND = хар, SCL = шар, SDA = цэнхэр

BME680 -ийн тохиргоог config.json дээр ашиглаж болно:

"bme680": {

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

Бид дараа нь үйлдлүүдийг нэмж оруулах болно.

Тохиргоог шалгахын тулд зүгээр л хөтөч ашиглаад https://airding/board.htm -ийг нээвэл мэдрэгчийн бодит утгыг харах бөгөөд 10 секунд тутамд шинэчлэгдэх болно.

Алхам 6: PMS5003 мэдрэгчийг нэмнэ үү

PMS5003 мэдрэгчийг нэмнэ үү
PMS5003 мэдрэгчийг нэмнэ үү

Надад самбартай ээлтэй холбогчтой мэдрэгч байхгүй байсан тул кабелийн нэг холбогчийг гагнуурын төмрийг ашиглан nodemcu самбар дээр шууд холбох хэрэгтэй болсон. Та үүнийг эцсийн зургуудаас харж болно.

Энэхүү мэдрэгчийн хүчийг ихэвчлэн USB автобусаар тэжээгддэг Винээс авах ёстой. GND нь адилхан боловч Vin pin -ийн хажууд байдаг.

Мэдрэгчийн өгөгдлийг стандарт 9600 baud цуваа форматаар дамжуулдаг тул rx ба tx зүү болон унших хугацааг тохируулах шаардлагатай.

"pms": {

"pm25": {"description": "pm25 ширхэгийн мэдрэгч", "pinrx": "D6", "pintx": "D5", "унших цаг": "10s"}}

Бид дараа нь үйлдлүүдийг нэмж оруулах болно.

Тохиргоог дахин шалгахын тулд төхөөрөмжийг дахин ачаалж, хөтөч ашиглаж https://airding/board.htm -ийг нээвэл мэдрэгчийн бодит pm35 утгыг харах бөгөөд тэдгээрийг 10 секунд тутамд шинэчилж байх болно, гэхдээ энэ утга нь ихэвчлэн байдаг. ойр ойрхон өөрчлөгддөггүй.

Лаа нь эдгээр тоосонцорыг их хэмжээгээр үйлдвэрлэдэг тул мэдрэгчийн хажууд лааны гэрлийг байрлуулснаар та илүү өндөр үнэ цэнийг олж авах боломжтой.

Бусад бүх тохиргоо, програм хангамжийн шинэчлэлтийг алсаас хийх боломжтой болсон тул одоо та бүх зүйлийг сайхан орон сууцанд хийж болно.

Алхам 7: Сүлжээний зарим онцлог шинж чанаруудыг нэмж оруулах

Env.json дахь дараах тохиргооны хандалтыг идэвхжүүлж байна

  • програмыг агаарт шинэчлэх
  • SSDP сүлжээний протокол ашиглан сүлжээг илрүүлэх боломжийг олгодог бөгөөд одоогийн цагийг ntp серверээс авдаг.

{

… "Ota": {"0": {"порт": 8266, "passwd": "123", "description": "OTA Updates -ийг" шууд дамжуулж сонсох "}}," ssdp ": {" 0 ": {" Үйлдвэрлэгч ":" таны нэр "}}," ntptime ": {" 0 ": {" унших цаг ":" 36 цаг "," бүс ": 2}}}

Та цагийн бүсийг өөрийн байршилд тохируулах ёстой. Хэрэв та эргэлзэж байвал https://www.timeanddate.com/ вэбсайтыг ашиглан UTC/GMT -ээс офсет авах боломжтой. "2" нь Германы зуны улиралд тохиромжтой.

Та мөн https://homeding.github.io/index.htm#page=/savemo… дээрх баримт бичигт хадгалах горимын талаархи зааврыг уншсаны дараа ota нууц үгээ тохируулж болно.

Дахин эхлүүлсний дараа та агааржуулалтын төхөөрөмжийг сүлжээнээс олох боломжтой бөгөөд ntp серверээс хариу авсны дараа орон нутгийн цаг боломжтой болно.

Алхам 8: Зарим бүртгэл хийх

Зөвхөн бодит утгууд хангалттай өгөхгүй байж магадгүй тул бусад элементүүдийг ашиглаж болно.

Энэ түүхийн хувьд бүртгэлийн элемент ба NPTTime элементийг мэдрэгчийн утгуудын түүхийг бүртгэлийн файлд бүртгэхэд ашигладаг бөгөөд энэ элементийн вэб интерфейс карт үүнийг график хэлбэрээр харуулах боломжтой.

Дараах тохиргоо нь хий ба тоосонцорыг бүртгэх 2 лог элементийг бий болгодог.

{

"log": {"pm": {"description": "pm25 -ийн бүртгэл", "файлын нэр": "/pmlog.txt", "filesize": "10000"}, "aq": {"description": " Хийн чанарын бүртгэл "," файлын нэр ":" /aqlog.txt "," файлын хэмжээ ":" 10000 "}}}

Алхам 9: Үйлдлүүд

Үйлдлүүд
Үйлдлүүд

Одоо бид бодит утгыг үйлдэл ашиглан лог элемент рүү шилжүүлэх шаардлагатай байна. Үйлдлүүд нь URL тэмдэглэгээг ашиглан зорилтот элемент рүү kay болон утгыг дамжуулж байна. Олон элементүүд нь мэдрэгчийн шинэ утгыг авах гэх мэт тодорхой үйл явдлууд дээр үйлдэл хийхийг дэмждэг.

Үйлдлүүдийг гаргадаг элемент дээр үйлдлийг тохируулсан байх ёстой 2 оруулга шаардлагатай:

  • Pms/p25 onvalue event нь бодит утгыг log/pm элемент рүү утгын үйлдэл ашиглан илгээдэг.
  • Bme680/bd ongas event нь бодит утгыг log/pm элемент рүү утгын үйлдэл ашиглан илгээдэг.

{

"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}

Одоо бүх элементүүдийг тохируулсан болно.

Алхам 10: Зураг ба тохиргооны файлууд

Зураг ба тохиргооны файлууд
Зураг ба тохиргооны файлууд
Зураг ба тохиргооны файлууд
Зураг ба тохиргооны файлууд
Зураг ба тохиргооны файлууд
Зураг ба тохиргооны файлууд

Энд миний эцсийн IoT агаарын чанарын мэдрэгчийн зураг байна.

Татаж авах тохиргооны файлуудыг байршуулахаасаа өмнө *.json (no.txt) болгож өөрчлөх шаардлагатай.

Холбоос ба лавлагаа

  • HomeDing -ийн эх кодын агуулах:
  • Баримт бичиг:
  • Стандарт жишээ:
  • BME680 элемент:
  • PMS элемент:
  • Бүртгэлийн элемент:
  • NtpTime элемент:

Зөвлөмж болгож буй: