Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
V tej vadnici vam bom pokazal, kako zaznati dogodek odpiranja vrat in poslati obvestilo prek Gmaila z uporabo Arduino Uno.
Če ste začetnik, se lahko naučite o wifi in senzorju v vadnicah Arduino - WiFi in Arduino - Door Sensor.
Začnimo!
Zaznavanje dogodka odpiranja vrat Magnetno tipalo, ki sem ga uporabil, vsebuje dva dela: senzor in magnet. Ko sta dva dela v bližini, je izhodni zatič senzorja VISOKI, sicer je izhodni NIZKI. Ob izkoriščanju te funkcije sem en del senzorja namestil na vratno krilo, drugega pa na okvir vrat. S preverjanjem stanja izhodnega zatiča lahko zaznamo, kdaj so vrata odprta, nato pa opozorimo ali pošljemo obvestilo.
Obdelava dogodka
Ko pride do dogodka odpiranja vrat, se po Gmailu pošlje obvestilo.
Korak: Stvari, ki jih potrebujemo
1. Arduino UNO ali Genuino UNO
2. PHPoC ščit za Arduino
3. Magnetni senzor
2. korak: Montaža
1. Zložite PHPoC Shield na Arduino.
2. Priključite kabel LAN v ščit za Ethernet.
3. Pin ožičenje med Arduinom in senzorjem.
---- 5v -------- rdeč zatič.
---- A0 ------- črni zatič.
Korak: Namestite ta komplet na vrata
1. Na okvir vrat pritrdite senzorski del, komplet Arduino (vključno s ščitnikom PHPoC)
2. Pritrdite magnetni del na krilo vrat.
3. Napajanje Arduino
4. Povežite se z internetom prek kabla LAN ali USB ključa Wifi.
4. korak: Prenesite in namestite knjižnico na Arduino
Namestite knjižnico PHPoC in ezButton
5. korak: Arduino koda
#vključi
#include PhpocEmail email; gumb ezButton (A0); // ustvari objekt Button, ki se pritrdi na pin A0; void setup () {Serial.begin (9600); Phpoc.začetek (PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP); //Phpoc.beginIP6 (); odkomentirajte to vrstico, če boste uporabljali gumb IPv6.setDebounceTime (100); // nastavimo čas odprave na 100 milisekund} void loop () {button.loop (); // MORAM najprej poklicati funkcijo loop () if (button.isPressed ()) {// če so vrata odprta … email.setOutgoingServer ("smtp.gmail.com", 587); email.setOutgoingLogin ("Google ID", "Google geslo"); email.setFrom ("Gmailov naslov", "Ime pošiljatelja"); email.setTo ("E -poštni naslov prejemnika", "Ime prejemnika"); email.setSubject ("Vrata so odprta. [#905]"); // Zadeva pošte // Vsebina pošte email.beginMessage (); email.println ("#905"); email.println (""); email.println ("Vrata so odprta."); email.endMessage (); if (email.send ()> 0) // Pošlji e -pošto Serial.println ("Vaša pošta je bila uspešno poslana"); else Serial.println ("Vaša pošta ni poslana"); } else if (button.isReleased ()) {// če so vrata zaprta … // na enak način zapišite kode}}
6. korak: Reference funkcij
- zanka ()
- nastaviti()
- Serial.begin ()
- Serial.println ()
- zakasnitev ()
- za zanko
- zanka while
- če potem
- String.toInt ()