Мазмұны:

Wi -Fi сигнализациясы (және үйдегі автоматтандыру): 7 қадам (суреттермен)
Wi -Fi сигнализациясы (және үйдегі автоматтандыру): 7 қадам (суреттермен)

Бейне: Wi -Fi сигнализациясы (және үйдегі автоматтандыру): 7 қадам (суреттермен)

Бейне: Wi -Fi сигнализациясы (және үйдегі автоматтандыру): 7 қадам (суреттермен)
Бейне: Автоматты блоктау жүйесі 2024, Шілде
Anonim
Image
Image
Wi -Fi сигналының PIR (және үйдегі автоматтандыру)
Wi -Fi сигналының PIR (және үйдегі автоматтандыру)

Шолу

Бұл нұсқаулық сізге үйдегі автоматтандырылған бағдарламалық жасақтамада үй дабылының PIR (пассивті инфрақызыл датчиктер) іске қосылған соңғы күнді/уақытты (және міндетті түрде уақыт тарихын) қарау мүмкіндігін береді. Бұл жобада мен OpenHAB -пен қалай жұмыс істеу керектігін талқылаймын (мен жеке қолданатын үйдегі автоматтандырылған ақысыз бағдарламалық қамтамасыз ету), ол MQTT қолдайтын кез келген басқа үй автоматтандырылған бағдарламалық жасақтамамен немесе қосымшамен жұмыс істейтін болады (бұл мақалада кейінірек сипатталған). Бұл нұсқаулық сізді дабылдың басқару қорабындағы дабыл аймақтарына енетін Wemos D1 mini (ESP8266 чипін қолданатын IOT тақтасы) мен электр тақтасын қалай қосу керектігін көрсетеді. бір немесе бірнеше PIR) іске қосылса, Wemos MQTT протоколының көмегімен үйдегі автоматтандыру бағдарламасына сымсыз хабар жібереді, ол өз кезегінде осы триггердің соңғы күнін/уақытын көрсетеді. Wemos бағдарламалауға арналған Arduino коды да берілген.

Кіріспе

Жоғарыдағы сурет - менің iPhone -дағы OpenHAB қосымшасындағы экрандардың бірінен көргенім. Күн/уақыт мәтіні PIR іске қосылғанын тез көрсету үшін түспен кодталған - ол қызыл (соңғы 1 минут ішінде іске қосылады), қызғылт сары (соңғы 5 минут ішінде іске қосылады), жасыл (соңғы 30 минут ішінде іске қосылады) көрсетеді., көк (соңғы сағат ішінде іске қосылады) немесе басқаша, қара. Күн/уақытты басу PIR триггерлерінің тарихи көрінісін көрсетеді, онда 1 - іске қосылады, ал 0 - бос. Мұны қолданудың көптеген жолдары бар, мысалы, ол сіздің үйіңізде болу шешімін толықтыра алады, егер сіз алыста болсаңыз және OpenHAB ережелері арқылы қозғалысты анықтай алады, телефонға хабарландырулар жібере алады, сіз оны менің балаларымның бар -жоғын білу үшін қолдана аласыз. түн ортасында тұру, олардың жатын бөлмесінің сыртында орналасқан PIR арқылы!

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

Болжамдар

Бұл нұсқаулық сізде бар (немесе орнатады) деп болжайды:

  • Әлбетте, PIR (пассивті инфрақызыл сенсорлар) бар үй сигнализациясы және қажетті сымдарды қосу үшін дабылды басқару қорабына кіру мүмкіндігі бар.
  • OpenHAB (ақысыз ашық бастапқы автоматтандырылған үй бағдарламалық қамтамасыз ету) жұмыс істейді, бірақ ол талқыланғандай MQTT байланыстыруды қамтитын кез келген үй автоматтандыру бағдарламасымен жұмыс істеуі керек. Сонымен қатар, сіз өзіңіздің қажеттіліктеріңізге сәйкес кодты өзгерте аласыз.
  • OpenHAB көмегімен орнатылған және байланыстыратын Mosquitto MQTT (немесе ұқсас) брокері (MQTT - бұл хабарламаларға жазылу/жариялау типі протоколы, ол жеңіл және құрылғылар арасында байланыс үшін тамаша)

Егер сіз OpenHAB пен MQTT брокерін іске қоспасаңыз, MakeUseOf веб -сайтындағы осы тамаша мақаланы қараңыз.

Маған не керек?

Сымсыз контроллерді құру үшін келесі бөліктерді алу қажет:

  • Wemos D1 mini V2 (кіріктірілген ESP8266 сымсыз чипі бар)
  • LM339 компараторы (бұл PIR бос және іске қосылғанын тексереді)
  • Wemos үшін 5В тұрақты ток көзі (НЕМЕСЕ, DC-DC түрлендіргіші. Ескертпе: LM7805 кернеу реттегіші осы жобада кейінірек талқыланғандай жұмыс істемеуі мүмкін)
  • Кернеуді бөлуге арналған екі резистор (өлшемі сіздің дабыл кернеулеріңізге байланысты болады, жобада кейінірек талқыланады)
  • LM339 қуатын басқару үшін төмен түсетін резистор ретінде әрекет ететін 1K Ом резисторы
  • LM339 -ды логикалық түрде қосу үшін бір 2N7000 (немесе ұқсас) MOSFET (мүмкін емес, мүмкін, кейінірек жобада талқыланады)
  • Тізбекті орнату және сынау үшін қолайлы өлшемді тақта
  • Бәрін бір -бірімен байланыстыратын нандар тақтасы
  • Қажетті құралдар: бүйірлік кескіштер, бір өзекті сым
  • Тұрақты ток көп метрі (міндетті!)

1 -қадам: Дабыл жүйесін басқару терезесі

Дабыл жүйесін басқару қорабы
Дабыл жүйесін басқару қорабы

Алдымен бірнеше ескертулер мен ескертулер

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

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

1. Менің дабыл жүйесінде қораптың ішінде резервтік батарея болды, сонымен қатар қақпақтың ішкі жағында (дабыл жүйесінің тақтасына кіруге мүмкіндік беретін) қосқыш болды, сондықтан басқару панелінің алдыңғы панелін алып тастаған кезде дабылды сырттан өшіреді. қорап бұл дабылды іске қосты! Мен жобада жұмыс істеп жүргенде, осының бәрін айналып өту үшін мен бұрмалағышты ажыратып, сөндіргішті қысқа тұйықтап (жоғарыдағы суретте көрсетілгендей қалың қызыл сым) қорғанысты айналып өттім.

2. Дабыл жүйесін қайта қосқанда, шамамен ~ 12 сағаттан кейін дабылдың басқару пультінде ақаулық кодтары бар дыбыс шығарыла бастады. Нұсқаулық арқылы ақаулық кодтарын анықтағаннан кейін, бұл маған ескерту екенін білдім:

  • Күн/уақыт орнатылмаған (қайта конфигурациялау үшін нұсқаулықтағы басты код пен кілт реттілігі қажет болды)
  • Резервтік батарея қосылмаған (оңай түзету, мен батареяны қайта қосуды ұмытып кеттім)

3. Менің дабылымда PIR негізгі сигнал тақтасына қосылуы үшін 4 x аймақтық байланыс блоктары бар (Z1 -Z4 белгісі бар), дегенмен - менің дабыл жүйесі 8 аймаққа сәйкес келеді. Әрбір аймақтық байланыс блогы шын мәнінде әрқайсысында 2 x аймағын басқара алады (Z1 Z1 мен Z5, Z2 Z2 және Z6 және т.б.). Дабыл жүйесінде біреудің айтуын тоқтату үшін, жоғарыда айтылғандай дабыл жүйесінің қақпағын ашу немесе сымдарды PIR-ге кесу үшін кіріктірілген қорғаныс бар. Ол EOL (желі соңы) резисторлары арқылы әр аймақты бұзуды ажыратады. Бұл «жолдың соңында» орналасқан арнайы өлшемді резисторлар, басқаша айтқанда, PIR ішінде (немесе басқару қорабының бұзу қосқышы немесе сирена қорабы немесе сол аймаққа сымдалған) резисторлар жоғарыда айтылғандай, «бұзу» ретінде қолданылады. қорғаныс ' - техникалық жағынан, егер біреу кабельдерді PIR -ге кесіп тастаса - себебі дабыл жүйесі сол PIR -ден белгілі бір қарсылық көреді деп күтеді, егер қарсылық өзгерсе, ол біреу жүйені бұзды деп ойлайды және дабылды қосады.

Мысалға:

Менің дабылымда «Z4» аймағында 2 сым бар, біреуі менің кіреберістегі PIR -ге, екіншісі дабылды басқаруға арналған қорапты ауыстыру қосқышына ауысады. PIR кіреберісінің ішінде 3300 Ом резисторы бар. Басқару қорапшасын бұру қосқышына өтетін басқа сым 6800 Ом резисторына тізбектей қосылады. Дабыл жүйесі (логикалық түрде) «Z4» пен «Z8» туферлерін осылайша ажыратады. Дәл осылай, «Z3» аймағында PIR (3300 Ом резисторы бар), сонымен қатар «Z7» құрайтын сиренаны бұру қосқышы (6800 Ом резисторы бар) бар. Дабыл қондырғысы дабыл жүйесін алдын ала конфигурациялаған болар еді, сондықтан ол әр аймаққа қандай құрылғы қосылғанын біледі (және EOL резисторының өлшемін сәйкес етіп өзгертті, себебі дабыл жүйесі әр түрлі EOL резисторларының өлшемін білу үшін бағдарламаланған. Бұл резисторлардың мәнін ешқандай жағдайда өзгертуге болмайды!)

Жоғарыда айтылғандарға сүйене отырып, әр аймаққа бірнеше құрылғылар қосылуы мүмкін (әр түрлі қарсылық мәндері бар) және V = IR (кернеу = ампер x қарсылық) формуласын есте сақтаған кезде, бұл әр аймақта әр түрлі кернеулер болуы мүмкін дегенді білдіруі мүмкін. Бұл бізді келесі қадамға апарады, әр аймақты IDLE мен TRIGGERED кернеуін өлшейді …

2 -қадам: Дабыл аймағының кернеуін өлшеу

Дабыл аймағының кернеуін өлшеу
Дабыл аймағының кернеуін өлшеу
Дабыл аймағының кернеуін өлшеу
Дабыл аймағының кернеуін өлшеу

Сіз дабыл жүйесіндегі негізгі тақтаға қол жеткізгеннен кейін (егер сізде бар болса, ауыстыру қосқышын айналып өтіңіз; алдыңғы қадам бойынша) дабыл жүйесін қайта қосыңыз. Енді біз әрбір аймақтық кернеуді өлшеуіміз керек, егер оның ИДЛЕСІ (PIR алдында ешқандай қозғалыс жоқ) және TRIGGERED (PIR қозғалысты анықтады) кернеу көрсеткіштерін жазу үшін қалам мен қағазды алыңыз.

ЕСКЕРТУ: Сіздің дабыл жүйесінің негізгі бөлігі 12 В тұрақты токта жұмыс істеуі ықтимал, дегенмен оның бастапқы кернеуі 220 В (немесе 110 В) айнымалы токта болады, трансформатор қуатын айнымалы токтан тұрақты токқа түрлендіреді. Нұсқаулықты оқып шығыңыз және айнымалы ток терминалдарын өлшемейтіндігіңізге сенімді болыңыз !!! Бұл беттегі менің дабыл жүйесінің скриншотына сәйкес, суреттің төменгі жағында айнымалы токтың 12 В тұрақты токқа айналғанын көруге болады. Біз бөлінген қызыл ұяшықтарда 12В тұрақты токты өлшейміз. Айнымалы ток көзіне ешқашан қол тигізбеңіз. Өте мұқият болыңыз!

PIR кернеуін өлшеу

Менде Z1 -ден Z4 -ке қосылған 4 x PIR бар. Әр аймақты келесідей өлшеңіз.

  1. Алдымен дабыл тақтасындағы GND терминалы мен аймақтық терминалдарды анықтаңыз. Мен бұларды Bosch дабылының нұсқаулығында көрсетілген суретте бөлектедім.
  2. Мультиметрді алып, кернеуді 20 В тұрақты токқа орнатыңыз. Қара (COM) кабелін мультиметрден дабылдағы GND терминалына қосыңыз. Мультиметрден қызыл (+) сымды бірінші аймаққа қойыңыз - менің жағдайда «Z1» деп белгіленген. Кернеудің көрсеткішін жазыңыз. Қалған аймақтар үшін бірдей қадамдарды орындаңыз. Менің кернеудің өлшемдері келесідей:
  • Z1 = 6.65В
  • Z2 = 6.65В
  • Z3 = 7.92В
  • Z4 = 7.92В

Жоғарыда айтылғандай, менің алғашқы екі аймағымда тек PIR бекітілген. Соңғы екі аймақта PIR де, қорғаныс қорғанысы да бар (Z3 басқару қорабы, Z4 сиренасы), кернеудің айырмашылығына назар аударыңыз.

3. Келесі қадам үшін сізге 2 адам қажет болуы мүмкін. Сіз сондай -ақ PIR қай аймақта екенін білуіңіз керек. Қайтып оралыңыз және бірінші аймақтағы кернеуді оқыңыз. Енді үйде біреуді PIR алдында жүруге шақырыңыз, кернеу төмендеуі керек. Жаңа кернеудің көрсеткішіне назар аударыңыз. Менің жағдайда, PIR іске қосылған кезде кернеулер келесідей оқылады:

  • Z1 = 0В
  • Z2 = 0В
  • Z3 = 4.30В
  • Z4 = 4.30В

Жоғарыда айтылғандай, мен 1 және 2 -ші аймақтар іске қосылған кезде кернеудің 6,65 В -тан 0 В -қа дейін төмендейтінін көре аламын. Алайда, 3 және 4 -ші аймақтар іске қосылғанда, кернеу 7,92В -тан 4,30В -қа дейін төмендейді.

12 В қуат көзін өлшеу

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

Неліктен біз кернеуді өлшейміз?

Әр PIR үшін кернеуді өлшеудің себебі - біз жасайтын тізбек. Біз бұл жобаның негізгі электрлік компоненті ретінде LM339 төрт дифференциалды салыстыру чипін (немесе төрткөрсеткішті ампер-компараторды) қолданатын боламыз. LM339-де 4 тәуелсіз кернеу салыстырғыштары бар (4 арна), онда әр арна 2 x кіріс кернеуін қабылдайды (бір инверттеу (-) және бір инвертті емес (+) кірісті, диаграмманы қараңыз) Егер кернеудің кернеуінің кернеуі кернеуден төмен түсуі керек. айналмайтын кернеу, содан кейін оның шығысы жерге түседі. Дәл осылай, егер инверторланбаған кіріс кернеуі инвертті кірістен төмен түссе, онда шығыс Vcc дейін тартылады. Ыңғайлы, менің үйімде менде 4 рет дабыл ПИР/зонасы бар, сондықтан әр аймақ компаратордағы әр арнаға қосылады. Егер сізде 4 x PIR артық болса, сізге көп арналы компаратор немесе басқа LM339 қажет болады!

Ескерту: LM339 қуатты нано-амперде тұтынады, сондықтан қолданыстағы дабыл жүйесінің EOL кедергісіне әсер етпейді.

Егер бұл түсініксіз болса, келесі қадамға өтіңіз, бәрібір біз оны қосқаннан кейін мағынасы басталады!

3 -қадам: кернеу бөлгішті құру

Image
Image

Кернеуді бөлгіш дегеніміз не?

Кернеуді бөлгіш - бұл тізбегі 2 х резисторы (немесе одан да көп). Біз (Вин) кернеуді бірінші резисторға (R1) береміз, R1 -дің екінші аяғы екінші резистордың бірінші аяғына (R2), ал R2 -дің екінші ұшы GND -ге қосылады. Содан кейін біз R1 мен R2 арасындағы қосылымнан шығыс кернеуін (Vout) аламыз. Бұл кернеу LM339 үшін біздің негізгі кернеуге айналады. Кернеу бөлгіштер қалай жұмыс істейтіні туралы қосымша ақпарат алу үшін youtube Adohms бейнесін қараңыз

(Ескерту: резисторларда полярлық жоқ, сондықтан оларды кез келген жолмен қосуға болады)

Эталондық кернеуді есептеу

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

Менің дабылды мысалға алу …

Аймақтың бос кернеуі Z1 = 6.65V, Z2 = 6.65V, Z3 = 7.92V, Z4 = 7.92V болды. Ең төменгі бос кернеу - 6,65 В

Аймақтың кернеуі: Z1 = 0V, Z2 = 0V, Z3 = 4.30V, Z4 = 4.30V. Ең жоғары кернеу 4.30 В құрайды

Сондықтан біз 4.30 В пен 6.65 В арасындағы санды таңдауымыз керек (дәл болуы міндетті емес, шамамен) Менің жағдайда менің кернеу кернеуі 5,46 В шамасында болуы керек. Ескерту: Егер әр түрлі кернеулер диапазонын туғызатын бірнеше аймақтардың әсерінен ең төменгі бос және ең жоғары кернеу бір -біріне өте жақын болса, сізге 2 немесе одан да көп кернеу бөлгіштерін жасау қажет болуы мүмкін.

Кернеу бөлгіш үшін резистор мәндерін есептеу

Енді бізде эталондық кернеу бар, біз кернеу бөлгішін құру үшін резисторлардың қандай мөлшерін қажет ететінін есептеуіміз керек, ол біздің эталондық кернеуді қамтамасыз етеді. Біз дабылдан 12 В тұрақты кернеу көзін (Vs) қолданатын боламыз. Алайда, алдыңғы қадамға сәйкес, біз 12 В тұрақты кернеуді өлшегенде, бізде 13,15 В болды. Біз бұл мәнді көз ретінде пайдаланып кернеу бөлгішті есептеуіміз керек.

Ом заңын қолданып Vout есептеңіз …

Vout = Vs x R2 / (R1 + R2)

… Немесе желідегі кернеуді бөлу калькуляторын қолданыңыз:-)

Қажетті нәтижеге жеткенше резистор мәндерімен тәжірибе жасау қажет болады. Менің жағдайда ол R1 = 6.8k ohm және R2 = 4.7K ohm -мен жұмыс істеді, олар ұзақ формада есептелген:

Vout = Vs x R2 / (R1 + R2)

Vout = 13.15 x 4700 / (6800 + 4700)

Дауыс = 61, 805/11, 500

Кернеу = 5.37В

4 -қадам: LM339 сымын қосыңыз

Wemos D1 Mini -ді қосу
Wemos D1 Mini -ді қосу

LM339 инвертті кірістерге кернеу бөлгіш

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

  • Сымды дабыл жүйесіндегі 12В тұрақты ток блогынан + тақтадағы + рельске дейін өткізіңіз
  • Сигнал жүйесіндегі GND блогынан өз тақтасындағы рельске **
  • LM339 компараторын тақтаның ортасына орнатыңыз (ойық 1 -шеге жақын екенін көрсетеді)
  • Бөлінетін кернеуді ажырататын тізбек пен сымды ажырату үшін 2 х резисторды орнатыңыз
  • Сымдарды «кернеуге бөлінген» Vout -тан әрбір LM339 инверторлы терминалына қосыңыз

* КЕҢЕС: мүмкіндігінше қуат үшін аллигатор қысқышын қолданыңыз, себебі бұл сіздің жобаңызға ҚОСУ/ӨШіру қуатын беруді жеңілдетеді ** МАҢЫЗДЫ! Егер сіз Wemos -ты дабыл панелінен қоссаңыз, MOSFET қажет болуы мүмкін! Менің жағдайда, LM339, Wemos және Alarm барлығы бір көзден қуат алады (яғни: дабыл жүйесінің өзі) Бұл маған барлық қуат көзін бір қуат қосылымымен қосуға мүмкіндік береді. Алайда, әдепкі бойынша, Wemos -тағы GPIO түйреуіштері «INPUT» түйреуіштері ретінде анықталады, яғни олар кез келген кернеуді алады және кернеудің дұрыс деңгейін қамтамасыз ету үшін сол көзге сүйенеді (мин/максималды деңгейлер), сонда Wemos жеңеді. күйіп қалмаңыз немесе күйіп қалмаңыз. Менің жағдайда дабыл жүйесі өз күшіне ие болады және жүктеу ретін өте тез бастайды - бұл Wemos GPIO түйреуіштерін «INPUT_PULLUP» деп жарияламай тұрып жасайды (кернеу ішкі жағынан көтерілген) чип). Бұл кернеудің айырмашылығы бүкіл жүйе қуатқа ие болған кезде Wemos апатына әкеледі дегенді білдірмейді. Мұның жалғыз жолы - қолмен өшіру және Вемосты қосу. Бұл мәселені шешу үшін MOSFET қосылады және LM339 қосу үшін «логикалық қосқыш» қызметін атқарады. Бұл Wemos -қа жүктелуге, оның 4 х GPIO түйіспесін «INPUT_PULLUP» етіп орнатуға, бірнеше секундқа кешіктіруге мүмкіндік береді, содан кейін (шығыс ретінде анықталған D5 басқа GPIO түйіні арқылы) GPIO pin D5 арқылы «жоғары» сигналын MOSFET -ке жібереді, ол LM339 логикалық түрде қосады. Мен жоғарыда көрсетілгендей сым қосуды ұсынар едім, бірақ егер сіз Wemos -тың мен сияқты апатқа ұшырайтынын байқасаңыз, онда сізге MOSFET -ті 1 к ом резисторымен қосу керек болады. Мұны қалай жасау керектігі туралы қосымша ақпарат алу үшін нұсқаулықтың соңын қараңыз.

LM339 инвертті емес кірістерге арналған дабыл аймақтары

Енді бізге сигналды басқару панеліндегі әр аймақтан сымдарды LM339 компаратор кірістеріне қосу керек. Дабыл жүйесі әлі де өшірулі болса, әр аймақ үшін LM339 компараторындағы әр инверторлы емес (+) кіріске сым беріңіз. Мысалы, менің жүйеде:

  • Z1 сымы LM339 кірісіне 1+ өтеді
  • Z2 сымы LM339 кірісіне 2+ өтеді
  • Z3 сымы LM339 кірісіне 3+ өтеді
  • Z4 сымы LM339 кірісіне 4+ өтеді

Егер сіз еске салатын болсаңыз, LM339 3-ші қадамындағы пин-шығуды қараңыз (ол тақта суретімен түспен кодталған). Аяқтағаннан кейін сіздің тақтаңыз осы қадамда көрсетілген суретке ұқсас болуы керек.

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

5 -қадам: Wemos D1 Mini -ді қосу

Wemos D1 шағын сымын қосу

Енді бізде LM339 кірістерінің барлығына қамқорлық бар, енді біз Wemos D1 mini -ге қосылуымыз керек. Әрбір LM339 шығыс түйреуі Wemos GPIO (жалпы мақсаттағы кіріс/шығыс) түйреуішіне өтеді, біз оны код арқылы кіріс тартқыш ретінде белгілейміз. Wemos максималды 5 В дейін кернеуді алады (кіріс көзі) кернеу (бұл оны 3,3 В -қа дейін реттейді), бірақ біз LM7805 кернеу реттегішін қолданамыз (EDIT: төменде қараңыз). Wemos -ты қуаттандыру үшін 5В. LM7805 мәліметтер кестесі тақтаның кескінінде көрсетілгендей, қуатты тегістеу үшін бізге реттегіштің әр жағына қосылған конденсатор қажет екенін көрсетеді. Конденсатордың ұзын аяғы оң (+), сондықтан оның дұрыс сыммен қосылғанын тексеріңіз.

Кернеу реттегіші кернеуді қабылдайды (сол жақ түйреуіш), жерге тұйықталу (ортаңғы түйреуіш) және кернеу шығысы (оң жақ түйреуіш) Егер сіздің кернеу реттегіші LM7805-тен өзгеше болса, шығуды екі рет тексеріңіз.

(Өңдеу: Мен дабыл панелінен келетін амперлер LM7805 өңдеуге тым жоғары екенін байқадым. Бұл LM7805 шағын жылу қабылдағышында көп жылуды тудырды және оның істен шығуына әкелді, ал өз кезегінде Wemos тоқтап қалды. Мен LM7805 мен конденсаторларды орнына DC-DC кернеу түрлендіргішіне ауыстырдым, содан бері ешқандай проблемалар туындамады. Оларды сымға қосу өте оңай. Дабылдан кіріс кернеуін қосыңыз, алдымен мультиметрге қосыңыз және потенциометр бұрандасын қолданыңыз. және шығыс кернеуі ~ 5В дейін реттеңіз)

GPIO кіріс түйреуіштері

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

  • Z1 аймағы => түйреу D1
  • аймақ Z2 => түйреу D2
  • Z3 аймағы => D3 түйреуіші
  • Z4 аймағы => D5 түйреуіші

LM339 -дан шығуларды Wemos тақтасындағы GPIO түйреуіштеріне осы қадамда көрсетілген тақтаның суреті бойынша өткізіңіз. Тағы да, мен нені білдіретінін түсінуді жеңілдету үшін кірістер мен сәйкес шығуларды түспен кодтадым. Arduino -дағы әрбір GPIO түйрегіші «INPUT_PULLUP» ретінде анықталады, яғни олар қалыпты пайдалану кезінде (IDLE) 3.3В дейін тартылады, ал LM339 PIR іске қосылған кезде оларды жерге түсіреді. Код жоғарыдан төменге дейінгі өзгерісті анықтайды және үйдегі автоматтандыру бағдарламалық жасақтамасына хабарды сымсыз жібереді. Егер сізде бұл жұмыс кезінде қиындықтар туындаса, сізде инверторлық және инверторлық емес кірістер дұрыс емес болуы мүмкін (егер сіздің ПИР-дің кернеуі іске қосылған кезде жоғарыласа, көптеген хобби PIR-дегідей болса, онда сіз қосылымдарды қосқыңыз келеді) басқаша)

Arduino IDE

Wemos -ты тақтадан алып тастаңыз, енді оған код жүктеу керек (осында балама сілтеме) Мен мұны қалай жасау керектігі туралы егжей -тегжейлі айтпаймын, өйткені Интернетте Wemos немесе басқа ESP8266 кодын жүктеу туралы көптеген мақалалар бар. тақталар. USB кабелін Wemos тақтасына және компьютерге қосыңыз және Arduino IDE -ді қосыңыз. Кодты жүктеп алып, оны жобаңызда ашыңыз. Сіз өзіңіздің жобаңызға дұрыс тақта орнатылғанын және жүктелгенін, сонымен қатар дұрыс COM портын таңдағанын (құралдар, порт) қамтамасыз етуіңіз керек. Wemos тақтасын эскизге қосу үшін сізге сәйкес кітапханалар орнатылуы қажет (PubSubClient, ESP8266Wifi), осы мақаланы қараңыз.

Келесі код жолдарын өзгерту керек, сымсыз қосылу үшін жеке SSID мен құпия сөзді ауыстыру қажет. Сонымен қатар, MQTT брокерін көрсету үшін IP мекенжайын өзгертіңіз.

// Сымсыз дәлдiк

const char* ssid = «your_wifi_ssid_here»; const char* password = «your_wifi_password_here»; // MQTT Broker IPAddress MQTT_SERVER (172, 16, 223, 254)

Өзгертілгеннен кейін кодты растаңыз, содан кейін USB кабелі арқылы Wemos тақтасына жүктеңіз.

Ескертулер:

  • Егер сіз әр түрлі GPIO порттарын қолдансаңыз, кодты реттеу қажет болады. Егер сіз менікінен көп немесе аз аймақтарды қолдансаңыз, сізге кодты және TOTAL_ZONES = 4 реттеу қажет болады; сәйкес келетін тұрақты.
  • Менің дабыл беру жүйемді іске қосқан кезде, дабыл жүйесі барлық 4 x PIR -ге қуат сынағын өткізеді, ол барлық қосылған GPIO -ны жерге қосады, бұл Wemos -ты аймақтар іске қосылды деп ойлайды. Егер код бір уақытта 4 x аймағының барлығын белсенді түрде көретін болса, ол MQTT хабарламаларын жіберуді елемейді, себебі ол дабыл жүйесі қосылады деп болжайды.

Жүктеудің балама сілтемесі мына жерде

6 -қадам: тестілеу және OpenHAB конфигурациясы

Тестілеу және OpenHAB конфигурациясы
Тестілеу және OpenHAB конфигурациясы

MQTT тестілеуі

MQTT - «жазылу / жариялау» хабар алмасу жүйесі. Бір немесе бірнеше құрылғы «MQTT брокерімен» сөйлесе алады және белгілі бір тақырыпқа «жазыла» алады. Дәл осы тақырыпқа «жарияланған» кез келген басқа құрылғыдан келген кез келген хабарламалар брокермен оған жазылған барлық құрылғыларға жіберіледі. Бұл протоколды қолдану өте жеңіл және қарапайым және осындағыдай қарапайым триггерлік жүйе ретінде мінсіз. Тестілеу үшін сіз Wemos -тан MQTT брокеріне MQTT кіріс хабарламаларын Mosquitto серверінде келесі пәрменді орындау арқылы қарай аласыз (Mosquitto - MQTT Broker -дің көптеген бағдарламалық жасақтамаларының бірі). Бұл команда кіріс сақтайтын хабарламаларға жазылады:

mosquitto_sub -v -t openhab/дабыл/күй

Сіз 30 минут сайын Wemos -тан кіретін хабарламаларды көруге тиіссіз: «1» санымен («мен тірімін» дегенді білдіреді). Егер сіз тұрақты «0» -ді көрсеңіз (немесе жауап жоқ), онда байланыс болмайды. Сіз 1 нөмірінің келе жатқанын көргенде, бұл Wemos MQTT брокерімен байланысып жатқанын білдіреді (бұл қалай жұмыс істейтіні туралы қосымша ақпарат алу үшін «MQTT Last Will and Testament» іздеңіз немесе бұл блогтың шынымен жақсы жазбасын қараңыз).

Байланыстың функционалды екенін дәлелдегеннен кейін, біз MQTT арқылы аймақтық жағдай туралы есеп алатынын тексере аламыз. Келесі тақырыпқа жазылыңыз (# қойылмалы таңба)

mosquitto_sub -v -t openhab/дабыл/#

Кәдімгі күй хабарлары, сонымен қатар Wemos -тың IP -адресі келуі керек. PIR алдында серуендеңіз, сонымен қатар аймақ туралы ақпараттың АШЫЛҒАНЫН, содан кейін бір секундтан кейін келесідей жабық екенін көрсететінін көресіз:

openhab/дабыл/күй 1

openhab/дабыл/аймақ1 АШЫҚ

openhab/дабыл/аймақ1 ЖАБЫҚ

Бұл жұмыс істегеннен кейін, біз OpenHAB -ті GUI -де жақсы ұсынылатын етіп конфигурациялай аламыз.

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

OpenHAB үшін келесі өзгерістер қажет:

'alarm.map' түрлендіру файлы: (міндетті емес, тестілеу үшін)

CLOSED = IdleOPEN = TriggeredNULL = Белгісіз- = Белгісіз

'status.map' түрлендіру файлы:

0 = Сәтсіз

1 = Желіде -= ТӨМЕН! NULL = белгісіз

'items' файлы:

String alarmMonitorState «Дабыл мониторы [MAP (status.map):%s]» {mqtt = «<[mqttbroker: openhab/alarm/status: state: default]»} String alarmMonitorIPAddress «Дабыл мониторы IP [%s]» {mqtt = <: openhab/alarm/zone1: state: әдепкі «} String alarmZone1Trigger» Lounge PIR [%1 $ ta%1 $ tr] «Number zone2_Chart_Period» Zone 2 Chart «Contact alarmZone2State» Zone 2 Zone [MAP (alarm.map):% s] «{mqtt =» <[mqttbroker: openhab/alarm/zone2: state: default «} String alarmZone2Trigger» First Hall PIR [%1 $ ta %1 $ tr] «Number zone3_Chart_Period» Zone 3 Chart «Contact alarmZone3State» Zone 3 күй [MAP (alarm.map):%s] «{mqtt =» <[mqttbroker: openhab/alarm/zone3: state: default «} String alarmZone3Trigger» Bedroom PIR [%1 $ ta%1 $ tr] «нөмірі zone4_Chart_Period «4 -аймақтық диаграмма» байланыс дабылыZone4State «4 -ші аймақ [MAP (alarm.map):%s]» {mqtt = «<[mqttbroker: openha b/alarm/zone4: күй: әдепкі «} String alarmZone4Trigger» Негізгі зал PIR [%1 $ ta %1 $ tr] «

'сайт картасы' файлы (rrd4j графигін қоса):

Мәтін элементі = alarmZone1Trigger valuecolor = [<= 60 = «#ff0000», <= 300 = «#ffa500», <= 600 = «#008000», 3600 = «#000000»] {Frame {Item item = zone1_Chart_Period label = «Период» салыстырулары = [0 = «Сағат», 1 = «Күн», 2 = «Апта»] Суреттің url = «https:// localhost: 8080/rrdchart.png» visibility = [zone1_Chart_Period == 0, zone1_Chart_Period = = Басталмаған] Суреттің url = «https:// localhost: 8080/rrdchart.png» visibility = [zone1_Chart_Period == 1] Суреттің url = «https:// localhost: 8080/rrdchart.png» көріну = [zone1_Chart_Period == 2]}} Мәтін элементі = alarmZone2Trigger valuecolor = [<= 60 = «#ff0000», <= 300 = «#ffa500», <= 600 = «#008000», 3600 = «#000000»] {Фрейм {Элементті ауыстыру = zone2_Chart_Period label = «Период» салыстырулары = [0 = «Сағат», 1 = «Күн», 2 = «Апта»] Суреттің url = «https:// localhost: 8080/rrdchart.png» visibility = [zone2_Chart_Period == 0, zone2_Chart_Period == Басталмаған] Кескін url = «https:// localhost: 8080/rrdchart.png» visibility = [zone2_Chart_Period == 1] Суреттің url = «https:// localhost: 8080/rrdchart.png» visibility = [zone2_Chart_Period == 2]}} Мәтін элементі = alarmZone3Trigger valuecolor = [<= 60 = «#ff0000», <= 300 = «#ffa500», <= 600 = «#008000», 3600 = «#000000»] {Frame {Switch item = zone3_Chart_Period label = «Period» салыстырулары = [0 = «Сағат», 1 = «Күн», 2 = «Апта»] Суреттің url = «https:// localhost: 8080/rrdchart.png» visibility = [zone3_Chart_Period == 0, zone3_Chart_Period == Басталмаған] Кескін url = «https:// localhost: 8080/rrdchart.png» visibility = [zone3_Chart_Period == 1] Сурет url = «https:// localhost: 8080/rrdchart.png» visibility = [zone3_Chart_Period == 2]}} Мәтін item = alarmZone4Trigger valuecolor = [<= 60 = «#ff0000», <= 300 = «#ffa500», <= 600 = «#008000», 3600 = «#000000»] {Frame {Switch item = zone4_Chart_Period label = « «Салыстырулар =» кезеңі = [0 = «Сағат», 1 = «Күн», 2 = «Апта»] Сурет url = «https:// localhost: 8080/rrdchart.png» visibility = [zone4_Chart_Period == 0, zone4_Chart_Period == Басталмаған] Суреттің url = «https:// localhost: 8080/rrdchart.png» visibility = [zone4_Chart_Period == 1] Суреттің url = «https:// localhost: 8080/rrdchart.png» visibility = [zone4_Chart_Period == 2] }} // ҚОСЫМША, бірақ статус пен IP адресін диагностикалауға ыңғайлы ss Мәтін элементі = alarmMonitorState Мәтін элементі = alarmMonitorIPAddress

«ережелер» файлы:

ереже «Дабыл 1 аймағының күйінің өзгеруі»

alarmZone1State элементі АШЫҚ күйіне ауысқанда postUpdate (alarmZone1Trigger, жаңа DateTimeType ()) alarmZone1State.state = ЖАБЫҚ соңы

«Дабыл аймағының 2 күйінің өзгеруі» ережесі

alarmZone2State элементі АШЫҚ күйіне ауысқанда postUpdate (alarmZone2Trigger, жаңа DateTimeType ()) alarmZone2State.state = ЖАБЫҚ соңы

ереже «Дабыл 3 аймағының күйін өзгерту»

alarmZone3State элементі АШЫҚ күйіне ауысқанда postUpdate (alarmZone3Trigger, жаңа DateTimeType ()) alarmZone3State.state = ЖАБЫҚ соңы

ереже «Дабыл 4 аймағының күйінің өзгеруі»

alarmZone4State элементі АШЫҚ күйіне ауысқанда, postUpdate (alarmZone4Trigger, жаңа DateTimeType ()) alarmZone4State.state = ЖАБЫҚ соңы

Жоғарыдағы OpenHAB конфигурациясын өзіңіздің жеке баптауларыңызға сәйкес өзгерту қажет болуы мүмкін.

Егер сізде PIR -ді іске қосуда қиындықтар туындаса, басынан бастап, тізбектің әр бөлігінің кернеуін өлшеңіз. Сіз бұған риза болғаннан кейін, сымдарыңызды тексеріңіз, ортақ негіз бар екеніне көз жеткізіңіз, Wemos хабарламаларын сериялық отладтау консолі арқылы тексеріңіз, MQTT байланысын тексеріңіз және түрлендірудің синтаксисін, элементтер мен сайт картасын тексеріңіз.

Іске сәт!

Ұсынылған: