INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Dit is 'n eenvoudige oplossing wat u meer ontspanne kan laat voel as u u woonstel verlaat - e -pos ontvang met foto's van u eiendom wat deur ongewenste gaste besoek word, skakel en skakel u sekuriteitstelsel uit op die maklikste en betroubaarste manier (druk op 'n skakelaar en benader 'n RFID -etiket). En dit kos amper niks - ek betaal maandeliks meer vir internettoegang. U benodig 'n kloon van Raspberry Pi, 'n paar elektroniese onderdele en … internettoegang.
Let daarop dat Zoneminder nie in hierdie gids gebruik word nie. As u Zoneminder wil gebruik, kyk hier:
sites.google.com/site/boguszjelinski/home/…
Stap 1: hardeware wat u benodig
1. Framboos Pi of sy kloon, sien ook:
www.instructables.com/id/Home-Security-With-Orange-Pi/
Die goedkoopste een wat u toegang tot die netwerk en die aantal kameras wat u benodig, pas. Moenie vergeet om die regte kragbron met 'n geskikte aansluiting te koop nie
2. RFID -leser met antenna
3. PIR -sensor (s)
4. 'n kort skakelaar wat slegs 'n stroombaan verbind as u daarop druk (met veer?)
5. twee LED's - groen en rooi. Of een RGB gelei.
6. twee 1k weerstande
7. USB -kamera (s)
8. 'n UTP -kabel om PIR -sensors, die skakelaar, LED's en RFID -leser aan te sluit (ek het dit reggekry om almal met een kabel met 8 drade te verbind, of 4 pare as u wil)
9. 'n klein boksie of twee as u u elektroniese onderdele wil beskerm of nie wil spog met u soldeervaardighede nie.
10. 'n aflos om 'n ligbron aan te skakel - vir insidente gedurende die nag
Stap 2: Installeer Postfix
Nadat u Linux geïnstalleer het, moet u 'n paar sagtewarekomponente installeer om my voorbeeldfragment uit te voer. Eerstens moet u Postfix installeer as u e -pos wil stuur:
1. apt-get install postfix (u sal gevra word om byvoorbeeld 'slegs lokaal' te kies)
2. gaan na /etc /postfix en skep lêer sasl_passwd en sit een reël daarin:
[smtp.gmail.com]: 587 john.smith: pass1234
Vervang gebruikersnaam en wagwoord met u geloofsbriewe; u het opgemerk dat dit 'n reël vir 'n Google Mail -rekening is. Hierdie rekening word gebruik om alarmkennisgewings (gestuur vanaf) te stuur.
3. postkaart -hash:/etc/postfix/sasl_passwd
4. rm/etc/postfix/sasl_passwd
5. vervang die inhoud van /etc/postfix/main.cf met die volgende reëls (u wil dalk die gasheernaam aanpas):
smtpd_banner = $ myhostname ESMTP $ mail_name (Ubuntu)
biff = nee
append_dot_mydomain = nee
readme_directory = nee
smtp_tls_session_cache_database = btree: $ {data_directory}/smtp_scache
smtp_tls_security_level = mag
smtp_use_tls = ja
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
myhostname = raspberrypi
myorigin = $ myhostnaam
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = raspberrypi, localhost.localdomain, localhost
relayhost = [smtp.gmail.com]: 587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1]/128
posbus_grootte_limiet = 0
ontvanger_delimiter = +
inet_interfaces = alles
smtp_sasl_auth_enable = ja
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_sasl_tls_security_options = naamloos
6. /etc/init.d/postfix herbegin
7. u kan die konfigurasie van Postfix toets deur 'n e -pos te stuur aan [email protected] -toetsinhoud.
Stap 3: Berei sagteware voor
Vir my Raspberry Pi B+ en Raspbian Jessie moes ek die volgende bykomende stappe ondergaan:
1. apt-get installeer python-setuptools
2. easy_install pip
3. pip installeer pyseriaal
4. apt-get installeer mailutils
5. skakel die reeks wat deur konsole -aanmelding gebruik word, uit. Ek het 'n paar verskillende maniere gevind:
a) raspi-config → Interfacing Options → Serial → Login shell NIE toeganklik via reeks nie
b) konsole verwyder = serial0, 115200 van lêer /boot/cmdline.txt
c) systemctl stop [email protected]
systemctl deaktiveer [email protected]
6. apt-get installeer python-opencv
7. apt-get installeer imagemagick
Stap 4: Bedraad dit en voer dit uit
Koppel u onderdele presies soos op die foto. As u dit nie doen nie, moet u die bron verander om die veranderde poortgetalle weer te gee.
Waarskuwing! RPI IO's aanvaar nie 5V nie; u moet bv. 'n TTL -logika -omskakelaar om die spanning van RFID- of PIR -sensors te verminder. My keuse was 'n 74HC4050.
Ok, teoreties kan u nou rpi-alarm.py uitvoer met:
nohup python rpi-alarm.py &
Maar voor dit moet u die kode wysig en ook ID's na u RFID -etikette en e -posadres verander. U kan die kode hier kry:
github.com/boguszjelinski/rpi-alarm
Die heel eerste keer begin met die leermodus met groen en rooi LED's wat knipper. Die doel daarvan is om 'n rfid.txt -lêer met RFID -kodes te skep - benader u etikette 'n paar keer vir elke antenna en druk die skakelaar solank u 'n langer groen lig kry. Wysig dan die lêer om te sien of dit nie beskadig is nie - dit moet soveel reëls bevat as wat u etikette het, 10 karakters elk. U kan die lêer handmatig skep, natuurlik word die leermodus oorgeslaan. Let daarop dat u lang druk op die skakelaar kan lei tot die inskakeling van u stelsel; nadat die leermodus voltooi is, wag die stelsel om ingeskakel te word - sien "seine in gebruik".
Stap 5: Seine in gebruik
Die opgedateerde weergawe van die kode bevat ook 'n 'leermodus' - die groen en rooi LED's knip afwisselend. 'N Langer groen sein (nadat u op die skakelaar gedruk het) bevestig dat die modus voltooi is.
Stap 6: 'n Paar opmerkings aan die einde
'N Paar opmerkings oor die bronkode, of net wenke om u eie te skryf:
- LED's en PIR -sensors word gekonfigureer deur standaard GPIO.setup GPIO. OUT en GPIO. IN onderskeidelik
- vir die bedrading van die skakelaar benodig u GPIO.setup (?, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)
- die RFID -leser is gekoppel aan GPIO15, die kaart se RX, waarmee u kan lees
ser = serial. Serial ('/dev/ttyAMA0', 9600, time -out = 0.1) en ser.read (12)
Dit werk op Raspbian Jessie op RPI 1, maar dit kan verander word na /dev /serial0 met ander verspreidings.
- Ek gebruik streamer om beelde van USB -kameras af te gooi:
streamer -c /dev /video0 -s 640x480 -o camdmp.jpg
en streamer -c /dev /video1 -s 640x480 -o camdmp2-j.webp
maar dit het op Orange Pi neergestort, so ek gebruik nou CV. Om die streamer te installeer, tik dit:
apt-get installeer streamer
- skryf 'n ontstellende wakker teks in alarmmsg.txt lêer en stuur e-pos met:
pos -s "Alarm" -t [email protected] -A camdmp-j.webp
- verander u e -posadres in die kode (reël 51)
Hê pret!