Gjør moro PiLarm: Hvordan bygge en Raspberry Pi Room Alarm - 💡 Fix My Ideas

Gjør moro PiLarm: Hvordan bygge en Raspberry Pi Room Alarm

Gjør moro PiLarm: Hvordan bygge en Raspberry Pi Room Alarm


Forfatter: Ethan Holmes, 2019

Av Jeff Highsmith

Jeg er alltid på utkikk etter de lærbare øyeblikkene. Inspirasjon slo meg da min 5-årige ba om hjelp for å holde sin lillebror fra å snike inn i rommet sitt. Jeg så den perfekte tiden til å lære ham om innganger, utganger og programmering. Læring er lettere når leksjonen sentrerer på å løse et personlig problem.

Jeg kunne ha bygget et enkelt alarmsystem på noen forskjellige måter, men jeg visste at jeg ville at systemet skulle være en alt-i-ett-enhet for allsidighet utover min sønns opprinnelige forespørsel. Jeg valgte Raspberry Pi som kontrolleren fordi det er lett å koble til Internett, det kan spille MP3-filer, det grensesnittet til USB-enheter som kameraer, og det har generelle innganger og utganger for tilkobling til enkle elektroniske komponenter som knapper, sensorer , og lys.

Mitt alarmsystems kode, som du kan se på GitHub, er ganske enkelt. For å utnytte Linuxs multithreading, delte jeg opp oppgavene mellom to Python-skript. Ett python-skript (keypadd.py) overvåker tastaturet for gyldige koder. Ved oppstart er systemet satt opp som "deaktivert". Når arm / avbruddskoden blir oppdaget, skifter den statusen til systemet ved å bla en byte i en tekstfil kalt "armed.txt".

Det andre Python-skriptet (alarmd.py) overvåker den passive infrarøde sensoren via Raspberry Pi's GPIO. Hvis det oppdages bevegelse, kontrollerer den den armed.txt filen for å se om systemet er bevæpnet. Hvis systemet er bevæpnet når bevegelse er oppdaget, høres alarmen.

I løpet av prosjektet løp jeg inn i noen utfordringer som påvirket designbeslutningene mine:

  • Min første prototype brukte en åpen kildekode-programvarepakke kalt Bevegelse for å oppdage bevegelse med USB-kameraet og deretter utløse pythonskript. Bevegelsesdeteksjonen var langsom, og jeg fant ut at jeg ønsket mer kontroll over bevegelsesfiltrering og hendelsestidspunkt. En 3,3 V-kompatibel passiv infrarød (PIR) sensor var enkel å legge til og størrelsesordener mer responsive.
  • Klaxon / siren kan høres kjent ut. Jeg fikk alarmen fra Apples kongelige gratis GarageBand-effektbiblioteker.
  • Jeg eksperimenterte med å syntetisere talen på Pi i fly, men den stakkars lille datamaskinen måtte tenke for lenge før du snakket, så jeg brukte tjenesten Tekst til iTunes-spor på min Mac for å lage lydfiler av Macens syntetiserte stemme , som jeg kopierte til Pi. Python-skriptene kaller mpg123 MP3-spilleren på Pi for å spille dem. Hvis du vil bruke Raspberry Pi til syntese tale på fly, anbefaler jeg at du leser litt.
  • I stedet for å kode tastaturet fra begynnelsen, brukte jeg Chris Crumpackers bibliotek for å lese matrisens tastatur.
  • Jeg prøvde mange forskjellige biblioteker å grensesnittet med Twitter via Python kode, men TweetPony er den eneste jeg fant lett nok til å jobbe raskt.
  • I fremtiden kan jeg legge til funksjonalitet ved å bruke forskjellige tastaturkoder for å starte forskjellige systemfunksjoner. Hvis du for eksempel skriver inn 1234, kan det hende systemet som en alarm, mens du skriver inn 5678, kan du bare tweet et bilde av foajéen din når det er registrert bevegelse, slik at du kan se når barna kommer hjem. Akkurat nå er det en kode for å arm / avvæpne, og en kode for å fortelle Pi å slå av, slik at støpselet kan trekkes trygt.

Det finnes mer avanserte Raspberry Pi alarmsystemer der ute, men jeg håper jeg har vist deg hvor enkelt, morsomt og lærerikt det kan være å lage din egen. Nå kom deg til det, og meld deg tilbake.

Se hele serien her.



Du Kan Være Interessert

Far / Sønn Socker Rocket Madness

Far / Sønn Socker Rocket Madness


Bygg den perfekte Sand-Art-pennen

Bygg den perfekte Sand-Art-pennen


Lag verden: Prosthetics Build Party

Lag verden: Prosthetics Build Party


Robot Hacks begynner: La oss bygge Bots med Master Makers

Robot Hacks begynner: La oss bygge Bots med Master Makers