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:
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.