Inhoudsopgave:

Home Security met Raspberry Pi: 6 stappen (met afbeeldingen)
Home Security met Raspberry Pi: 6 stappen (met afbeeldingen)

Video: Home Security met Raspberry Pi: 6 stappen (met afbeeldingen)

Video: Home Security met Raspberry Pi: 6 stappen (met afbeeldingen)
Video: Hoe installeer ik Home Assistant op een Raspberry PI 4 met SSD #16 2024, November
Anonim
Huisbeveiliging met Raspberry Pi
Huisbeveiliging met Raspberry Pi

Dat is een eenvoudige oplossing waardoor u zich meer ontspannen voelt wanneer u uw appartement verlaat - ontvang e-mails met foto's van uw eigendom dat wordt bezocht door ongewenste gasten, schakel uw beveiligingssysteem op de meest gemakkelijke en betrouwbare manier in en uit (druk op een schakelaar en benader een RFID-tag). En het kost bijna niets - ik betaal maandelijks meer voor internettoegang. Je hebt een kloon van Raspberry Pi nodig, een paar elektronische onderdelen en … internettoegang.

Houd er rekening mee dat Zoneminder niet wordt gebruikt in deze handleiding. Als je Zoneminder wilt gebruiken, kijk dan hier:

sites.google.com/site/boguszjelinski/home/…

Stap 1: Hardware die u nodig heeft

Hardware die je nodig hebt
Hardware die je nodig hebt

1. Raspberry Pi of zijn kloon, zie ook:

www.instructables.com/id/Home-Security-With-Orange-Pi/

De goedkoopste die bij je netwerktoegang past en het aantal camera's dat je nodig hebt. Vergeet niet om de juiste voeding met geschikte connector te kopen!

2. RFID-lezer met antenne

3. PIR-sensor(en)

4. een momentschakelaar die een circuit alleen verbindt als je erop drukt (met veer?)

5. twee LED's - groen en rood. Of een RGB-led.

6. twee weerstanden van 1k

7. USB-camera('s)

8. een UTP-kabel om PIR-sensoren, de schakelaar, leds en RFID-lezer aan te sluiten (het is me gelukt om alles aan te sluiten met één kabel met 8 draden, of 4 paar als je wilt)

9. een kleine doos of twee als je je elektronische onderdelen wilt beschermen of niet wilt opscheppen over je soldeervaardigheden.

10. een relais om een lichtbron in te schakelen - voor incidenten tijdens de nacht

Stap 2: Installeer Postfix

Nadat je Linux hebt geïnstalleerd, moet je een paar softwarecomponenten installeren om mijn voorbeeldfragment uit te voeren. Eerst moet je Postfix installeren als je e-mails wilt versturen:

1. apt-get install postfix (u wordt gevraagd om bijvoorbeeld 'alleen lokaal' te kiezen)

2. ga naar /etc/postfix en maak het bestand sasl_passwd aan en plaats er één regel in:

[smtp.gmail.com]:587 john.smith:pass1234

Vervang gebruikersnaam en wachtwoord door uw inloggegevens; je hebt gemerkt dat dit een regel is voor een Google Mail-account. Dit account wordt gebruikt om alarmmeldingen te verzenden (verzonden van).

3. postmap-hash:/etc/postfix/sasl_passwd

4. rm /etc/postfix/sasl_passwd

5. vervang de inhoud van /etc/postfix/main.cf door de volgende regels (misschien wil je de hostnaam aanpassen):

smtpd_banner = $mijnhostnaam ESMTP $mailnaam (Ubuntu)

biff = nee

append_dot_mydomain = nee

readme_directory = nee

smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtp_tls_security_level = mei

smtp_use_tls = ja

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

mijnhostnaam = raspberrypi

mijnoorsprong = $mijnhostnaam

alias_maps = hash:/etc/aliassen

alias_database = hash:/etc/aliassen

mijnbestemming = raspberrypi, localhost.localdomain, localhost

relayhost = [smtp.gmail.com]:587

mijnnetwerken = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

mailbox_size_limit = 0

ontvanger_scheidingsteken = +

inet_interfaces = alle

smtp_sasl_auth_enable = ja

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

smtp_sasl_security_options =

smtp_sasl_tls_security_options = anoniem

6. /etc/init.d/postfix herstart

7. je zou de configuratie van Postfix kunnen testen door eens [email protected] test inhoud te sturen.

Stap 3: Software voorbereiden

Voor mijn Raspberry Pi B+ en Raspbian Jessie moest ik de volgende aanvullende stappen doorlopen:

1. apt-get install python-setuptools

2. easy_install pip

3. pip install pyserial

4. apt-get install mailutils

5. schakel het gebruik van serienummer door consoleregistratie uit. Ik heb een paar verschillende manieren gevonden:

a) raspi-config → Interfacing-opties → Serieel → Login-shell NIET toegankelijk via serieel

b) console=serial0, 115200 verwijderen uit bestand /boot/cmdline.txt

c) systemctl stop [email protected]

systemctl [email protected] uitschakelen

6. apt-get install python-opencv

7. apt-get install imagemagick

Stap 4: Sluit het aan en voer het uit

Bedraad het en voer het uit
Bedraad het en voer het uit

Sluit uw onderdelen precies aan zoals weergegeven op de afbeelding. Als u dat niet doet, moet u wijzigingen aanbrengen in de broncode om de gewijzigde poortnummers weer te geven.

Waarschuwing! RPI IO's accepteren geen 5V, u moet bijv. een TTL logische converter om de spanning afkomstig van RFID- of PIR-sensoren te verminderen. Mijn keuze was een 74HC4050.

Ok, theoretisch zou je nu in staat kunnen zijn om rpi-alarm.py uit te voeren met:

nohup python rpi-alarm.py &

Maar daarvoor moet u de code bewerken en ID's ook wijzigen in uw RFID-tags en e-mailadres. Je kunt de code hier krijgen:

github.com/boguszjelinski/rpi-alarm

De allereerste run start met de leermodus met knipperende groene en rode LED's. Het doel is om een rfid.txt-bestand met RFID-codes te maken - benader uw tags naar antena, een paar keer voor elke tag, en druk op de schakelaar zolang u een langer groen licht krijgt. Bewerk vervolgens het bestand om te zien of het niet beschadigd is - het moet net zoveel regels bevatten als tags, elk 10 tekens. U kunt het bestand handmatig aanmaken, uiteraard wordt de leermodus dan overgeslagen. Houd er rekening mee dat het lang indrukken van de schakelaar ertoe kan leiden dat uw systeem wordt ingeschakeld, aangezien het systeem wacht om te worden ingeschakeld nadat de leermodus is voltooid - zie "signalen in gebruik".

Stap 5: Signalen in gebruik

Signalen in gebruik
Signalen in gebruik

De bijgewerkte versie van de code bevat ook een "leermodus" - de groene en rode leds knipperen afwisselend. Een langer groen signaal (na het indrukken van de schakelaar) bevestigt de voltooiing van de modus.

Stap 6: een paar opmerkingen aan het einde

Een paar opmerkingen bij de broncode, of gewoon hints voor u om uw eigen te schrijven:

- LED's en PIR-sensoren worden respectievelijk geconfigureerd door standaard GPIO.setup GPIO. OUT en GPIO. IN

- voor die bedrading van de schakelaar heb je GPIO.setup nodig (?, GPIO. IN, pull_up_down=GPIO. PUD_DOWN)

- de RFID-lezer is verbonden met GPIO15, de RX van het bord, dit kan worden gelezen met

ser = serial. Serial('/dev/ttyAMA0', 9600, timeout=0.1) en ser.read (12)

Dit werkt op Raspbian Jessie op RPI 1, maar het kan worden gewijzigd in /dev/serial0 met andere distributies.

- Vroeger gebruikte ik streamer om afbeeldingen van USB-camera's te dumpen:

streamer -c /dev/video0 -s 640x480 -o camdmp.jpg

en streamer -c /dev/video1 -s 640x480 -o camdmp2-j.webp

maar het crashte op Orange Pi, dus ik gebruik nu CV. Typ dit om streamer te installeren:

apt-get install streamer

- schrijf een alarmerende wektekst in het alarmmsg.txt-bestand en stuur een e-mail met:

mail -s "Alarm" -t [email protected] -A camdmp-j.webp

- verander je e-mailadres in de code (regel 51)

Veel plezier!

Aanbevolen: