Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
S tem omrežjem senzorskih postaj, konfiguriranim v glavnem/podrejenem načinu, boste lahko v svojem domu izvajali nadzor osvetlitve in varnosti. Te senzorske postaje (Node01, Node02 v tem projektu) so povezane z glavno postajo (Node00), povezano z vašim lokalnim omrežjem WiFi. Node01 sem namestil v svojo shrambo, Node02 pa v garaži za nadzor luči in gibov. Glavna postaja je nameščena v naši dnevni sobi, povezani z našim usmerjevalnikom WiFi. Zvonec sem namestil v garaži in malo brenčalo na glavni postaji, da se oglasi, ko zazna kakšno senzorsko postajo v omrežju.
Glavne značilnosti omrežja so:
- Možno je konfigurirati omrežje z več kot dvema senzorskima postajama (podrejene postaje) (Node01, Node02, Node03,….)
- Zaradi uporabe brezžičnih oddajnikov z anteno lahko omrežje pokrije široko območje
- Celotno omrežje lahko upravljate z mobilnega telefona
- Pošljite e -poštno sporočilo (Gmail račun), ko zazna gibanje in je aktiviran način alarma. Če torej v svojem mobilnem telefonu omogočite potisna obvestila za Gmail, boste vedeli, kdaj se v vašem omrežju zazna gibanje
za domotične namene:
- Vklopite luči, ko zaznate motnjo / vedno vklopite luči (za celotno omrežje ali za vsako podrejeno postajo)
- Spremenite čas v minutah, ko se lučke prižgejo po zaznanem gibanju za vsako podrejeno postajo
iz varnostnih razlogov:
- Omogočite in onemogočite način alarma
- Vsaka podrejena postaja lahko pošlje signal glavni postaji (Node00), ko je aktiviran način alarma in zazna gibanje
- Glavna postaja lahko aktivira zvonec in pošlje e -poštno sporočilo, ko prejme enega od teh signalov s katere koli podrejene postaje in je aktiviran način alarma. Glavna postaja (Node00) je povezana z internetom prek povezave wifi za nadzor celotnega sistema z mobilnim telefonom. Konfiguriran je kot strežnik WifiWebServer
1. korak: Seznam materiala
Seznam materiala, ki sem ga uporabil za izdelavo Node01 in Node02 (podrejene postaje), je naslednji:
- Mega plošča 2560 R3
- Plastični nosilec za MEGA 2560 R3
- HC-SR501 PIR senzor
- Plastični nosilec za HC-SR501
- 5V rele
- Brezžični oddajniški modul 2.4G 1100m NRF24L01+PA+LNA z anteno LKY67
- 8Pin adapter NRF24L01 (za izboljšanje funkcij NRF24L01)
- HLK-PM01 AC DC 220V do 5V mini napajalnik
Seznam materiala za izdelavo Node00 (glavne postaje) je naslednji:
- Mega plošča 2560 R3
- Plastični nosilec za MEGA 2560 R3
- Modul WiFi NodeMCU Lua Amica V2 ESP8266
- Brezžični oddajniški modul 2.4G 1100m NRF24L01+PA+LNA z anteno LKY67
- 5v-3.3v VCC vmesniška plošča za NRF24L01 (za izboljšanje lastnosti NRF24L01)
- Adapter AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)
Poleg tega sem uporabil naslednji material:
- 2 pin 5 mm spojniki PCB
- Mostične žice
- Breadboard MB-102 (800 stikov)
- Mini spajkalna plošča 170 stikov
- Komplet LED in uporov
- PCB plošče
- Komplet kositrnega spajkalnika
- Pištola za lepilo
- Prozoren metakrilat
- Bell
2. korak: Kako se povezati in programirati Node01 in Node02 (pomožne postaje)
Za programiranje skice "SlaveSation.ino" sem potreboval knjižnico RF24 in omrežno knjižnico RF24.
Na zgornjem diagramu poteka lahko vidite logiko senzorske postaje in sporočila, ki se izmenjujejo med podrejeno senzorsko postajo in glavno.
Preden naložite skico, morate konfigurirati naslov podrejenega vozlišča v oktalni obliki
const uint16_t this_node = 01; // Naslov našega vozlišča v osmih formatih (pomožni): 01, 02, 03…
Pomen LED na vsaki podrejeni postaji je naslednji:
- Modra led. Prižgan bo, ko je pin senzorja PIR visok.
- Zelena je vodila. Prižgal se bo, ko bo priključen alarm.
3. korak: Kako se povezati in programirati Node00 (Master Station)
Na postaji Node00 lahko najdemo dve različni plošči:
- Plošča MEGA 2560 R3. Ta naprava se uporablja za sprejemanje sporočil s podrejenih postaj, ko se zazna gibanje z brezžično komunikacijo. Ko se zazna gibanje in priključi alarm, se bo aktiviral zvonec. Če želite ustaviti zvonec, samo izključite način alarma. Poleg tega pošilja sporočila iz podrejenih postaj iz NodeMCU, da omogoči ali onemogoči zaznavanje gibanja, vedno prižge luči, vedno ugasne luči,…
- NodeMCU Lua Amica V2 ESP8266 plošča. Deluje kot spletni strežnik Wifi za prenos in sprejemanje ukazov z oddaljenega mesta z uporabo spletne strani v mobilnem telefonu. Poleg tega pošilja e-poštna sporočila, ko zazna gibanje in je aktiviran način alarma.
Obe napravi sta programirani za medsebojno komunikacijo v konfiguraciji Master (NodeMCU)/Slave (MEGA) prek sinhronega serijskega protokola I2C z uporabo knjižnice Wire. Protokol I2C vključuje uporabo dveh linij za pošiljanje in sprejemanje podatkov: zaporedni pin za uro (SCL) in zaporedni podatkovni zatič (SDA), preko katerega se podatki pošiljajo med obema napravama.
Kot lahko vidite na risbi, sta dva zatiča za komunikacijo I2C na plošči MEGA 2560 R3:
- SDA -> pin 20 SDA
- SCL -> pin 21 SCL
in drugi v NodemMCU so:
- SDA -> digitalni pin 1
- SCL -> digitalni pin 2
Preden naložite skico za ESP8266, morate namestiti ploščo ESP8266. Če želite to narediti, vnesite "https://arduino.esp8266.com/stable/package_esp8266com_index.json" v "Dodatne URL -je upravitelja plošč" v oknu z nastavitvami v Arduino IDE. Po tem morate odpreti upravitelja plošč in namestiti "esp8266"
Uporabljam zunanji napajalnik (9V, 1A) za ploščo MEGA 2560 R3 (vtičnica za enosmerni tok, 2, 1 mm x 5, 5 mm) in ploščo NodeMCU povežem s pinom 3V3 na plošči MEGA.
4. korak: WifiWebServer (NodeMCU v glavni postaji)
Skica, naložena v NodeMCU (Node00 ali glavna postaja), je konfigurirana kot spletni strežnik, povezan z vašim domačim omrežjem WiFi. Dostop do njega je možen na daljavo, če v usmerjevalniku konfigurirate posredovanje vrat.
Preden naložite skico WifiWebServerV3.ino v NodeMCU, morate narediti naslednje:
- Posodobite vrata, ki jih boste konfigurirali v usmerjevalniku (posredovanje vrat) za oddaljeni dostop do NodeMCU
- Posodobite uporabnika in geslo za dostop do domačega omrežja WiFi
- Posodobite prijavo in geslo za svoj Gmail račun za pošiljanje e-pošte, ko zazna gibanje in je alarm priključen
- Posodobite e-poštni naslov, na katerega boste prejemali e-pošto
Če želite posodobiti uporabnika, geslo in vrata, ki jih bo strežnik poslušal, morate v skici WifiWebServerV3.ino poiskati naslednjo kodo in jo posodobiti:
const char*ssid = "*** vaš ssid ***";
const char*geslo = "*** vaše geslo ***"; Strežnik WiFiServer (80);
Če želite posodobiti e-poštni naslov, na katerega boste prejemali e-poštna sporočila, morate poiskati naslednjo kodo in jo posodobiti:
const char*to_email = "*** e-poštni naslov, na katerega boste prejeli sporočilo ***";
Če želite za prejemanje e-pošte posodobiti uporabnika in geslo svojega Gmailovega računa, morate v datoteki »Gsender.h« poiskati naslednjo kodo in jo posodobiti:
const char*EMAILBASE64_LOGIN = "*** vaš e-poštni naslov kodirajte v BASE64 ***";
const char*EMAILBASE64_PASSWORD = "*** vaše geslo kodirano v BASE64 ***"; const char*FROM = "*** vaš e-poštni naslov ***";
Za kodiranje ali dekodiranje podatkov v BASE64 sem uporabil www.base64encode.org
Če potrebujete več informacij o pošiljanju in prejemanju e-poštnih sporočil z ESP8266, je tukaj "Navodilo"
Ko to storite, lahko preizkusite povezavo v usmerjevalniku. Če je naprava povezana, morate tej napravi rezervirati dodeljeni naslov IP. Poleg tega je dobro, da se pogovorite s svojim internetnim ponudnikom, da nastavite statični naslov IP na usmerjevalniku.
Če želite dostopati do spletne strani v bližini svojega usmerjevalnika Wi -Fi, vnesite le lokalni naslov IP, ki ga je usmerjevalnik dodal v skladu z vrati, ki jih uporabljate v spletnem navigatorju. Na primer: 192.168.40.15:800. Če poskušate dostopati na daljavo, morate vnesti naslov IP usmerjevalnika po vratih, ki jih uporabljate, kot je opisano zgoraj.
Spletna stran, ki jo prikažem na slikah, je programirana za nadzor omrežja z dvema podrejenima postajama.
Sistem je sprva konfiguriran za največ 5 podrejenih postaj, vendar ga lahko spremenite. Samo poiščite naslednjo kodo v WifiWebServerV3.ino in SlaveStation.ino
#define number_max_slaves 5
Spletna stran je sprva razdeljena na 4 razdelke:
- V razdelku "Stanje" je prikazano, ali je alarm priključen ali ne
- V razdelku "Števec alarmov" je prikazano število zaznavanja gibanja v vsaki podrejeni postaji
- Oddelek "Alarm", kjer lahko povežete ali odklopite (CONNECT ALARM/DISCONNECT ALARM) alarm in ponastavite števec alarmov (RESET COUNTERS)
-
Razdelek "Osvetlitev", kjer lahko upravljate luči vsake podrejene postaje. Nadzorujete lahko naslednje:
- Vklopite luči na vseh podrejenih postajah / vklopite luči le, če je zaznano gibanje na vseh podrejenih postajah (MREŽA VEDNO VKLOPLJENA / MREŽA PRI GIBANJU)
- Spremenite čas v minutah, da so lučke prižgane za vsako podrejeno postajo (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
- Vklopite luči za vsako podrejeno postajo (NODExx VEDNO VKLOPLJENO)
- Luči za vsako podrejeno postajo vklopite le, če zazna gibanje (NODExx_MOV)
Ničesar vam ni treba spreminjati, ker bo delovalo ne glede na ime podrejenih postaj, ki jih konfigurirate. Poleg tega bo samodejno zaznal število podrejenih postaj, povezanih v omrežje.
Seveda lahko skico prenesete in preprosto spremenite kodo, potrebno za prikaz lastne spletne strani za nadzor.
5. korak: od začetka …
Tu so koraki, ki jih morate upoštevati pri izgradnji omrežja:
- Kupite ves material po seznamu, ki vam ga dam v "koraku 1"
- Povežite komponente po risbi, ki jo lahko prenesete v "Korak 2" in "Korak 3"
- Zgradite škatle za vsako podrejeno postajo in glavno postajo. Zgradil sem metakrilatne škatle.
-
Konfigurirajte vsako podrejeno postajo:
Prenesite in naložite skico "SlaveStation.ino" v eno ploščo MEGA 2560 R3. Urediti morate skico in posodobiti naslov podrejene postaje, kot je prikazano v "koraku 2"
-
Konfigurirajte glavno postajo:
- Prenesite in naložite skico "SlaveStation.ino" v eno MEGA 2560 R3. Ne glede na število pomožnih vozlišč v vašem omrežju vam ni treba ničesar spreminjati. Skica je sprva konfigurirana za največ 5 podrejenih postaj.
- Prenesite in naložite skico "WifiServerV3.ino" v NodeMCU. Skico morate posodobiti po navodilih v "koraku 4"
- Konfigurirajte usmerjevalnik za oddaljeni dostop do NodeMCU (posredovanje vrat, statični IP …)