WiFi IoT температура мен ылғалдылық сенсоры. Бөлім: 8 IoT, үйді автоматтандыру: 9 қадам
WiFi IoT температура мен ылғалдылық сенсоры. Бөлім: 8 IoT, үйді автоматтандыру: 9 қадам
Anonim
WiFi IoT температура мен ылғалдылық сенсоры. Бөлім: 8 IoT, үйді автоматтандыру
WiFi IoT температура мен ылғалдылық сенсоры. Бөлім: 8 IoT, үйді автоматтандыру

Кіріспе

Бұл мақала алғашқы IoT WiFi құрылғысын «пимпинг» деп аталатын нұсқаулықтың практикалық беріктігі мен одан әрі дамуын куәландырады. 4 -бөлім: IoT, үй автоматикасы, үйдегі үй жағдайында табысты орналастыруға мүмкіндік беретін барлық қажетті бағдарламалық қамтамасыз етуді қамтиды.

Кіріспе

Жоғарыда айтылғандай, бұл Нұсқаулық IOT -тің бұрынғы мысалын практикалық қолдану жағдайларын сәтті өңдеуге мүмкіндік беретін сенімді жүйелік дизайнмен біріктіруді сипаттайды; Апаттық қуаттың жоғалуы, MQTT брокерінің істен шығуы, WiFi N/W істен шығуы, қашықтан басқару сенсорының қайта конфигурациясы, желілік трафикті азайту және реттелетін сенсорды калибрлеу үшін конфигурацияланатын есеп беру стратегиясы.

Барлығы 6 өшіру құрылғысы жасалды (жоғарыдағы 1 -суретті қараңыз) және IoT сенсорлық желісін құру үшін менің үйіме таратылды.

Нұсқаулық сонымен қатар IoT Home Automation бастапқы сериясында қолданылған MQTT атау конвенциясының шолуын көреді, бұл IoT трафигінің көп IoT ортасында IoT трафигін жеңілдетуге мүмкіндік беретін неғұрлым теңдестірілген, практикалық құрылымға мүмкіндік береді.

Төменде IoT сенсорының толық дизайны туралы мәліметтер бар, соның ішінде; құрылыс, бастапқы код, тестілеу стратегиясы және OpenHAB конфигурациялары.

Маған қандай бөлшектер қажет?

  1. 1 жеңілдік ESP8266-01,
  2. 2 өшіру 1uF электролиттік конденсаторлар,
  3. 3 өшіру 10K резисторы,
  4. 1 өшіру 330R резисторы,
  5. Диаметрі 1 мм 3 мм. ЖАРЫҚ ДИОДТЫ ИНДИКАТОР,
  6. 1 өшіру LD1117-33v, 3v3 LDO VReg. (Фарнелл мұнда),
  7. 1 өшіру DHT22 температура/ылғалдылық сенсоры,
  8. 1 өшіру қосарлы 4 жолды 0.1 «қосқыш,
  9. 1 дана CAMDENBOSS RX2008/S-5 пластикалық корпусы, құмыра қорабы, ABS, 38 мм, 23 мм (мұнда Фарнелл),
  10. 1 өшірулі тұрақты ток қосқышы, штепсель, 1 А, 2 мм, панельді бекіту (мұнда Фарнелл),
  11. 1 өшіру TO-220 радиаторы 24,4 ° C/Вт (Фарнелл мұнда),
  12. Әр түрлі жылуға арналған құбырлар (сары, Ebay мұнда),
  13. Әр түрлі ұзындықтағы IDC таспалы кабель,
  14. Жылытқыш қоспасы,
  15. Верборд,
  16. ESP8266-01 бағдарламалау құрылғысы. Мұнда қараңыз; Тақтасы бар практикалық схема құрылысы, 9 -қадам.

Маған қандай бағдарламалық қамтамасыз ету қажет?

  1. Arduino IDE 1.6.9
  2. Arduino IDE ESP8266-01 бағдарламалау үшін конфигурацияланған. Мұнда қараңыз; Arduino IDE бағдарламасын ESP8266-01 бағдарламасына орнату

Маған қандай құралдар қажет?

  1. Дәнекерлеу темірі,
  2. Бұрғылау және әр түрлі биттер,
  3. Файлдар,
  4. Hacksaw,
  5. Мықты вице,
  6. Мылтық,
  7. DMM.

Маған қандай дағдылар қажет?

  1. Электрониканы аз түсіну,
  2. Arduino және оның IDE туралы білімі,
  3. Дайындаудың қарапайым дағдылары (дәнекерлеу, кесу, кесу, бұрғылау және т.
  4. Кейбір шыдамдылық,
  5. Үй желісі туралы біраз түсінік.

Тақырыптар қамтылды

  1. Контурға шолу
  2. Бағдарламалық қамтамасыз ету жүйесіне шолу
  3. Бағдарламалық қамтамасыз етуге шолу
  4. Сенсорды калибрлеу
  5. MQTT тақырыпты атау конвенциясы
  6. OpenHAB конфигурациясы
  7. Дизайнды сынау
  8. Қорытынды
  9. Қолданылған әдебиеттер

Сериялар сілтемелері

7 -бөлімге: Study Lights Controller (қайта өңделген). 7 -бөлім: IoT, үйді автоматтандыру

9 -бөлімге: IoT желілік контроллері. 9 -бөлім: IoT, үйді автоматтандыру

1 -қадам: схемаға шолу

Схемаға шолу
Схемаға шолу
Схемаға шолу
Схемаға шолу
Схемаға шолу
Схемаға шолу
Схемаға шолу
Схемаға шолу

Жоғарыдағы 1 -суретте IoT сенсорының толық схемасы көрсетілген.

IoT құрылғысының орталығында GPIO2-ге 10K тартқыш резистор арқылы DHT22 температура/ылғалдылық сенсорына қосылған ESP8266-01 орналасқан. Сыртқы 5В ауыспалы режиммен қамтамасыз етіледі және құрылғыға тұрақты токтың 2 мм розеткасы арқылы беріледі және LD1117-33v, 3v3 LDO кернеу реттегішімен BZP M3 табаның басы бұрандасы мен гайкасы бар сыртқы жылу қабылдағышқа орнатылады..

Дизайн GPIO0 -ге қосылған 3 мм қызыл жарықдиодты қамтиды, ол IoT құрылғысының күйін қосылу кезінде немесе кез келген қате жағдайында жергілікті түрде көрсету үшін қолданылады. Сондай -ақ, оны openHAB интерфейсі арқылы қолмен іске қосу арқылы құрылғыны анықтау үшін пайдалануға болады.

Толық конструкция жоғарыда 2 -суретте көрсетілгендей ABS құмыра қорабына жақсы сәйкес келеді және сенсордың жергілікті қыздыру әсерінен әсерін болдырмау үшін реттегіштен мүмкіндігінше алыс орналасуын қамтамасыз ету үшін арнайы салынған (жоғарыдағы сурет 7).

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

4… 6 суреттерде құрылыстың әр түрлі жағдайлары көрсетілген.

2 -қадам: Бағдарламалық қамтамасыз ету жүйесіне шолу

Бағдарламалық қамтамасыз ету жүйесіне шолу
Бағдарламалық қамтамасыз ету жүйесіне шолу
Бағдарламалық қамтамасыз ету жүйесіне шолу
Бағдарламалық қамтамасыз ету жүйесіне шолу

Бұл IoT температурасы мен ылғалдылығын анықтайтын құрылғы жоғарыда 1 -суретте көрсетілгендей бағдарламалық қамтамасыз етудің алты негізгі компонентінен тұрады.

SPIFFS

Бұл SPI Flash файлдық борттық жүйесі және келесі ақпаратты сақтау үшін қолданылады (жоғарыдағы 2-суретті қараңыз);

  • Белгішелер мен 'Сенсор конфигурациясының бастапқы беті' html: IoT Wi -Fi желісіне қосыла алмайтын кезде IoT құрылғысы қызмет көрсетеді (әдетте дұрыс емес қауіпсіздік ақпаратына байланысты) және пайдаланушыға сенсорды қашықтан конфигурациялау құралын ұсынады. жаңа SPIFFS мазмұнын қайта бағдарламалау немесе жүктеу үшін.
  • Қауіпсіздік туралы ақпарат: бұл IoT WiFi желісі мен MQTT брокеріне қосылу үшін IoT құрылғысы қосылған кезде қолданылатын ақпаратты сақтайды. 'Sensor Configuration Home Page' арқылы берілген ақпарат осы файлға жазылады ('secvals.txt').
  • Калибрлеу туралы ақпарат: Бұл файлдағы ақпарат ('calvals.txt') қажет болған жағдайда борттағы температура/ылғалдылық датчигін калибрлеу үшін қолданылады. Калибрлеу тұрақтыларын IoT құрылғысына MQTT брокерінің MQTT командалары арқылы ғана жазуға болады.

Ескерту: Құрылғыны бастапқы күйге келтіру үшін SPIFFS -ті Arduino IDE -мен пайдалану туралы толық ақпаратты мына жерден қараңыз.

mDNS сервері

Бұл функция IoT құрылғысы WiFi желісіне Wi -Fi станциясы ретінде қосыла алмаса және оның орнына жергілікті WiFi маршрутизаторына ұқсас WiFi кіру нүктесіне айналған кезде шақырылады. Егер мұндай маршрутизатор болса, сіз әдетте оған 192.168.1.1 IP мекенжайын енгізу арқылы қосыласыз (әдетте қорапқа жапсырылған жапсырмада басылады) сіздің шолғыштың URL -жолағына тікелей кіру парағын аласыз. құрылғыны конфигурациялауға мүмкіндік беретін пайдаланушы аты мен құпия сөз.

AP режимінде ESP8266 (кіру нүктесі режимі) үшін құрылғы әдепкі бойынша 192.168.4.1 IP мекенжайын орнатады, бірақ mDNS сервері жұмыс істеп тұрған кезде, браузердің URL -жолағына «SENSORSVR.local» деген адамға ыңғайлы атауды енгізу қажет. «Сенсор конфигурациясының бастапқы беті».

MQTT клиенті

MQTT клиенті барлық қажетті функцияларды қамтамасыз етеді; IoT желісінің MQTT брокеріне қосылыңыз, сіз таңдаған тақырыптарға жазылыңыз және берілген тақырыпқа жүктемені жариялаңыз. Қысқаша айтқанда, бұл IoT негізгі функционалдығын қамтамасыз етеді.

HTTP веб -сервері

Жоғарыда айтылғандай, егер IoT құрылғысы SSID, P/W және т.б. SPIFFS -те сақталатын қауіпсіздік ақпараты файлында анықталған WiFi желісіне қосыла алмаса, құрылғы кіру нүктесіне айналады. Қатынас нүктесі қамтамасыз ететін WiFi желісіне қосылғаннан кейін, HTTP веб -серверінің болуы құрылғыға тікелей қосылуға және оның конфигурациясын HTTP веб -шолғышының көмегімен өзгертуге мүмкіндік береді, оның мақсаты - сенсорды конфигурациялау үйіне қызмет ету. Беттің веб -беті, ол SPIFFS -те де сақталады.

WiFi станциясы

Бұл функция IoT құрылғысына қауіпсіздік ақпараты файлындағы параметрлерді қолдана отырып, үйдегі WiFi желісіне қосылу мүмкіндігін береді, онсыз сіздің IoT құрылғысы MQTT брокеріне жазыла алмайды/жариялай алмайды.

WiFi кіру нүктесі

WiFi кіру нүктесі болу мүмкіндігі - бұл IoT құрылғысы оған қосылу және WiFi станциясы мен браузер арқылы конфигурацияны өзгертуге мүмкіндік беретін құрал (мысалы, Apple iPad -тағы Safari).

Бұл кіру нүктесі SSID = «SENSOR» + IoT құрылғысының MAC мекенжайының соңғы 6 цифрын таратады. Бұл жабық желінің құпия сөзі «PASSWORD» деп аталады

3 -қадам: Бағдарламалық қамтамасыз етуге шолу

Бағдарламалық қамтамасыз етуге шолу
Бағдарламалық қамтамасыз етуге шолу
Бағдарламалық қамтамасыз етуге шолу
Бағдарламалық қамтамасыз етуге шолу

Бұл бастапқы кодты сәтті құрастыру үшін сізге келесі қосымша кітапханалар қажет болады;

PubSubClient.h

  • Авторы: Ник О'Лири
  • Мақсаты: құрылғыға берілген брокермен MQTT тақырыптарын жариялауға немесе жазылуға мүмкіндік береді
  • Кімнен:

DHT.h

  • Авторы: Адафрут
  • Мақсаты: DHT температура/ылғалдылық сенсорына арналған кітапхана
  • Кімнен:

Кодқа шолу

Бағдарламалық қамтамасыз ету жоғарыдағы 1-суретте көрсетілгендей мемлекеттік машинаны қолданады (төменде келтірілген дереккөздің толық көшірмесі). Төмендегідей 5 негізгі мемлекет бар;

  • ІШІНДЕ

    Бұл инициализация күйі қосылғаннан кейін енгізілген бірінші күй

  • NOCONFIG

    Бұл күй енгізілгеннен кейін жарамсыз немесе жоқ secvals.txt файлы анықталған жағдайда енгізіледі

  • NW күтуде

    Бұл күй өтпелі, WiFi желісіне қосылмаған кезде енгізілген

  • MQTT күтуде

    Бұл күй өтпелі, WiFi желісіне қосылғаннан кейін енгізіледі және бұл желіде MQTT брокерімен байланыс жоқ

  • АКТИВТІ

    Бұл WiFi желісінің қосылымы мен MQTT брокерінің қосылымы орнатылғаннан кейін енгізілген қалыпты жұмыс күйі. Дәл осы күйде сенсордың температурасы мен ылғалдылығы MQTT брокерінде жарияланады

Мемлекеттер арасындағы ауысуларды бақылайтын оқиғалар жоғарыдағы 1 -суретте сипатталған. Штаттар арасындағы ауысулар SecVals -тың келесі параметрлерімен де реттеледі;

  • Бірінші MQTT брокерінің IP мекенжайы. AAA. BBB. CCC. DDD нүктелі ондық түрінде
  • 2 -ші MQTT брокер порты. Бүтін түрінде.
  • 3 -ші MQTT Broker қосылымы STA режимінен AP режиміне ауыспас бұрын жасауға тырысады. Бүтін түрінде.
  • 4 -ші WiFi желісінің SSID. Мәтін еркін түрде.
  • 5 -ші WiFi желісінің құпия сөзі. Мәтін еркін түрде.

Жоғарыда айтылғандай, егер IoT құрылғысы WiFi желісіне Wi -Fi станциясы ретінде қосыла алмаса, SSID және P/W SPIFFS -те сақталған secvals.txt -те анықталған болса, IoT құрылғысы кіру нүктесіне айналады. Бұл кіру нүктесіне қосылғаннан кейін ол жоғарыда 2 -суретте көрсетілгендей «сенсор конфигурациясының бастапқы бетіне» қызмет көрсетеді («SENSORSVR.local» немесе 192.168.4.1 браузерлерінің URL мекенжай жолағына енгізу арқылы). Бұл басты бет сенсорды HTTP браузері арқылы қайта конфигурациялауға мүмкіндік береді.

ACTIVE күйінде болғанда қашықтан қатынау

MQTT брокеріне қосылғаннан кейін MQTT тақырыптық жарияланымдар арқылы құрылғыны қайта калибрлеуге де, қайта конфигурациялауға да болады. Calvals.txt файлында R/W қатынасы бар және secvals.txt тек жазуға рұқсаты бар.

Қолданбаны түзету

Жүктеу кезіндегі IoT құрылғысы келесі жөндеу туралы кері байланысты береді

  • 1 Қысқа жарқыл: SPIFFS -те конфигурация файлы жоқ (secvals.txt)
  • 2 Қысқа жыпылықтау: IoT құрылғысы WiFi желісіне қосылуға тырысуда
  • Үздіксіз жарықтандыру: IoT құрылғысы MQTT брокеріне қосылуға тырысуда
  • Өшірулі: құрылғы белсенді
  • Ескертпе 1: «Сенсор конфигурациясының бастапқы беті» қауіпсіз розеткаларды пайдаланбайды, сондықтан сіздің желіңіз қауіпсіз болады.
  • 2 -ескерту: Әрбір IoT құрылғысын бағдарламалау үшін MQTT тізімі жүктелмес бұрын өңдеуді қажет етеді. Бұл сенсордың нөмірі MQTT тақырып жолына ендірілгендіктен. яғни. Менің 6 құрылғым үшін 'WFD/THSen/100/HumdStatus/1' сәйкесінше 1… 6 нөмірленген.

4 -қадам: сенсорды калибрлеу

Сенсорды калибрлеу
Сенсорды калибрлеу
Сенсорды калибрлеу
Сенсорды калибрлеу

IoT құрылғысы іске қосылғанда, жүктеу кезегінің бір бөлігі ретінде SPIFFS -тен 'cavals.txt' атты файл оқылады. Бұл файлдың мазмұны 1 -суретте көрсетілгендей калибрлеудің тұрақты мәндері болып табылады. Бұл калибрлеу тұрақтылары сенсордан алынған көрсеткіштерді оларды анықтамалық құрылғымен сәйкестендіру үшін реттеу үшін қолданылады. Құрылғының есеп беру стратегиясын анықтайтын және сенсорларды калибрлеу процедурасымен бірге төменде сипатталған тағы бір мән бар.

Есеп беру стратегиясыБұл параметр қашықтан басқару құралының сенсоры қоршаған орта параметрлік өзгерістері туралы қалай хабар беретінін анықтайды. Егер 0 мәні таңдалса, қашықтан басқару сенсоры сенсор әр оқылған сайын температура немесе ылғалдылық мәндерінде болатын өзгерістерді жариялайды (шамамен әр 10 секунд сайын). Кез келген басқа мән өзгерісті жариялауды 1… 60 минутқа кешіктіреді. Бұл параметрді өзгерту MQTT желілік трафигін оңтайландыруға мүмкіндік береді.

Температураны калибрлеу

Датчиктерді калибрлеу үшін олар жоғарыда көрсетілген 2 -суретте көрсетілгендей бір -біріне физикалық жақын орналасқан температураның жақсы өзгеруіне қол жеткізу үшін бір күн ішінде тренд беті. Мен статикалық ығысуды (нөлдік «С» жоғарылаған) және калибрленген термопарадан келетін мәнге қатысты әр құрылғының өзгеру жылдамдығын («М» графигінің көлбеуін) байқадым. Содан кейін мен y = mx+c қарапайым қатынасын есептедім (мен оны сызықты графикке жақын жуықтау ретінде жеткілікті түрде сызықты деп таптым) және MQTTSpy арқылы калибрлеу тұрақтыларына қажетті түзетулерді бағдарламаладым.

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

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

Ылғалдылықты калибрлеу

Жергілікті ылғалдылықты дәл жазып алуға немесе тіпті бақылауға мүмкіндігім болмағандықтан, сенсорларды калибрлеу үшін мен жоғарыда айтылған тәсілмен барлық құрылғыларды физикалық жақын орналастыру арқылы қолдандым (2 -сурет) және OpenHAB арқылы олардың шығуын бақылау. Ылғалдылық беті. Содан кейін мен калибрлеу сілтемесі ретінде №1 құрылғыны таңдадым және осыған байланысты барлық құрылғыларды калибрледім.

5 -қадам: MQTT тақырыптық атау конвенциясы

MQTT тақырыпты атау конвенциясы
MQTT тақырыпты атау конвенциясы
MQTT тақырыпты атау конвенциясы
MQTT тақырыпты атау конвенциясы

Көптеген сынақтар мен қателіктерден кейін мен жоғарыдағы 1 -суретте көрсетілген тақырыптық конвенцияға тоқталдым.

Атап айтқанда, 'AccessMethod/DeviceType/whichDevice/Action/SubDevice'

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

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

Ескерту: MQTTSpy қалай қолданылатынын білмесеңіз, мына жерден қараңыз: MQTT брокерін орнату. 2 -бөлім: IoT, үйді автоматтандыру

6 -қадам: OpenHAB конфигурациясы

OpenHAB конфигурациясы
OpenHAB конфигурациясы
OpenHAB конфигурациясы
OpenHAB конфигурациясы
OpenHAB конфигурациясы
OpenHAB конфигурациясы

Мен бұрынғы нұсқаулықта берілген OpenHAB конфигурациясын өзгерттім (мұнда) және жеке жазбаларға қосылды;

  • Гараж,
  • Холл,
  • Тұрғын бөлме,
  • Ас үй
  • Қонақ жатын бөлме
  • Шебер жатын бөлме

Сайт картасында жоғарыдағы 1 суретті қараңыз.

Бұл жазбалардың әрқайсысы үшін мен қоршаған ортаның жергілікті мәндерін көрсететін жеке сайт карталарын қостым (2 -суретті қараңыз);

  • Температура
  • Ылғалдылық
  • Жылу индексі

Мен сондай -ақ сенсорға орнатылған жергілікті сымды басқаруға арналған қосқышты енгіздім.

3… 5 суреттерде температура, ылғалдылық және RSSI (қабылданған сигнал күшінің көрсеткіші, сенсор WiFi желісін қаншалықты жақсы көретінін өлшейтін) үшін 24 сағат ішінде жеке тірі іздер көрсетілген.

6 суретте бір апта ішінде ылғалдылықтың ұзақ мерзімді үрдісі мысал келтірілген.

Ескертпе 1: Егер сіз OpenHAB -ты қалай пайдалану керектігін білмесеңіз, мына жерден қараңыз: OpenHAB орнату және конфигурациялау. 6 -бөлім: IoT, үйді автоматтандыру '

2 -ескерту: Төменде өзгертілген сайт картасының, ережелер мен элементтер файлдарының, белгішелердің және т.б. көшірмесі берілген.

7 -қадам: Дизайнды тексеру

Дизайнды сынау
Дизайнды сынау
Дизайнды сынау
Дизайнды сынау

Мен IoT құрылғысын MQTT Spy көмегімен MQTT байланысы арқылы тексердім, сериялық интерфейстегі жетекші шығыс пен жөндеу трафигін бақыладым. Бұл маған барлық қол жетімді жазылған тақырыптарды қолдануға және жарияланған жауаптарды тексеруге мүмкіндік берді. Бұған қолмен қол жеткізіліп, кейде біршама жалықтыратын болса да, ол 100% қамтуды қамтамасыз етті.

Негізгі мемлекеттік машинаны сынау қиынға соқты, себебі ол белгілі бір параметрлер жиынтығын қажет ететін WiFi желісінің болуына немесе болмауына сүйенді. Бұл үшін үй желісін пайдалану практикалық емес еді.

Бұл мәселені шешу үшін мен тиісінше 'DummyNet1' және 'DummyNet2' SSID-тері бар кіру нүктелері (1-сурет) ретінде конфигурацияланған ESP8266-01 көмегімен жеке желілік желілер тобын құрдым. Светодиодтың үстіндегі 2 -суреттегі схеманы қолдану оған IoT құрылғысы қосылғанын көрсетеді. Бұл тестілеудің тамаша шешімі болмаса да (яғни, бұл Wi -Fi желілерінің әрқайсысында MQTT сервері жоқ) мемлекеттік машинаны толық тексеруге болады.

Мен төменде бастапқы кодтың көшірмесін қостым.

8 -қадам: Қорытынды

Жалпы

IoT құрылғыларындағы бағдарламалық қамтамасыз ету көптеген айлар бойы сенімді жұмыс істеді, енді үйдегі электр қуатының үзілуінен (негізінен өзім себеп болды) қалпына келді. Тұтастай алғанда, бұл дәйекті және нақты деректерді беретін өте сенімді құрылғылар.

Жақсартулар

Бағдарламалық қамтамасыз етуді әзірлеу кезінде мен SPIFFS -ке оқу мен жазуға арналған кодты жаздым, ол мен ойлағаннан әлдеқайда жетілдірілген болуы мүмкін, бос көрсеткіштерді, қайта өңдеуді және көрсеткіштерге көрсеткіштерді қолдана отырып. Бұл өте икемді және жұмысты жақсы орындағанмен, келесі жолы мен оны сәл жеңілдету үшін ConfigFile.ino желісі бойынша JSON -ды қолдана аламын.

  • Arduino GIT HUB Core

    https://github.com/esp8266/Arduino

  • ConfigFile.ino көзі

    https://github.com/esp8266/Arduino/tree/master/libraries/esp8266/examples/ConfigFile

Тілектер тізімі

Мен брокерге қосылу үшін mDNS клиентін қолданғым келді, бірақ кітапхана тым жұмсақ болды. Сондықтан MQTT Broker IP мекенжайын 'MQTTSVR.local' емес, көрсету қажет. Болашақта mDNS кітапханасы тұрақты бола бастаса, мен бұл мүмкіндікті құрылғыға қосамын.

Датчиктерді калибрлеу үшін қоршаған ортаның ылғалдылығын дәл бақылау мен бақылау құралдары болса жақсы болар еді. Алайда, таңдалған калибрлеу әдісі жақсы салыстырмалы көрсеткіштерді береді және DHT22 мәліметтер парағындағы сипаттамаға сәйкес дәл көрінеді.

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

9 -қадам: Қолданылған әдебиеттер

Мен осы Нұсқаулықты біріктіру үшін келесі дереккөздерді қолдандым;

PubSubClient.h

  • Авторы: Ник О'Лири
  • Кімнен:

DHT.h

  • Авторы: Адафрут
  • Кімнен:

DHT22 мәліметтер парағы

Ұсынылған: