Мазмұны:

Ішкі IoT ауа сапасының сенсорын жасаңыз, бұлт қажет емес: 10 қадам
Ішкі IoT ауа сапасының сенсорын жасаңыз, бұлт қажет емес: 10 қадам

Бейне: Ішкі IoT ауа сапасының сенсорын жасаңыз, бұлт қажет емес: 10 қадам

Бейне: Ішкі IoT ауа сапасының сенсорын жасаңыз, бұлт қажет емес: 10 қадам
Бейне: Жігітім дұрыстап тықпаса не істеу керек? 2024, Маусым
Anonim
Ішкі IoT ауа сапасының сенсорын жасаңыз, бұлт қажет емес
Ішкі IoT ауа сапасының сенсорын жасаңыз, бұлт қажет емес
Ішкі IoT ауа сапасы сенсорын жасаңыз, бұлт қажет емес
Ішкі IoT ауа сапасы сенсорын жасаңыз, бұлт қажет емес
Ішкі IoT ауа сапасының сенсорын жасаңыз, бұлт қажет емес
Ішкі IoT ауа сапасының сенсорын жасаңыз, бұлт қажет емес
Ішкі IoT ауа сапасы сенсорын жасаңыз, бұлт қажет емес
Ішкі IoT ауа сапасы сенсорын жасаңыз, бұлт қажет емес

Ішкі немесе сыртқы ауаның сапасы көптеген ластану көздеріне, сондай -ақ ауа райына байланысты.

Бұл құрылғы 2 сенсорлық чипті қолдана отырып, кейбір қарапайым және ең қызықты параметрлерді түсіреді.

  • Температура
  • Ылғалдылық
  • Қысым
  • Органикалық газ
  • Микробөлшектер

Бұл жерде температураны, ылғалдылықты, қысымды және органикалық газды өлшеуге арналған BME680 датчиктері және микро бөлшектердің тығыздығын алу үшін PMS5003 қолданылады.

HomeDing кітапханасын пайдалану арқылы үйдегі желіге қосылған және оны желідегі кез келген шолғыш арқылы басқаруға болатын құрылғыны құру оңай. Ол ең көп таралған сенсорлық чиптерді, құрылғыларды және басқа қызметтерді пайдалануға мүмкіндік беретін элементтердің жиынтығымен бірге келеді.

Ол сонымен қатар сенсорлық мәліметтерді көрсету және құрылғымен өзара әрекеттесу үшін бұлтқа негізделген шешімді пайдаланудың орнына, құрылғы ішінде веб -жағын орналастырудың толық шешімін ұсынады.

Жабдықтар

Бұл жобаны құру үшін сізге nodemcu тақтасы мен ауа сапасын өлшейтін датчиктер жиынтығы сияқты ESP8266 негізіндегі тақта қажет. Бұл жобада қолданылатын HomeDing кітапханасы температура, ылғалдылық, қысым мен сапаға арналған сенсорлық микросхемалардың кейбірін қолдайды. Мұнда BMP680 чипі қолданылады.

  • USB қосқышы мен қуат көзіне арналған микро-USB кабелі.
  • ESP8266 процессоры бар 1 nodemcu тақтасы.
  • 1 BME680 сенсорлық ажырату тақтасы.
  • PMS5003 типті 1 PM2.5 ауа бөлшектерінің лазерлік датчигі

BME680 сенсорын DHT22 сенсорымен ауыстыру оңай, себебі оларды кітапхана көптеген басқа қолдау көрсетеді.

1 -қадам: Arduino ортасын ESP8266 үшін дайындаңыз

Arduino ортасын ESP8266 үшін дайындаңыз
Arduino ортасын ESP8266 үшін дайындаңыз
  1. Arduino IDE соңғы нұсқасын орнатыңыз (қазіргі уақытта 1.8.2 нұсқасы).
  2. Esp8266 қолдауын орнату үшін Board Manager бағдарламасын қолданыңыз. Толық нұсқаулықты мына жерден табуға болады:
  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 анықтаңыз

Жаңа құрылғыны желіге қосудың қарапайымдылығы үшін SSD мен үй WiFi құпия сөзін standard.ino нобай файлының жанындағы secret.h файлына қосуға болады. Сонымен қатар, құрылғыны желіге осы қатаң кодталған конфигурациясыз қосу үшін кіріктірілген WiFi менеджерін пайдалануға болады.

Енді эскизді іске асыруға қатысты барлық нәрсе жасалды, микробағдарламаны құрастыруға және жүктеуге болады.

4 -қадам: Интернеттің интерфейсін жүктеңіз

Стандартты мысал интерфейс интерфейсіне арналған барлық файлдарды қамтитын деректер қалтасымен бірге келеді.

Бұл файлдарды жүктемес бұрын сіз осы мақаладан таба алатын 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»: {«адрес»: «0x77», «оқу уақыты»: «10с»}}

Әрекеттерді кейін қосамыз.

Орнатуды тексеру үшін браузерді қолданыңыз және https://airding/board.htm ашыңыз, сіз сенсордың нақты мәндерін көресіз және олар әр 10 секунд сайын жаңартылып отырады:

6 -қадам: PMS5003 датчигін қосыңыз

PMS5003 датчигін қосыңыз
PMS5003 датчигін қосыңыз

Менде тақтаға ыңғайлы қосқышы бар сенсор жоқ, сондықтан мен оны дәнекерлеу үтігімен nodemcu тақтасына тікелей бекіту үшін кабельдегі қосқыштардың бірін кесуге тура келді. Сіз мұны соңғы суреттерден көре аласыз.

Бұл сенсордың қуаты әдетте USB шинасы арқылы жұмыс істейтін Виннен алынуы керек. GND бірдей, бірақ сонымен бірге Vin түйреуішінің жанында қол жетімді.

Сенсордан алынған деректер стандартты 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 Жаңартуларын эфирде тыңдаңыз»}}, «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 элементі сенсор мәндерінің тарихын журнал файлына жазу үшін қолданылады және бұл элементтің Web UI картасы оны график түрінде көрсете алады.

Келесі конфигурация газ мен бөлшектер үшін 2 журнал элементтерін жасайды:

{

«log»: {«pm»: {«description»: «pm25 журналы», «файл атауы»: «/pmlog.txt», «filesize»: «10000»}, «aq»: {«description»: « Газ сапасының журналы «,» файл атауы «:» /aqlog.txt «,» файл өлшемі «:» 10000 «}}}

9 -қадам: Әрекеттер

Әрекеттер
Әрекеттер

Енді біз нақты мәндерді журнал элементтеріне әрекеттерді қолдану арқылы беруіміз керек. Әрекеттер мақсатты элементке kay мен мәнді беру үшін URL белгісін қолданады. Көптеген элементтер сенсордың жаңа мәнін алу сияқты белгілі бір оқиғаларға әсер етуді қолдайды.

Әрекеттер әрекетті шығаратын элементте конфигурацияланған, 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 (no.txt) деп өзгерту керек.

Сілтемелер мен сілтемелер

  • HomeDing бастапқы коды репозиторийі:
  • Құжаттама:
  • Стандартты мысал:
  • BME680 элементі:
  • PMS элементі:
  • Журнал элементі:
  • NtpTime элементі:

Ұсынылған: