Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tämä on yksinkertainen ratkaisu, joka saa sinut tuntemaan olosi rennommaksi, kun lähdet huoneistostasi - vastaanota sähköpostiviestejä, joissa on kuvia kiinteistöstäsi, jossa vierailevat ei -toivotut vieraat, kytke ja kytke turvajärjestelmä pois päältä helpoimmin ja luotettavimmin (paina kytkintä ja lähesty RFID -tunniste). Ja se ei maksa melkein mitään - maksan enemmän kuukausittain Internet -yhteydestä. Tarvitset Raspberry Pi -kloonin, muutamia elektronisia osia ja… Internet -yhteyden.
Huomaa, että Zoneminderia ei käytetä tässä oppaassa. Jos haluat käyttää Zoneminderia, katso täältä:
sites.google.com/site/boguszjelinski/home/…
Vaihe 1: Tarvitsemasi laitteisto
1. Vadelma Pi tai sen klooni, katso myös:
www.instructables.com/id/Home-Security-With-Orange-Pi/
Halvin, joka sopii sinulle verkkoyhteyden ja tarvittavien kameroiden määrän kanssa. Muista ostaa oikea virtalähde sopivalla liittimellä
2. RFID -lukija ja antenni
3. PIR -anturit
4. hetkellinen kytkin, joka yhdistää piirin vain, kun painat sitä (jousella?)
5. kaksi LEDiä - vihreä ja punainen. Tai yksi RGB -ledi.
6. kaksi 1k vastusta
7. USB -kamera (t)
8. UTP -kaapeli PIR -antureiden, kytkimen, ledien ja RFID -lukijan liittämiseksi (olen onnistunut yhdistämään kaikki yhdellä kaapelilla, jossa on 8 johtoa tai 4 paria, jos haluat)
9. pieni laatikko tai kaksi, jos haluat suojata elektronisia osiasi tai et halua ylpeillä juotostaidoistasi.
10. rele valonlähteen kytkemiseksi päälle - yötapahtumia varten
Vaihe 2: Asenna Postfix
Kun olet asentanut Linuxin, sinun on asennettava muutama ohjelmistokomponentti, jotta voin suorittaa esimerkkipätkän. Asenna ensin Postfix, jos haluat lähettää sähköpostia:
1. apt-get install postfix (sinua pyydetään valitsemaan esimerkiksi 'vain paikallinen')
2. siirry kansioon /etc /postfix ja luo tiedosto sasl_passwd ja laita siihen yksi rivi:
[smtp.gmail.com]: 587 john.seppä: pass1234
Korvaa käyttäjänimi ja salasana tunnistetiedoillasi; olet huomannut, että se on Google Mail -tilin rivi. Tätä tiliä käytetään hälytysilmoitusten lähettämiseen (lähetetty).
3. postikartan tiiviste:/etc/postfix/sasl_passwd
4. rm/etc/postfix/sasl_passwd
5. Korvaa /etc/postfix/main.cf -sisältö seuraavilla riveillä (haluat ehkä muuttaa isäntänimeä):
smtpd_banner = $ myhostname ESMTP $ mail_name (Ubuntu)
biff = ei
append_dot_mydomain = ei
readme_directory = ei
smtp_tls_session_cache_database = btree: $ {data_directory}/smtp_scache
smtp_tls_security_level = saattaa
smtp_use_tls = kyllä
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
myhostname = vadelma
myorigin = $ myhostname
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
oma kohde = vadelma, localhost.localdomain, localhost
välittäjä = [smtp.gmail.com]: 587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1]/128
mailbox_size_limit = 0
vastaanottaja_rajoitin = +
inet_interfaces = kaikki
smtp_sasl_auth_enable = kyllä
smtp_sasl_password_maps = tiiviste:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_sasl_tls_security_options = Noanonymous
6. /etc/init.d/postfix restart
7. voit testata Postfix -määrityksiä lähettämällä sendmail [email protected] test content.
Vaihe 3: Valmistele ohjelmisto
Raspberry Pi B+: n ja Raspbian Jessien kohdalla minun piti käydä läpi seuraavat lisävaiheet:
1. apt-get install python-setuptools
2. easy_install pip
3. pip asenna pyserial
4. apt-get install mailutils
5. poistaa konsolin kirjaamisen sarjaliikenteen käytöstä. Löysin muutaman eri tavan:
a) raspi-config → Liitäntäasetukset → Sarja → Kirjautumiskuori EI käytettävissä sarjaportin kautta
b) konsolin = serial0, 115200 poistaminen tiedostosta /boot/cmdline.txt
c) systemctl stop [email protected]
systemctl poista [email protected] käytöstä
6. apt-get install python-opencv
7. apt-get install imagemagick
Vaihe 4: Johdotus ja suorita se
Liitä osat täsmälleen kuten kuvassa. Jos et tee niin, sinun on tehtävä muutoksia lähteeseen vastaamaan muuttuneita porttinumeroita.
Varoitus! RPI IO: t eivät hyväksy 5 V: ta, sinun tulee käyttää esim. TTL -logiikkamuunnin RFID- tai PIR -antureista tulevan jännitteen vähentämiseksi. Valintani oli 74HC4050.
Ok, teoreettisesti voit nyt suorittaa rpi-alarm.py:
nohup python rpi-alarm.py &
Mutta ennen sitä sinun on muokattava koodi ja muutettava tunnukset RFID -tunnisteisiisi ja sähköpostiosoitteeseesi. Koodin saat täältä:
github.com/boguszjelinski/rpi-alarm
Ensimmäinen ajokerta alkaa oppimistilasta, jossa vihreät ja punaiset LED -valot vilkkuvat. Sen tavoitteena on luoda rfid.txt -tiedosto RFID -koodeilla - lähetä tunnisteesi antenniin, muutaman kerran jokaiselle, ja paina kytkintä niin kauan kuin saat pidemmän vihreän valon. Muokkaa sitten tiedostoa nähdäksesi, onko se vioittunut - sen pitäisi sisältää niin monta riviä kuin sinulla on tunnisteita, 10 merkkiä. Voit luoda tiedoston manuaalisesti, tietysti oppimistila ohitetaan. Huomaa, että pitkä painallus kytkimestä voi johtaa järjestelmän virittämiseen, koska oppimistilan päätyttyä järjestelmä odottaa viritystä - katso "Käytössä olevat signaalit".
Vaihe 5: Käytössä olevat signaalit
Koodin päivitetty versio sisältää myös "oppimistilan" - vihreät ja punaiset merkkivalot vilkkuvat vuorotellen. Pidempi vihreä signaali (kytkimen painamisen jälkeen) vahvistaa tilan päättymisen.
Vaihe 6: Muutama kommentti lopussa
Muutama kommentti lähdekoodiin tai vain vihjeitä oman kirjoittamiseen:
- LEDit ja PIR -anturit on määritetty vakio GPIO.setup GPIO. OUT ja GPIO. IN vastaavasti
- tähän kytkimen johdotukseen tarvitset GPIO.setup (?, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)
- RFID -lukija on liitetty GPIO15: een, joka on kortin RX, tämä voidaan lukea
ser = sarja. sarja ('/dev/ttyAMA0', 9600, aikakatkaisu = 0,1) ja ser.read (12)
Tämä toimii Raspbian Jessiellä RPI 1: llä, mutta se voidaan muuttaa /dev /serial0: ksi muilla jakeluilla.
- Käytin streameria kuvien poistamiseen USB -kameroista:
streamer -c /dev /video0 -s 640x480 -o camdmp.jpg
ja suoratoisto -c /dev /video1 -s 640x480 -o camdmp2-j.webp
mutta se kaatui Orange Piin, joten käytän nyt CV: tä. Jos haluat asentaa streamerin, kirjoita tämä:
apt-get install streamer
- kirjoita hälyttävä herätysteksti alarmmsg.txt-tiedostoon ja lähetä sähköpostia:
sähköposti -s "Hälytys" -t [email protected] -A camdmp-j.webp
- muuta sähköpostiosoitteesi koodissa (rivi 51)
Pidä hauskaa!