Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
S touto sieťou senzorových staníc nakonfigurovanou v režime master/slave budete môcť ovládať osvetlenie a zabezpečenie vo svojom dome. Tieto senzorové stanice (v tomto projekte Node01, Node02) sú pripojené k hlavnej stanici (Node00) pripojenej k vašej miestnej sieti Wi -Fi. Node01 som nainštaloval do svojej skladovacej miestnosti a Node02 do svojej garáže, kde ovládam svetlá a pohyby. Hlavná stanica je nainštalovaná v našej jedálni pripojenej k nášmu wifi routeru. Nainštaloval som zvonček do garáže a malý bzučiak do hlavnej stanice, aby zaznel, keď nejaká senzorová stanica v sieti zistí pohyb.
Medzi hlavné vlastnosti siete patria:
- Je možné nakonfigurovať sieť s viac ako dvoma senzorovými stanicami (podradené stanice) (Node01, Node02, Node03, ….)
- Vďaka použitiu bezdrôtových transceiverov s anténou je sieť schopná pokryť širokú oblasť
- Celú sieť môžete ovládať z mobilného telefónu
- Odoslať e -mail (účet Gmail), keď je detekovaný pohyb a je zapnutý režim budíka. Ak teda v mobile povolíte upozornenia push služby Gmail, budete vedieť, keď sa vo vašej sieti zistí pohyb
na domotické účely:
- Zapnite svetlá pri detekcii pohybu / vždy zapnite svetlá (pre celú sieť alebo pre každú podradenú stanicu)
- Zmeňte čas v minútach, počas ktorého sa svetlá rozsvietia, keď bol detekovaný pohyb pre každú podradenú stanicu
z bezpečnostných dôvodov:
- Zapnite a vypnite režim budíka
- Každá podradená stanica je schopná odoslať signál na nadradenú stanicu (Node00), keď je povolený režim alarmu a je detekovaný pohyb.
- Hlavná stanica môže aktivovať zvonček a odoslať e -mail, keď je jeden z týchto signálov prijatý z akejkoľvek podradenej stanice a je povolený režim alarmu. Hlavná stanica (Node00) je pripojená k internetu pomocou wifi pripojenia na ovládanie celého systému pomocou mobilného telefónu. Je nakonfigurovaný ako WifiWebServer
Krok 1: Zoznam materiálu
Zoznam materiálu, ktorý som použil na stavbu Node01 a Node02 (podradené stanice), je nasledujúci:
- Doska Mega 2560 R3
- Plastová podpera pre MEGA 2560 R3
- PIR snímač HC-SR501
- Plastová podpera pre HC-SR501
- 5V relé
- Modul bezdrôtového vysielača a prijímača 2,4 G 1 100 m NRF24L01+PA+LNA s anténou LKY67
- 8pinový adaptér NRF24L01 (na zlepšenie funkcií NRF24L01)
- Mini napájací zdroj HLK-PM01 AC DC 220 V až 5 V
Zoznam materiálu na stavbu Node00 (hlavné stanice) je nasledujúci:
- Doska Mega 2560 R3
- Plastová podpera pre MEGA 2560 R3
- WiFi modul NodeMCU Lua Amica V2 ESP8266
- Modul bezdrôtového vysielača a prijímača 2,4 G 1 100 m NRF24L01+PA+LNA s anténou LKY67
- Doska adaptéra VCC 5v-3,3v pre NRF24L01 (na zlepšenie funkcií NRF24L01)
- Adaptér AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)
Okrem toho som použil nasledujúci materiál:
- 2 kolíkové 5 mm konektory PCB
- Prepojovacie vodiče
- Breadboard MB-102 (800 kontaktov)
- Mini spájkovačka bez kontaktu so 170 kontaktmi
- Sada LED a odporov
- Dosky plošných spojov
- Súprava spájkovačky na cín
- Lepiaca pištoľ
- Priehľadný metakrylát
- Bell
Krok 2: Ako sa pripojiť a naprogramovať Node01 a Node02 (podradené stanice)
Na naprogramovanie náčrtu „SlaveSation.ino“som potreboval knižnicu RF24 a sieťovú knižnicu RF24.
Na vývojovom diagrame vyššie môžete vidieť logiku senzorovej stanice a správy vymieňané medzi podradenou senzorovou stanicou a nadradenou.
Pred načítaním náčrtu musíte nakonfigurovať adresu podradeného uzla v osmičkovom formáte
const uint16_t this_node = 01; // Adresa nášho uzla v osmičkovom formáte (slave): 01, 02, 03…
Význam diód LED v každej podradenej stanici je nasledujúci:
- Modrá LED dióda. Svieti, kým je kolík snímača PIR vysoko.
- Zelená LED. Svieti, keď je pripojený alarm.
Krok 3: Ako sa pripojiť a naprogramovať Node00 (Master Station)
V stanici Node00 nájdeme dve rôzne dosky:
- Doska MEGA 2560 R3. Toto zariadenie slúži na príjem správ zo stanice slave, keď je pohyb detegovaný pomocou bezdrôtovej komunikácie. Aktivuje zvonček, keď je detekovaný pohyb a je zapojený alarm. Ak chcete zastaviť zvonček, odpojte iba režim alarmu. Okrem toho odosiela na stanicu otrokov správy z NodeMCU, aby sa aktivovala alebo deaktivovala detekcia pohybu, aby sa vždy rozsvietili svetlá, aby sa vždy vypli svetlá, …
- Doska NodeMCU Lua Amica V2 ESP8266. Funguje ako webový server Wifi na prenos a prijímanie príkazov zo vzdialeného miesta pomocou webovej stránky v mobilnom telefóne. Navyše odosiela e-mailové správy, keď je detekovaný pohyb a je povolený režim alarmu.
Obe zariadenia sú naprogramované tak, aby spolu komunikovali v konfigurácii Master (NodeMCU)/Slave (MEGA) prostredníctvom synchrónneho sériového protokolu I2C pomocou Wire Library. Protokol I2C zahŕňa použitie dvoch riadkov na odosielanie a prijímanie údajov: pin so sériovými hodinami (SCL) a pin so sériovými údajmi (SDA), cez ktoré sa údaje odosielajú medzi týmito dvoma zariadeniami.
Ako vidíte na obrázku, dva piny pre komunikáciu I2C na doske MEGA 2560 R3 sú:
- SDA -> pin 20 SDA
- SCL -> pin 21 SCL
a ďalšie v NodemMCU sú:
- SDA -> digitálny kolík 1
- SCL -> digitálny kolík 2
Pred načítaním náčrtu pre ESP8266 musíte nainštalovať dosku ESP8266. Ak to chcete urobiť, musíte v okne predvolieb v Arduino IDE zadať „https://arduino.esp8266.com/stable/package_esp8266com_index.json“do „Ďalšie adresy URL správcu“. Potom musíte otvoriť správcu dosiek a nainštalovať „esp8266“
Na dosku MEGA 2560 R3 používam externý napájací adaptér (9V, 1A) (DC napájací konektor, 2, 1mm x 5, 5 mm) a dosku NodeMCU pripájam na pin 3V3 v doske MEGA.
Krok 4: WifiWebServer (NodeMCU v hlavnej stanici)
Náčrt načítaný do NodeMCU (Node00 alebo hlavnej stanice) je nakonfigurovaný ako webový server pripojený k vašej domácej sieti Wi -Fi. K vzdialenému prístupu je možné pristupovať, ak vo svojom smerovači nakonfigurujete presmerovanie portov.
Pred načítaním náčrtu WifiWebServerV3.ino na NodeMCU musíte vykonať nasledujúce kroky:
- Aktualizujte port, ktorý sa chystáte nakonfigurovať vo vašom smerovači (presmerovanie portov), aby ste k nemu mali prístup na diaľku k NodeMCU
- Aktualizujte používateľa a heslo, aby ste mali prístup k domácej sieti Wi -Fi
- Aktualizujte prihlasovacie meno a heslo svojho účtu Gmail, aby ste mohli odosielať e-maily, keď je detekovaný pohyb a je pripojený alarm
- Aktualizujte e-mailovú adresu, na ktorú budete dostávať e-maily
Ak chcete aktualizovať používateľa, heslo a port, ktorý bude server používať na počúvanie, musíte v skici WifiWebServerV3.ino vyhľadať nasledujúci kód a aktualizovať ho:
const char*ssid = "*** vaša ssid ***";
const char*heslo = "*** vaše heslo ***"; Server WiFiServer (80);
Ak chcete aktualizovať e-mailovú adresu, na ktorú budete dostávať e-maily, musíte vyhľadať nasledujúci kód a aktualizovať ho:
const char*to_email = "*** e-mailová adresa, na ktorú dostanete správu ***";
Ak chcete aktualizovať používateľa a heslo svojho účtu Gmail na príjem e-mailov, musíte v súbore „Gsender.h“vyhľadať nasledujúci kód a aktualizovať ho:
const char*EMAILBASE64_LOGIN = "*** kódovanie vašej e-mailovej adresy v BASE64 ***";
const char*EMAILBASE64_PASSWORD = "*** kódovanie vášho hesla v BASE64 ***"; const char*FROM = "*** vaša e-mailová adresa ***";
Na kódovanie alebo dekódovanie údajov v BASE64 som použil www.base64encode.org
Ak potrebujete viac informácií o odosielaní a prijímaní e-mailov pomocou ESP8266, nájdete tu „pokyny“.
Akonáhle to dokážete, môžete vyskúšať pripojenie vo svojom smerovači. Ak je zariadenie pripojené, musíte mu priradiť priradenú adresu IP. Okrem toho je dobré porozprávať sa s poskytovateľom internetu o nastavení statickej adresy IP na vašom smerovači.
Na prístup na webovú stránku v blízkosti vášho smerovača wifi stačí zadať miestnu adresu IP priradenú smerovačom podľa portu, ktorý používate vo webovom navigátore. Napríklad: 192.168.40.15:800. Ak sa pokúšate získať prístup na diaľku, zadajte IP adresu smerovača podľa portu, ktorý používate, ako je uvedené vyššie.
Webová stránka, ktorú vám zobrazujem na obrázkoch, je naprogramovaná na ovládanie siete s dvoma podradenými stanicami.
Systém je pôvodne nakonfigurovaný na ovládanie maximálne 5 podradených staníc, ale môžete ho zmeniť. Nasledujúci kód vyhľadajte iba na serveroch WifiWebServerV3.ino a SlaveStation.ino
#define number_max_slaves 5
Webová stránka je pôvodne rozdelená do 4 sekcií:
- Sekcia „Štát“, kde sa zobrazuje, či je alarm pripojený alebo nie
- Sekcia „Počítadlo alarmov“, kde vám ukazuje počet detekcií pohybu v každej podradenej stanici
- Sekcia „Alarm“, kde môžete pripojiť alebo odpojiť alarm (PRIPOJIŤ ALARM/ODPOJIŤ ALARM) a resetovať počítadlo alarmov (VYNULOVAŤ POČÍTAČE)
-
Sekcia „Osvetlenie“, kde môžete ovládať svetlá každej podradenej stanice. Môžete ovládať nasledujúce:
- Zapnite svetlá na všetkých podradených staniciach / zapnite svetlá iba vtedy, keď je na všetkých podradených staniciach detekovaný pohyb (SIEŤ VŽDY ZAPNUTÁ / SIEŤ PRI POHYBE)
- Zmeňte čas v minútach, počas ktorého sa rozsvietia svetlá pre každú podradenú stanicu (NODExx ZAPNUTÝ 1 MINÚTU/NODEXX ZAPNUTÝ 2 MINÚTY)
- Zapnite svetlá pre každú podradenú stanicu (NODExx VŽDY ZAPNUTÉ)
- Svetlá pre každú podradenú stanicu zapnite iba vtedy, keď je detekovaný pohyb (NODExx_MOV)
Nemusíte nič meniť, pretože to bude fungovať bez ohľadu na názov staníc slave, ktoré nakonfigurujete. Navyše automaticky detekuje počet podradených staníc pripojených k sieti.
Skicu si samozrejme môžete stiahnuť a ľahko upraviť kód potrebný na zobrazenie vlastnej stránky na ovládanie webu.
Krok 5: Od začiatku…
Tu sú kroky, ktoré musíte dodržať pri budovaní siete:
- Kúpte všetok materiál podľa zoznamu, ktorý vám poskytnem v „1. kroku“
- Pripojte komponenty podľa výkresu, ktorý si môžete stiahnuť v „Krok 2“a „Krok 3“
- Zostavte boxy pre každú podradenú a hlavnú stanicu. Postavil som metakrylátové boxy.
-
Nakonfigurujte každú podradenú stanicu:
Stiahnite si a načítajte skicu „SlaveStation.ino“do jednej dosky MEGA 2560 R3. Musíte len upraviť náčrt a aktualizovať adresu podradenej stanice, ako vidíte v „2. kroku“
-
Konfigurujte hlavnú stanicu:
- Stiahnite si a načítajte skicu „SlaveStation.ino“do jedného MEGA 2560 R3. Bez ohľadu na počet podradených uzlov vašej siete nemusíte nič meniť. Skica je pôvodne nakonfigurovaná pre maximálne 5 podradených staníc.
- Stiahnite si a načítajte skicu „WifiServerV3.ino“do NodeMCU. Skicu musíte aktualizovať podľa pokynov v „Krok 4“
- Nakonfigurujte svoj router na vzdialený prístup k NodeMCU (presmerovanie portov, statická IP …)