Satura rādītājs:
- 1. darbība: signalizācijas sistēmas vadības bloks
- 2. darbība. Trauksmes zonas sprieguma mērīšana
- 3. darbība. Sprieguma dalītāja izveide
- 4. solis: pievienojiet vadu LM339
- 5. solis: Wemos D1 Mini savienošana
- 6. darbība: testēšana un OpenHAB konfigurācija
Video: Signalizācija PIR uz WiFi (un mājas automatizāciju): 7 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Pārskats
Šī pamācība sniegs jums iespēju mājas mājas automatizācijas programmatūrā skatīt pēdējo datumu/laiku (un pēc izvēles laika vēsturi), kad tika aktivizēti jūsu mājas signalizācijas PIR (pasīvie infrasarkanie sensori). Šajā projektā es apspriedīšu, kā to izmantot kopā ar OpenHAB (bezmaksas mājas automatizācijas programmatūru, kuru es personīgi izmantoju), lai gan tā darbosies ar jebkuru citu mājas automatizācijas programmatūru vai lietojumprogrammu, kas atbalsta MQTT (arī aprakstīts vēlāk šajā rakstā). Šī pamācība palīdzēs jums veikt nepieciešamās darbības, lai pieslēgtu shēmas plati un Wemos D1 mini (IOT plate, kas izmanto ESP8266 mikroshēmu), kas pieskaras trauksmes zonām jūsu trauksmes vadības lodziņā, lai zonā (kas satur tiek aktivizēts viens vai vairāki PIR), Wemos bezvadu režīmā, izmantojot MQTT protokolu, nosūta ziņojumu jūsu mājas automatizācijas programmatūrai, kas savukārt parāda šī aktivizētāja pēdējo datumu/laiku. Tiek nodrošināts arī Arduino kods Wemos programmēšanai.
Ievads
Iepriekš redzamais attēls ir tas, ko es redzu, izmantojot vienu no iPhone ekrāna OpenHAB lietotnes ekrāniem. Datuma/laika teksts ir kodēts ar krāsām, lai ātrāk parādītu, kad tika aktivizēts PIR - tas būs sarkans (aktivizēts pēdējās 1 minūtes laikā), oranžs (aktivizēts pēdējo 5 minūšu laikā), zaļš (aktivizēts pēdējo 30 minūšu laikā), zils (aktivizēts pēdējās stundas laikā) vai citādi, melns. Noklikšķinot uz datuma/laika, tiks parādīts PIR aktivizētāju vēsturiskais skats, kur 1 nozīmē aktivizētu un 0 ir dīkstāvē. Tam ir daudz pielietojumu, piemēram, tas varētu papildināt jūsu mājas klātbūtnes risinājumu, tas var noteikt kustību, ja esat prom, un, izmantojot OpenHAB noteikumus, sūtīt paziņojumus uz tālruni, jūs varētu to izmantot tāpat kā es, lai redzētu, vai mani bērni ir piecelšanās nakts vidū, ko izraisa PIR, kas atrodas ārpus viņu guļamistabām!
OpenHAB ir vienkārši mājas automatizācijas programmatūra, kuru es izmantoju, ir daudzas citas - un, ja tās atbalsta MQTT, tad jūs varat viegli pielāgot šo projektu jūsu izmantotajai programmatūrai.
Pieņēmumi
Šajā pamācībā tiek pieņemts, ka jums jau ir (vai tiks iestatīts):
- Acīmredzot mājas signalizācijas sistēma ar PIR (pasīvajiem infrasarkanajiem sensoriem) un ka jums ir piekļuve trauksmes vadības blokam, lai pieslēgtu nepieciešamo vadu
- OpenHAB (bezmaksas atvērtā pirmkoda mājas automatizācijas programmatūra) darbojas, lai gan, kā minēts iepriekš, tai vajadzētu strādāt ar jebkuru mājas automatizācijas programmatūru, kas var ietvert MQTT saistīšanu. Alternatīvi, jūs varat mainīt kodu pats, lai tas atbilstu jūsu vajadzībām.
- Instalēts Mosquitto MQTT (vai līdzīgs) brokeris un konfigurēts ar OpenHAB (MQTT ir ziņojumapmaiņas abonēšanas/publicēšanas tipa protokols, kas ir viegls un lieliski piemērots saziņai starp ierīcēm)
Ja nedarbojat OpenHAB un MQTT brokeri, skatiet šo lielisko rakstu vietnē MakeUseOf
Kas man vajadzīgs?
Lai izveidotu bezvadu kontrolieri, jums būs jāiegūst šādas daļas:
- Wemos D1 mini V2 (ir iebūvēts ESP8266 bezvadu CHIP)
- LM339 salīdzinātājs (tas pārbaudīs PIR dīkstāvi pret aktivizēto)
- 5 V līdzstrāvas avots Wemos (VAI, līdzstrāvas līdzstrāvas pārveidotājs. Piezīme. Sprieguma regulators LM7805 var nedarboties šajā lietojumprogrammā, kā aprakstīts vēlāk šajā projektā)
- Divi sprieguma dalītāja rezistori (izmērs būs atkarīgs no trauksmes sprieguma, apspriests vēlāk projektā)
- Viens 1K omu rezistors, kas darbojas kā nolaižams rezistors LM339 jaudas kontrolei
- Viens 2N7000 (vai līdzīgs) MOSFET, lai loģiski ieslēgtu LM339 (iespējams, pēc izvēles, apspriests vēlāk projektā)
- Piemērota izmēra maizes dēlis ķēdes iestatīšanai un testēšanai
- Maizes dēļa vadu ķekars, lai visu savienotu kopā
- Nepieciešamie instrumenti: sānu griezēji, vienkodola stieple
- Līdzstrāvas daudzmetrs (obligāti!)
1. darbība: signalizācijas sistēmas vadības bloks
Vispirms daži brīdinājumi un atrunas
Personīgi man ir Bosch signalizācijas sistēma. Es ļoti ieteiktu lejupielādēt atbilstošo rokasgrāmatu savai konkrētajai signalizācijas sistēmai un iepazīties ar to pirms darba uzsākšanas, jo jums būs jāizslēdz signalizācijas sistēma, lai pieslēgtu zonas. Es arī ieteiktu jums izlasīt šo rakstu pilnībā pirms sākat!
Zemāk ir saraksts ar dažām lietām, kas jums jāzina pirms darba uzsākšanas - pirms turpināt, noteikti izlasiet un saprotiet katru no tām! Es neuzņemos nekādu atbildību, ja jūs sabojājat signalizācijas sistēmu un/vai jums ir jāmaksā uzstādītājam, lai to labotu. Tomēr, ja izlasāt un saprotat tālāk minēto un veicat nepieciešamos piesardzības pasākumus, jums viss ir kārtībā:
1. Manai signalizācijas sistēmai bija rezerves akumulators kastes iekšpusē, kā arī tamperu slēdzis vāka iekšpusē (kas nodrošina piekļuvi trauksmes sistēmas panelim), lai pat izslēgtu modinātāju ārēji, noņemot vadības ierīces priekšējo paneli kastē tas iedarbināja trauksmi! Lai to apietu, kamēr strādāju pie projekta, es apieju aizsardzību pret viltošanu, atvienojot un pēc tam īssavienojot viltojuma slēdzi (biezā sarkanā stieple, kā parādīts iepriekšējā fotoattēlā)
2. Atkārtoti ieslēdzot signalizācijas sistēmu, aptuveni pēc 12 stundām signalizācijas vadības panelis sāka pīkstēt ar kļūdu kodiem. Pēc kļūdu kodu noteikšanas, izmantojot rokasgrāmatu, es uzzināju, ka tas mani brīdina:
- Datums/laiks nebija iestatīts (lai pārkonfigurētu, man vajadzēja galveno kodu un atslēgu secību no rokasgrāmatas)
- Ka rezerves akumulators nebija pievienots (vienkāršs labojums, es tikko aizmirsu atkal pievienot akumulatoru)
3. Manā modinātājā ir 4 x zonu savienojuma bloki (apzīmēti ar Z1 -Z4), lai PIR varētu pieslēgties galvenajam trauksmes panelim, tomēr - mana signalizācijas sistēma faktiski spēj izveidot 8 zonas. Katrs zonas savienojuma bloks faktiski var darbināt 2 x zonas (Z1 dara Z1 un Z5, Z2 - Z2 un Z6 utt.). Signalizācijas sistēmai ir iebūvēta aizsardzība pret viltojumiem, lai apturētu kādu teikšanu, atverot signalizācijas sistēmas vāku, kā minēts iepriekš, vai pārtraucot vadus līdz PIR. Tas nošķir katru zonas viltojumu, izmantojot EOL (līnijas beigas) rezistorus. Tie ir īpaši izmēra rezistori, kas atrodas "līnijas beigās" - citiem vārdiem sakot, PIR (vai vadības kastes viltojuma slēdža, sirēnas kastes vai jebkura cita, kas ir pievienots šai zonai) iekšpusē. Kā minēts, šie rezistori tiek izmantoti kā "viltojumi" aizsardzība” - tehniski, ja kāds pārtrauc PIR kabeļus - jo signalizācijas sistēma sagaida noteiktu pretestību no šī PIR, tad, ja pretestība mainīsies, tā pieņem, ka kāds ir iejaucies sistēmā un iedarbinās trauksmi.
Piemēram:
Manā modinātājā zonā "Z4" ir 2 vadi, viens iet pie PIR manā gaitenī, bet viens - pie signalizācijas vadības kastes viltošanas slēdža. Priekšnama PIR iekšpusē tam ir 3300 omu rezistors. Otram vadam, kas ved uz vadības kārbas viltošanas slēdzi, ir sērijveidā pievienots 6800 omu rezistors. Šādi signalizācijas sistēma (loģiski) nošķir "Z4" un "Z8" tamperus. Tāpat zonā "Z3" ir PIR (ar 3300 omu rezistoru) un arī sirēnas tamperis (ar 6800 omu rezistoru), kas veido "Z7". Signalizācijas uzstādītājs būtu iepriekš konfigurējis trauksmes sistēmu, lai tā zinātu, kāda ierīce ir pievienota katrai zonai (un mainīja EOL rezistora izmēru, lai tas atbilstu, jo signalizācijas sistēma ir ieprogrammēta tā, lai zinātu, kāda izmēra ir dažādi EOL rezistori. nekādā gadījumā nevajadzētu mainīt šo rezistoru vērtību!)
Tātad, pamatojoties uz iepriekš minēto, jo katrai zonai var būt pievienotas arī vairākas ierīces (ar dažādām pretestības vērtībām) un atceroties formulu V = IR (spriegums = ampēri x pretestība), tas var nozīmēt arī to, ka katrai zonai var būt atšķirīgs spriegums. Kas noved mūs pie nākamā soļa, mērot katru zonu IDLE un TRIGGERED spriegumu …
2. darbība. Trauksmes zonas sprieguma mērīšana
Kad esat saņēmis piekļuvi savai signalizācijas sistēmas galvenajai platei (un apiet viltojuma slēdzi, ja tāds ir; saskaņā ar iepriekšējo soli), ieslēdziet trauksmes sistēmu. Tagad mums ir jāmēra katras zonas spriegums, kad tas ir tukšgaitā (PIR priekšā nav kustības) salīdzinājumā ar TRIGGERED (PIR ir konstatējis kustību) Paņemiet pildspalvu un papīru, lai varētu pierakstīt sprieguma rādījumus.
BRĪDINĀJUMS: Lielākā daļa jūsu signalizācijas sistēmas, visticamāk, darbosies ar 12 V līdzstrāvu, tomēr sākotnējā barošana tiks nodrošināta pie 220 V (vai 110 V) maiņstrāvas, un transformators pārveido jaudu no maiņstrāvas uz līdzstrāvu. IZLASIET rokasgrāmatu un veiciet papildu piesardzību, pārliecinoties, ka NEMĒRAT maiņstrāvas spailes !!! Saskaņā ar manas signalizācijas sistēmas ekrānuzņēmumu šajā lapā, jūs varat redzēt, ka pašā attēla apakšā ir maiņstrāvas padeve, kas pārveidota par 12 V līdzstrāvu. Mēs mērām 12 V līdzstrāvu iezīmētajās sarkanajās kastēs. Nekad nepieskarieties maiņstrāvas avotam. Esiet ārkārtīgi piesardzīgs!
PIR sprieguma mērīšana
Man ir 4 x PIR savienojumi ar Z1 līdz Z4. Izmēriet katru savu zonu šādi.
- Vispirms trauksmes panelī identificējiet GND termināli un zonas termināļus. Es tos esmu uzsvēris attēlā, kas parādīts manas Bosch signalizācijas rokasgrāmatā.
- Paņemiet savu multimetru un iestatiet sprieguma mērījumu uz 20 V DC. Pievienojiet melno (COM) kabeli no sava multimetra modinātāja GND terminālim. Novietojiet sarkano (+) vadu no sava multimetra pirmajā zonā - manā gadījumā ar apzīmējumu "Z1". Pierakstiet sprieguma rādījumu. Veiciet tās pašas darbības pārējām zonām. Mani sprieguma mērījumi ir šādi:
- Z1 = 6,65 V
- Z2 = 6,65 V
- Z3 = 7,92V
- Z4 = 7,92V
Kā minēts iepriekš, manās pirmajās divās zonās ir arī tikai PIR. Pēdējās divās zonās ir iebūvēti gan PIR, gan aizsardzība pret viltojumiem (Z3 vadības kārbas tamperis, Z4 sirēnas tamperis) Ievērojiet sprieguma atšķirības.
3. Lai veiktu šo nākamo darbību, jums, iespējams, būs nepieciešami 2 cilvēki. Jums arī jāzina, kurš PIR atrodas kādā zonā. Atgriezieties un nolasiet spriegumu pirmajā zonā. Tagad lieciet kādam savā mājā staigāt PIR priekšā, spriegumam vajadzētu samazināties. Ņemiet vērā jauno sprieguma rādījumu. Manā gadījumā spriegumi tiek nolasīti šādi, kad tiek aktivizēti PIR:
- Z1 = 0V
- Z2 = 0V
- Z3 = 4,30 V.
- Z4 = 4,30 V.
Saskaņā ar iepriekš minēto es redzu, ka, aktivizējot 1. un 2. zonu, spriegums samazinās no 6.65V līdz 0V. Tomēr, aktivizējot 3. un 4. zonu, spriegums samazinās no 7.92V līdz 4.30V.
12V barošanas avota mērīšana
Projekta barošanai mēs izmantosim 12 V līdzstrāvas termināli no trauksmes vadības kastes. Mums ir jāmēra spriegums no trauksmes 12 V līdzstrāvas padeves. Lai gan tas jau norāda 12V, mums ir jāzina precīzāks rādījums. Manā gadījumā tas faktiski ir 13,15 V. Pierakstiet to, jums būs nepieciešama šī vērtība nākamajā darbībā.
Kāpēc mēs mērām spriegumu?
Iemesls, kāpēc mums ir jāmēra spriegums katram PIR, ir saistīts ar ķēdi, kuru mēs izveidosim. Šajā projektā mēs izmantosim LM339 četru diferenciālo salīdzināšanas mikroshēmu (vai četru op-amp salīdzinātāju). LM339 ir 4 neatkarīgi sprieguma salīdzinātāji (4 kanāli), kur katram kanālam ir 2 x ieejas spriegumi (viena apgriezta (-) un viena neinvertējoša (+) ieeja, skat. Diagrammu) Ja apgrieztā ieejas sprieguma spriegumam vajadzētu pazemināties zemāk par neinvertējošo spriegumu, tad ar to saistītā izeja tiks piesaistīta zemei. Tāpat, ja neinvertējošais ieejas spriegums nokrītas zemāk par invertējošo ieeju, izeja tiek pavilkta līdz Vcc. Ērti manā mājā man ir 4 x signalizācijas PIR/zonas - tādēļ katra zona tiks pieslēgta katram salīdzinājuma kanālam. Ja jums ir vairāk nekā 4 x PIR, jums būs nepieciešams salīdzinājums ar vairāk kanāliem vai cits LM339!
Piezīme: LM339 patērē jaudu nano-ampēros, tāpēc neietekmēs esošās signalizācijas sistēmas EOL pretestību.
Ja tas ir mulsinoši, turpiniet ar nākamo soli, un pēc tam, kad tas būs izveidots, tam būs lielāka jēga!
3. darbība. Sprieguma dalītāja izveide
Kas ir sprieguma dalītājs?
Sprieguma dalītājs ir ķēde ar 2 x rezistoriem (vai vairāk) virknē. Mēs nodrošinām spriegumu (Vin) pirmajā rezistorā (R1) Otra R1 daļa savienojas ar otrā rezistora (R2) pirmo kāju, bet otrs R2 gals savienojas ar GND. Pēc tam mēs ņemam izejas spriegumu (Vout) no savienojuma starp R1 un R2. Šis spriegums kļūs par mūsu atsauces spriegumu LM339. Plašāku informāciju par sprieguma dalītāju darbību skatiet Adohms youtube video
(Piezīme: rezistoriem nav polaritātes, tāpēc tos var pieslēgt abos virzienos)
Aprēķinot mūsu atsauces spriegumu
Pieņemot, ka spriegums samazinās, kad tiek aktivizēts jūsu PIR (tam vajadzētu būt lielākajai daļai trauksmes signālu), tad tas, ko mēs cenšamies sasniegt, ir iegūt sprieguma rādījumu, kas ir gandrīz pusceļā starp zemāko tukšgaitas spriegumu un augstāko spriegumu, tas kļūs par mūsu atsauces spriegumu.
Par piemēru ņemot modinātāju …
Zonas tukšgaitas spriegumi bija Z1 = 6.65V, Z2 = 6.65V, Z3 = 7.92V, Z4 = 7.92V. Tāpēc zemākais tukšgaitas spriegums ir 6,65 V.
Zonas iedarbinātie spriegumi bija: Z1 = 0V, Z2 = 0V, Z3 = 4.30V, Z4 = 4.30V. Tāpēc augstākais spriegums ir 4,30 V.
Tātad mums ir jāizvēlas skaitlis pusceļā starp 4.30V un 6.65V (nav jābūt precīzam, tikai aptuveni). Manā gadījumā manam atsauces spriegumam jābūt aptuveni 5.46V. Piezīme. Ja zemākais tukšgaitas un augstākais spriegums ir ļoti tuvu viens otram vairāku zonu dēļ, kas izraisa dažādu spriegumu diapazonu, jums, iespējams, būs jāizveido 2 vai vairāki sprieguma dalītāji.
Aprēķinot mūsu rezistoru vērtības sprieguma dalītājam
Tagad mums ir atsauces spriegums, mums jāaprēķina, kāda izmēra rezistori mums ir nepieciešami, lai izveidotu sprieguma dalītāju, kas nodrošinās mūsu atsauces spriegumu. Mēs izmantosim 12 V līdzstrāvas sprieguma avotu (Vs) no trauksmes. Tomēr saskaņā ar iepriekšējo soli, mērot 12 V līdzstrāvas padevi, mēs faktiski saņēmām 13,15 V. Mums ir jāaprēķina sprieguma dalītājs, izmantojot šo vērtību kā avotu.
Aprēķiniet Vout, izmantojot omu likumu…
Vout = Vs x R2 / (R1 + R2)
… Vai izmantojiet tiešsaistes sprieguma dalītāja kalkulatoru:-)
Jums būs jāeksperimentē ar rezistora vērtībām, līdz sasniegsiet vēlamo jaudu. Manā gadījumā tas izdevās ar R1 = 6,8k omi un R2 = 4,7K omi, kas garā veidā aprēķināts šādi:
Vout = Vs x R2 / (R1 + R2)
Vout = 13,15 x 4700 / (6800 + 4700)
Vout = 61, 805/11, 500
Vout = 5,37 V
4. solis: pievienojiet vadu LM339
Sprieguma dalītājs uz LM339 invertējošām ieejām
Kā minēts iepriekš attiecībā uz LM339 salīdzinātāju, tam būs nepieciešamas 2 x ieejas. Viens būs spriegums no katra PIR katram kanālam, kas neinvertē (+) spaili, otrs būs mūsu atsauces spriegums mūsu invertējošajam (-) terminālim. Atsauces spriegumam ir jābaro visas 4 salīdzinošās invertējošās ieejas. Pirms šo darbību veikšanas izslēdziet signalizācijas sistēmu.
- Izvadiet vadu no signalizācijas sistēmas 12V līdzstrāvas bloka līdz + sliedei uz maizes dēļa *
- Izvadiet vadu no signalizācijas sistēmas GND bloka līdz maizes dēļa sliedei **
- Uzstādiet LM339 salīdzinātāju maizes dēļa vidū (iecirtums norāda vistuvāk 1. tapai)
- Uzstādiet 2 x rezistorus, lai izveidotu sprieguma dalītāja ķēdi un vadu sadalītam spriegumam
- Izvadiet vadus no “sprieguma sadalītā” Vout uz katru LM339 apgriezto termināli
* PADOMS: ja iespējams, strāvas padevei izmantojiet aligatora skavu, jo tas atvieglo jūsu projekta ON/OFF barošanu ** SVARĪGI! MOSFET var būt nepieciešams, ja barojat Wemos no trauksmes paneļa! Manā gadījumā LM339, Wemos un Alarm saņem strāvu no viena avota (ti, no pašas signalizācijas sistēmas) Tas ļauj man ieslēgt strāvu visam, izmantojot vienu strāvas pieslēgumu. Tomēr pēc noklusējuma GPIO tapas Wemos ir definētas kā "INPUT" tapas - tas nozīmē, ka tās uzņem visu spriegumu, kas tām tiek uzlikts, un paļaujas uz šo avotu, lai nodrošinātu pareizu sprieguma līmeni (min/max līmeņi), lai Wemos uzvarētu. t avarēt vai izdegt. Manā gadījumā signalizācijas sistēma saņem savu jaudu un sāk veikt sāknēšanas secību ļoti ātri - patiesībā tik ātri, ka to dara pirms Wemos var startēt un paziņot, ka GPIO tapas ir “INPUT_PULLUP” (spriegums iekšēji paaugstināts) mikroshēma). Tas nenozīmē, ka sprieguma atšķirības izraisītu Wemos avāriju, kad visa sistēma saņēma enerģiju. Vienīgais veids, kā to novērst, būtu manuāli izslēgt un ieslēgt Wemos. Lai to atrisinātu, tiek pievienots MOSFET, kas darbojas kā "loģisks slēdzis" LM339 ieslēgšanai. Tas ļauj Wemos startēt, iestatīt četras x salīdzināmās GPIO tapas kā "INPUT_PULLUP's", aizkavēt dažas sekundes un pēc tam (izmantojot citu GPIO tapu D5, kas definēta kā OUTPUT) nosūtīt "HIGH" signālu, izmantojot GPIO pin D5 uz MOSFET, kas loģiski ieslēdz LM339. Es ieteiktu pieslēgt elektroinstalāciju, kā minēts iepriekš, bet, ja atklājat, ka Wemos avarē tāpat kā es, tad jums būs jāiekļauj MOSFET ar 1k omu nolaižamo pretestību. Plašāku informāciju par to, kā to izdarīt, skatiet šīs pamācības beigās.
Trauksmes zonas uz LM339 neinvertējošām ieejām
Tagad no katras trauksmes vadības paneļa zonas ir jāpalaiž vadi līdz LM339 salīdzinājuma ieejām. Kad signalizācijas sistēma joprojām ir izslēgta, katrai zonai pievadiet vadu katrai neinvertējošai (+) ieejai LM339 salīdzinātājā. Piemēram, manā sistēmā:
- Vads no Z1 iet uz LM339 ieeju 1+
- Vads no Z2 iet uz LM339 ieeju 2+
- Vads no Z3 iet uz LM339 ieeju 3+
- Vads no Z4 iet uz LM339 ieeju 4+
Skatiet LM339 tapas 3. solī, ja atgādināt (tas ir krāsu kodēts ar maizes dēļa attēlu). Kad tas ir izdarīts, jūsu maizes dēlim vajadzētu izskatīties līdzīgi šajā solī parādītajam attēlam.
Ieslēdziet signalizācijas sistēmu un izmēriet spriegumu, kas nāk no sprieguma dalītāja, lai pārliecinātos, ka tas ir vienāds ar jūsu atsauces spriegumu, kā aprēķināts iepriekš.
5. solis: Wemos D1 Mini savienošana
Wemos D1 mini vadu savienošana
Tagad mēs esam parūpējušies par visām LM339 ievadēm, un tagad mums ir jāpievieno Wemos D1 mini. Katra LM339 izejas tapa tiek izmantota Wemos GPIO (vispārējas nozīmes ievades/izvades) tapai, kuru mēs ar kodu norādīsim kā ieejas pievilkšanas tapu. Wemos maksimālais Vcc (ieejas avota) spriegums ir līdz 5 V. 5 V, lai darbinātu Wemos. LM7805 datu lapa norāda, ka mums ir nepieciešams kondensators, kas savienots katrā regulatora pusē, lai izlīdzinātu jaudu, kā parādīts maizes dēļa attēlā. Kondensatora garākā kājiņa ir pozitīva (+), tāpēc pārliecinieties, ka tā ir pievienota pareizi.
Sprieguma regulators ņem spriegumu (kreisās puses tapa), zemējumu (vidējā tapa) un spriegumu ārā (labās puses tapa) Vēlreiz pārbaudiet, vai sprieguma regulators atšķiras no LM7805.
(EDIT: Es atklāju, ka pastiprinātāji, kas nāk no trauksmes paneļa, ir pārāk lieli, lai LM7805 varētu rīkoties. Tas izraisīja daudz siltuma LM7805 mazajā radiatora izlietnē un izraisīja tā kļūmi, savukārt Wemos apstājās strādāju. Tā vietā es nomainīju LM7805 un kondensatorus ar līdzstrāvas līdzstrāvas pārveidotāju, un kopš tā laika nav bijušas nekādas problēmas. Tos ir ļoti viegli pieslēgt. Vienkārši pievienojiet trauksmes ieejas spriegumu, vispirms pievienojiet multimetram un izmantojiet potenciometra skrūvi un noregulējiet, līdz izejas spriegums ir ~ 5V)
GPIO ievades tapas
Šim projektam mēs izmantojam šādas tapas:
- zona Z1 => tapa D1
- Z2 zona => tapa D2
- Z3 zona => tapa D3
- Z4 zona => tapa D5
Pievienojiet izejas no LM339 līdz saistītajām GPIO tapām uz Wemos plates, kā norādīts šajā darbībā parādītajā maizes dēļa attēlā. Atkal, man ir krāsu kodēti ievadi un atbilstošie izvadi, lai būtu vieglāk redzēt, kas uz ko attiecas. Katra Arduino GPIO tapa ir definēta kā “INPUT_PULLUP”, kas nozīmē, ka normālā lietošanā (IDLE) tie tiks izvilkti līdz 3,3 V. Kods nosaka izmaiņas HIGH to LOW un nosūta ziņojumu bezvadu režīmā uz jūsu mājas automatizācijas programmatūru. Ja jums rodas problēmas ar šo darbību, iespējams, ka jūsu apgrieztās un neinvertējošās ieejas ir nepareizi (ja spriegums no jūsu PIR paaugstinās, kad tas tiek aktivizēts, kā tas notiek ar lielāko daļu hobiju PIR, tad jūs vēlaties savienojumus otrādi)
Arduino IDE
Noņemiet Wemos no maizes dēļa, mums tagad tajā ir jāaugšupielādē kods (alternatīva saite šeit). Es neiedziļināšos, kā to izdarīt, jo tīmeklī ir daudz rakstu par koda augšupielādi vietnē Wemos vai citā ESP8266 tipa dēļi. Pievienojiet USB kabeli Wemos plates un datoram un aktivizējiet Arduino IDE. Lejupielādējiet kodu un atveriet to savā projektā. Jums būs jāpārliecinās, ka jūsu projektam ir instalēta un ielādēta pareizā tāfele, kā arī izvēlēts pareizais COM ports (rīki, ports). Jums būs jāinstalē arī atbilstošās bibliotēkas (PubSubClient, ESP8266Wifi) Lai Wemos tāfele tiktu iekļauta jūsu skicē, skatiet šo rakstu.
Jums būs jāmaina šādas koda rindas un jāaizstāj ar savu bezvadu savienojuma SSID un paroli. Mainiet arī IP adresi, lai norādītu uz savu MQTT brokeri.
// Bezvadu internets
const char* ssid = "tavs_wifi_ssid_šeit"; const char* parole = "your_wifi_password_here"; // MQTT Broker IPAddress MQTT_SERVER (172, 16, 223, 254)
Kad tas ir mainīts, pārbaudiet savu kodu un pēc tam augšupielādējiet to Wemos panelī, izmantojot USB kabeli.
Piezīmes:
- Ja izmantojat dažādus GPIO portus, jums būs jāpielāgo kods. Ja jūs izmantojat vairāk vai mazāk zonu nekā es, jums būs arī jāpielāgo kods un TOTAL_ZONES = 4; nemainīgi, lai atbilstu.
- Manas signalizācijas sistēmas iedarbināšanas laikā signalizācijas sistēma veiks jaudas pārbaudi visiem 4 x PIR, kas visus pieslēgtos GPIO novilka uz zemes, liekot Wemos domāt, ka zonas tiek aktivizētas. Kods ignorēs MQTT ziņojumu sūtīšanu, ja tajā redzamas visas 4 x zonas vienlaikus, jo tiek pieņemts, ka signalizācija ieslēdzas.
Alternatīva lejupielādes saite uz kodu ŠEIT
6. darbība: testēšana un OpenHAB konfigurācija
MQTT pārbaude
MQTT ir ziņojumapmaiņas sistēma “abonēt / publicēt”. Viena vai vairākas ierīces var sarunāties ar "MQTT brokeri" un "abonēt" noteiktu tēmu. Ienākošos ziņojumus no jebkuras citas ierīces, kas ir "publicēti" tajā pašā tēmā, brokeris izsūtīs uz visām ierīcēm, kas to abonējušas. Tas ir ārkārtīgi viegls un vienkārši lietojams protokols un ideāls kā vienkārša iedarbināšanas sistēma, kāda ir šeit. Lai pārbaudītu, varat skatīt ienākošos MQTT ziņojumus no Wemos uz savu MQTT brokeri, palaižot šādu komandu savā Mosquitto serverī (Mosquitto ir viena no daudzajām pieejamajām MQTT Broker programmatūrām). Šī komanda abonē ienākošos pastāvīgos ziņojumus:
mosquitto_sub -v -t openhab/signalizācija/statuss
Jums vajadzētu redzēt ienākošos ziņojumus, kas nāk no Wemos ik pēc aptuveni 30 sekundēm ar skaitli "1" (tas nozīmē, ka "es esmu dzīvs"). Kad redzat, ka skaitlis 1 nāk, tas nozīmē, ka Wemos sazinās ar MQTT brokeri (lai iegūtu plašāku informāciju par to, kā tas darbojas, meklējiet “MQTT Last Will and Testament” vai skatiet šo patiešām labo emuāra ierakstu)
Kad esat pierādījis, ka komunikācija ir funkcionāla, mēs varam pārbaudīt, vai par zonas stāvokli tiek ziņots, izmantojot MQTT. Abonējiet šo tēmu (# ir aizstājējzīme)
mosquitto_sub -v -t openhab/alarm/#
Jāievadās parastajiem statusa ziņojumiem, tāpat kā pašas Wemos IP adresei. Ejiet PIR priekšā, un jums vajadzētu redzēt, ka tiek parādīta informācija par zonu, norādot, ka tā ir ATVĒRTA, pēc tam apmēram pēc sekundes, kad tā ir Slēgta, līdzīgi kā tas ir:
openhab/modinātājs/statuss 1
openhab/alarm/zone1 OPEN
openhab/alarm/zone1 Slēgts
Kad tas darbojas, mēs varam konfigurēt OpenHAB tā, lai tas būtu labi attēlots GUI.
OpenHAB konfigurācija
OpenHAB ir nepieciešamas šādas izmaiņas:
'alarm.map' pārveidošanas fails: (pēc izvēles, testēšanai)
CLOSED = IdleOPEN = TriggeredNULL = Nezināms- = Nezināms
'status.map' pārveidošanas fails:
0 = neizdevās
1 = tiešsaistē -= uz leju! NULL = nav zināms
"vienumu" fails:
String alarmMonitorState "Alarm Monitor [MAP (status.map):%s]" {mqtt = "<[mqttbroker: openhab/alarm/status: state: default]"} String alarmMonitorIPAddress "Alarm Monitor IP [%s]" {mqtt = "<[mqttbroker: openhab/alarm/ipaddress: state: default]"} Number zone1_Chart_Period "1. zonas diagramma" Contact alarmZone1State "Zone 1 State [MAP (alarm.map):%s]" {mqtt = "<[mqttbroker: openhab/alarm/zone1: state: noklusējums "} String alarmZone1Trigger" Lounge PIR [%1 $ ta%1 $ tr] "Number zone2_Chart_Period" 2. zonas diagramma "Contact alarmZone2State" 2. zonas stāvoklis [MAP (alarm.map):% s] "{mqtt =" <[mqttbroker: openhab/alarm/zone2: state: default "} String alarmZone2Trigger" Pirmā zāle PIR [%1 $ ta %1 $ tr] "Number zone3_Chart_Period" 3. zonas diagramma "Contact alarmZone3State" Zone 3 Valsts [MAP (alarm.map):%s] "{mqtt =" <[mqttbroker: openhab/alarm/zone3: state: default "} String alarmZone3Trigger" Guļamistabas PIR [%1 $ ta%1 $ tr] "numurs zone4_Chart_Period "4. zonas diagramma" Contact alarmZone4State "4. zonas stāvoklis [MAP (alarm.map):%s]" {mqtt = "<[mqttbroker: openha b/alarm/zone4: state: noklusējums "} String alarmZone4Trigger" Galvenā zāle PIR [%1 $ ta %1 $ tr]"
"vietnes kartes" fails (ieskaitot rrd4j grafikus):
Teksta vienums = alarmZone1Trigger valuecolor = [<= 60 = "#ff0000", <= 300 = "#ffa500", <= 600 = "#008000", 3600 = "#000000"] {Frame {Switch item = zone1_Chart_Period label = "Periods" kartēšana = [0 = "Stunda", 1 = "Diena", 2 = "Nedēļa"] Attēla URL = "https:// localhost: 8080/rrdchart.png" visibility = [zone1_Chart_Period == 0, zone1_Chart_Period = = Neinicializēts] Attēla URL = "https:// localhost: 8080/rrdchart.png" visibility = [zone1_Chart_Period == 1] Attēla URL = "https:// localhost: 8080/rrdchart.png" visibility = [zone1_Chart_Period == 2]}} Teksta vienums = alarmZone2Trigger valuecolor = [<= 60 = "#ff0000", <= 300 = "#ffa500", <= 600 = "#008000", 3600 = "#000000"] {Frame {Switch item = zone2_Chart_Period label = "Period" mappings = [0 = "Stunda", 1 = "Diena", 2 = "Nedēļa"] Attēla URL = "https:// localhost: 8080/rrdchart.png" visibility = [zone2_Chart_Period == 0, zone2_Chart_Period == Neinicializēts] Attēla URL = "https:// localhost: 8080/rrdchart.png" visibility = [zone2_Chart_Period == 1] Attēla URL = "https:// localhost: 8080/rrdchart.png" visibility = [zone2_Chart_Period == 2]}} Teksta vienums = alarmZone3Trigger valuecolor = [<= 60 = "#ff0000", <= 300 = "#ffa500", <= 600 = "#008000", 3600 = "#000000"] {Frame {Switch item = zone3_Chart_Period label = "Period" kartēšana = [0 = "Stunda", 1 = "Diena", 2 = "Nedēļa"] Attēla URL = "https:// localhost: 8080/rrdchart.png" visibility = [zone3_Chart_Period == 0, zone3_Chart_Period == Neinicializēts] Attēls url = "https:// localhost: 8080/rrdchart.png" visibility = [zone3_Chart_Period == 1] Attēla URL = "https:// localhost: 8080/rrdchart.png" visibility = [zone3_Chart_Period == 2]}} Teksts item = alarmZone4Trigger valuecolor = [<= 60 = "#ff0000", <= 300 = "#ffa500", <= 600 = "#008000", 3600 = "#000000"] {Frame {Switch item = zone4_Chart_Period label = " Periods "mappings = [0 =" Stunda ", 1 =" Diena ", 2 =" Nedēļa "] Attēla URL =" https:// localhost: 8080/rrdchart.png "visibility = [zone4_Chart_Period == 0, zone4_Chart_Period == Neinitializēts] Attēla URL = "https:// localhost: 8080/rrdchart.png" visibility = [zone4_Chart_Period == 1] Attēla URL = "https:// localhost: 8080/rrdchart.png" visibility = [zone4_Chart_Period == 2] }} // IZVĒLESIES, bet ērts statusa un IP adreses diagnosticēšanai ss Teksta vienums = alarmMonitorState Teksta vienums = alarmMonitorIPAddress
"noteikumu" fails:
noteikums "1. trauksmes zonas stāvokļa maiņa"
kad vienums alarmZone1State mainīts uz OPEN, tad postUpdate (alarmZone1Trigger, new DateTimeType ()) alarmZone1State.state = Slēgts beigas
noteikums "2. trauksmes zonas stāvokļa maiņa"
kad vienums alarmZone2State mainīts uz OPEN, tad postUpdate (alarmZone2Trigger, new DateTimeType ()) alarmZone2State.state = Slēgts beigas
noteikums "3. trauksmes zonas stāvokļa maiņa"
kad vienums alarmZone3State mainīts uz OPEN, tad postUpdate (alarmZone3Trigger, new DateTimeType ()) alarmZone3State.state = Slēgts beigas
noteikums "4. trauksmes zonas stāvokļa maiņa"
kad vienums alarmZone4State ir mainīts uz OPEN, tad postUpdate (alarmZone4Trigger, new DateTimeType ()) alarmZone4State.state = Slēgts beigas
Jums var būt nepieciešams nedaudz mainīt iepriekš minēto OpenHAB konfigurāciju, lai tā atbilstu jūsu iestatījumiem.
Ja rodas problēmas ar PIR iedarbināšanu, sāciet no sākuma un izmēriet spriegumu katrai ķēdes daļai. Kad esat ar to apmierināts, pārbaudiet elektroinstalāciju, pārliecinieties, vai ir kopīgs pamats, pārbaudiet ziņojumus Wemos, izmantojot sērijas atkļūdošanas konsoli, pārbaudiet MQTT sakarus un pārbaudiet sava pārveidojuma, vienumu un vietnes kartes failu sintaksi.
Veiksmi!
Ieteicams:
Kā veikt mājas lietu automatizāciju ar NodeMCU sensoru vadības releju: 14 soļi (ar attēliem)
Kā izveidot uz māju balstītu mājas automatizāciju ar NodeMCU sensoru vadības releju: Šajā projektā, kas balstīts uz IoT, esmu izveidojis mājas automatizāciju ar Blynk un NodeMCU vadības releja moduli ar atgriezenisko saiti reāllaikā. Manuālajā režīmā šo releja moduli var vadīt, izmantojot mobilo tālruni vai viedtālruni un manuālo slēdzi. Automātiskajā režīmā šī smarža
Wifi viedais slēdzis ESP8266 darbojas ar Alexa un Google mājas automatizāciju: 7 soļi
Wifi viedais slēdzis ESP8266 darbojas kopā ar Alexa un Google mājas automatizāciju: globalizācijas pasaulē ikviens vēlas jaunākās un viedākās tehnoloģijas. Wi -Fi viedais slēdzis, padarot jūsu dzīvi saprātīgāku un ērtāku
Darba sākšana ar mājas automatizāciju: mājas palīga instalēšana: 3 soļi
Darba sākšana ar mājas automatizāciju: mājas palīga instalēšana: mēs tagad sāksim mājas automatizācijas sēriju, kur mēs izveidosim gudru māju, kas ļaus mums kontrolēt tādas lietas kā gaismas, skaļruņi, sensori un tā tālāk, izmantojot centrālo centrmezglu kopā ar balss palīgs. Šajā rakstā mēs uzzināsim, kā
Ļoti vienkāršs veids, kā sākt darbu ar mājas automatizāciju, izmantojot DIY moduļus: 6 soļi
Ļoti vienkāršs veids, kā sākt darbu ar mājas automatizāciju, izmantojot DIY moduļus: Es biju patīkami pārsteigts, kad nolēmu mājas asistentam pievienot dažus DIY sensorus. ESPHome lietošana ir ārkārtīgi vienkārša, un šajā rakstā mēs iemācīsimies kontrolēt GPIO tapu un iegūt temperatūru. mitruma dati no bezvadu tīkla
Durvju zvana paziņojums vājdzirdīgiem, izmantojot mājas automatizāciju (ESP-tagad, MQTT, Openhab): 3 soļi
Durvju zvana paziņojums vājdzirdīgiem, izmantojot mājas automatizāciju (ESP-tagad, MQTT, Openhab): šajā instrukcijā es parādīšu, kā es integrēju savu parasto durvju zvanu savā mājas automatizācijā. Šis risinājums ir labi piemērots cilvēkiem ar dzirdes traucējumiem. Manā gadījumā es to izmantoju, lai saņemtu paziņojumu, ja bērnu dzimšanas dienas ballītē istaba ir aizņemta un trokšņaina. Es