Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
S touto sítí senzorových stanic nakonfigurovanou v režimu master/slave budete moci ve svém domě provádět ovládání osvětlení a zabezpečení. Tyto senzorové stanice (v tomto projektu Node01, Node02) jsou připojeny k hlavní stanici (Node00) připojené k vaší místní síti Wi -Fi. Node01 jsem nainstaloval do své skladovací místnosti a Node02 do své garáže ovládající světla a pohyby. Hlavní stanice je nainstalována v naší jídelně připojené k našemu wifi routeru. Nainstaloval jsem zvonek do garáže a malý bzučák do hlavní stanice, aby zazněl, když detekuje pohyb nějaká senzorová stanice v síti.
Hlavní rysy sítě jsou:
- Je možné konfigurovat síť s více než dvěma senzorovými stanicemi (podřízené stanice) (Node01, Node02, Node03, ….)
- Díky použití bezdrátových transceiverů s anténou je síť schopna pokrýt širokou oblast
- Celou síť můžete ovládat z mobilního telefonu
- Odeslat e -mail (účet Gmail), když je detekován pohyb a je aktivován režim alarmu. Pokud tedy ve svém mobilním telefonu povolíte oznámení push služby Gmail, budete vědět, že je ve vaší síti detekován pohyb
pro domotické účely:
- Zapněte světla, když je detekován pohyb / vždy zapněte světla (pro celou síť nebo pro každou podřízenou stanici)
- Změňte čas v minutách, kdy se světla rozsvítí poté, co byl pro každou podřízenou stanici detekován pohyb
pro bezpečnostní účely:
- Aktivujte a deaktivujte režim alarmu
- Každá podřízená stanice je schopna odeslat signál na hlavní stanici (Node00), když je aktivován režim alarmu a je detekován pohyb
- Hlavní stanice je schopna aktivovat zvonek a odeslat e -mail, když je jeden z těchto signálů přijat z jakékoli podřízené stanice a je aktivován režim alarmu. Hlavní stanice (Node00) je připojena k internetu pomocí wifi připojení k ovládání celého systému pomocí mobilního telefonu. Je konfigurován jako WifiWebServer
Krok 1: Seznam materiálu
Seznam materiálu, který jsem použil ke stavbě Node01 a Node02 (podřízené stanice), je následující:
- Deska Mega 2560 R3
- Plastová podpěra pro MEGA 2560 R3
- PIR senzor HC-SR501
- Plastová podpěra pro HC-SR501
- 5V relé
- Modul bezdrátového vysílače 2,4G 1100m NRF24L01+PA+LNA s anténou LKY67
- 8pinový adaptér NRF24L01 (pro zlepšení funkcí NRF24L01)
- Mini napájecí zdroj HLK-PM01 AC DC 220 V až 5 V
Seznam materiálu pro stavbu Node00 (hlavní stanice) je následující:
- Deska Mega 2560 R3
- Plastová podpěra pro MEGA 2560 R3
- WiFi modul NodeMCU Lua Amica V2 ESP8266
- Modul bezdrátového transceiveru 2.4G 1100m NRF24L01+PA+LNA s anténou LKY67
- Deska adaptéru VCC 5v-3,3 V pro NRF24L01 (pro zlepšení funkcí NRF24L01)
- Adaptér AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)
Kromě toho jsem použil následující materiál:
- 2kolíkové konektory PCB 5 mm
- Propojovací vodiče
- Breadboard MB-102 (800 kontaktů)
- Mini páječka bez pájení 170 kontaktů
- Sada LED a odporů
- Desky plošných spojů
- Sada páječky na cín
- Tavná pistole
- Průhledný metakrylát
- Zvonek
Krok 2: Jak se připojit a naprogramovat Node01 a Node02 (podřízené stanice)
K naprogramování skici „SlaveSation.ino“jsem potřeboval knihovnu RF24 a síťovou knihovnu RF24.
Ve výše uvedeném vývojovém diagramu vidíte logiku senzorové stanice a zprávy vyměňované mezi podřízenou senzorovou stanicí a hlavní.
Před načtením skici musíte nakonfigurovat adresu podřízeného uzlu v osmičkovém formátu
const uint16_t this_node = 01; // Adresa našeho uzlu v osmičkovém formátu (slave): 01, 02, 03…
Význam LED v každé podřízené stanici je následující:
- Modrá LED. Svítí, dokud je kolík snímače PIR vysoko.
- Zelená LED. Svítí, když je připojen alarm.
Krok 3: Jak se připojit a naprogramovat Node00 (Master Station)
Ve stanici Node00 najdeme dvě různé desky:
- Deska MEGA 2560 R3. Toto zařízení slouží k přijímání zpráv od podřízené stanice, když je detekován pohyb pomocí bezdrátové komunikace. Aktivuje zvonek, když je detekován pohyb a je připojen alarm. Chcete -li zvonek zastavit, odpojte pouze režim alarmu. Kromě toho odesílá na stanici otroků zprávy z NodeMCU, aby aktivoval nebo deaktivoval detekci pohybu, aby vždy rozsvěcoval světla, vždy vypínal světla,…
- Deska NodeMCU Lua Amica V2 ESP8266. Funguje jako webový server Wifi pro přenos a přijímání příkazů ze vzdáleného místa pomocí webové stránky v mobilním telefonu. Navíc odesílá e-mailové zprávy, když je detekován pohyb a je aktivován režim alarmu.
Obě zařízení jsou naprogramována tak, aby spolu komunikovala v konfiguraci Master (NodeMCU)/Slave (MEGA) prostřednictvím synchronního sériového protokolu I2C pomocí Wire Library. Protokol I2C zahrnuje použití dvou linek k odesílání a přijímání dat: pin pro sériové hodiny (SCL) a pin pro sériová data (SDA), přes které jsou data odesílána mezi oběma zařízeními.
Jak vidíte na výkrese, dva piny pro komunikaci I2C na desce MEGA 2560 R3 jsou:
- SDA -> pin 20 SDA
- SCL -> pin 21 SCL
a další v NodemMCU jsou:
- SDA -> digitální pin 1
- SCL -> digitální pin 2
Než načtete skicu pro ESP8266, musíte nainstalovat desku ESP8266. Chcete -li to provést, musíte v okně předvoleb v Arduino IDE zadat „https://arduino.esp8266.com/stable/package_esp8266com_index.json“do „Další adresy URL správce Board“. Poté musíte otevřít správce desek a nainstalovat „esp8266“
Pro desku MEGA 2560 R3 používám externí napájecí adaptér (9V, 1A) (DC napájecí konektor, 2, 1mm x 5, 5 mm) a desku NodeMCU připojuji ke kolíku 3V3 v desce MEGA.
Krok 4: WifiWebServer (NodeMCU v hlavní stanici)
Skica načtená do NodeMCU (Node00 nebo hlavní stanice) je nakonfigurována jako webový server připojený k vaší domácí síti Wi -Fi. K vzdálenému přístupu je možné, pokud ve svém routeru nakonfigurujete přesměrování portů.
Před načtením skici WifiWebServerV3.ino na NodeMCU musíte provést následující:
- Aktualizujte port, který se chystáte konfigurovat ve vašem routeru (přesměrování portů) pro vzdálený přístup k NodeMCU
- Aktualizujte uživatele a heslo pro přístup do vaší domácí wifi sítě
- Aktualizujte přihlašovací jméno a heslo svého účtu Gmail, abyste mohli odesílat e-maily, když je detekován pohyb a připojen alarm
- Aktualizujte e-mailovou adresu, na kterou budete e-maily dostávat
Chcete -li aktualizovat uživatele, heslo a port, který bude server používat k poslechu, musíte ve skice WifiWebServerV3.ino vyhledat následující kód a aktualizovat jej:
const char*ssid = "*** váš ssid ***";
const char*heslo = "*** vaše heslo ***"; Server WiFiServer (80);
Chcete-li aktualizovat e-mailovou adresu, na kterou budete dostávat e-maily, musíte vyhledat následující kód a aktualizovat jej:
const char*to_email = "*** e-mailová adresa, na kterou dostanete zprávu ***";
Chcete-li aktualizovat uživatele a heslo svého účtu Gmail pro příjem e-mailů, musíte v souboru „Gsender.h“vyhledat následující kód a aktualizovat jej:
const char*EMAILBASE64_LOGIN = "*** kódování vaší e-mailové adresy v BASE64 ***";
const char*EMAILBASE64_PASSWORD = "*** kódování vašeho hesla v BASE64 ***"; const char*FROM = "*** vaše e-mailová adresa ***";
Ke kódování nebo dekódování dat v BASE64 jsem použil www.base64encode.org
Pokud potřebujete více informací o odesílání a přijímání e-mailů pomocí ESP8266, zde je o tom „Instructable“
Jakmile to zvládnete, můžete vyzkoušet připojení ve svém routeru. Pokud je zařízení připojeno, musíte tomuto zařízení rezervovat přidělenou IP adresu. Kromě toho je dobré promluvit si s poskytovatelem internetu a nastavit na routeru statickou adresu IP.
Chcete -li se dostat na webovou stránku poblíž vašeho routeru wifi, zadejte pouze místní IP adresu přiřazenou směrovačem podle portu, který používáte ve webovém navigátoru. Například: 192.168.40.15:800. Pokud se pokoušíte o vzdálený přístup, musíte zadat IP adresu routeru podle portu, který používáte, jako výše.
Webová stránka, kterou vám zobrazuji na obrázcích, je naprogramována pro ovládání sítě se dvěma podřízenými stanicemi.
Systém je původně nakonfigurován tak, aby řídil maximálně 5 podřízených stanic, ale můžete jej upravit. Následující kód hledejte pouze na WifiWebServerV3.ino a SlaveStation.ino
#definujte číslo_max_slaves 5
Webová stránka je zpočátku rozdělena do 4 částí:
- Sekce „Stav“, kde se zobrazuje, zda je alarm připojen nebo ne
- Sekce „Počitadlo alarmů“, kde vám ukazuje počet detekce pohybu v každé podřízené stanici
- Sekce „Alarm“, kde můžete připojit nebo odpojit (CONNECT ALARM/DISCONNECT ALARM) alarm a vynulovat počítadlo alarmů (RESET COUNTERS)
-
Sekce „Osvětlení“, kde můžete ovládat světla každé podřízené stanice. Můžete ovládat následující:
- Zapněte světla na všech podřízených stanicích / zapněte světla pouze tehdy, když je na všech podřízených stanicích detekován pohyb (SÍŤ VŽDY ZAPNUTA / SÍŤ PŘI POHYBU)
- Změňte čas v minutách, kdy se světla rozsvítí pro každou podřízenou stanici (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
- Zapněte světla pro každou podřízenou stanici (NODExx VŽDY ZAPNUTO)
- Světla pro každou podřízenou stanici zapněte pouze při detekci pohybu (NODExx_MOV)
Nemusíte nic měnit, protože to bude fungovat bez ohledu na název podřízených stanic, které nakonfigurujete. Navíc automaticky detekuje počet podřízených stanic připojených k síti.
Samozřejmě si můžete stáhnout skicu a snadno upravit kód nezbytný k zobrazení vlastní webové stránky pro ovládání.
Krok 5: Od začátku…
Zde jsou kroky, které musíte dodržet při budování sítě:
- Nakupte veškerý materiál podle seznamu, který vám poskytnu v „kroku 1“
- Připojte součásti podle výkresu, který si můžete stáhnout v „Krok 2“a „Krok 3“
- Sestavte boxy pro každou podřízenou stanici a hlavní stanici. Postavil jsem metakrylátové boxy.
-
Konfigurujte každou podřízenou stanici:
Stáhněte si a načtěte skicu „SlaveStation.ino“do jedné desky MEGA 2560 R3. Stačí upravit náčrt a aktualizovat adresu podřízené stanice, jak můžete vidět v "Krok 2"
-
Konfigurujte hlavní stanici:
- Stáhněte si a načtěte skicu „SlaveStation.ino“do jednoho MEGA 2560 R3. Bez ohledu na počet podřízených uzlů vaší sítě nemusíte nic měnit. Zpočátku je skica konfigurována pro maximálně 5 podřízených stanic.
- Stáhněte a načtěte skicu „WifiServerV3.ino“do NodeMCU. Skicu musíte aktualizovat podle pokynů v „Krok 4“
- Nakonfigurujte svůj router pro vzdálený přístup k NodeMCU (přesměrování portů, statická IP…)