Den ydmyke dørklokken er flott for å varsle oss til besøkende så lenge vi er i earshot, men vi kan fikse det med en liten Internett av ting (IoT) knowhow og Raspberry Pi.

For dette prosjektet har vi brukt en billig trådløs dørklokke (funnet på Amazon for en fiver). Vi fjernet trykknappsenheten og fant en krets som bruker en enkel momentbryter drevet av et 12V batteri.

Raspberry Pi GPIO kan ikke arbeide direkte med spenninger over 5V, slik at vi først må bytte strømforsyning for noe lavere.

Du vil trenge

  • Noen Raspberry Pi men A + er best.
  • En trådløs dørklokke
  • Loddemessige ferdigheter
  • Twilio konto
  • Den nyeste Raspbian OS
  • Last ned hele koden

Bygg prosjektet

Du må lodde to ledninger på batterikontaktene for trykknappsenheten. Når du trykker på, kobler den øyeblikkelige bryteren kraften til bakken og senker strømmen effektivt, endrer tilstanden til enheten fra til og av og skaper en trigger.

Ved hjelp av et multimeter, finn de riktige pinnene til enheten og loddetrådene til dem. For ekstra styrke, bruk en varmepistol for å holde ledningene på kontaktene. Fest den positive batteriet til 3V3 GPIO pin og GND på batteriet til GND av Raspberry Pi.

På din øyeblikkelige bryter festes knappen til pin 17 (Broadcom pin referanse) og den andre til 3V3 GPIO pin.

Du må opprette en Twilio prøvekonto for å sende en SMS Boot din Raspberry og navigere til terminalen og skriv inn følgende for å installere Twilio API for Python: $ sudo w pip3 installer twilio .

Twilio er vår bro mellom dørklokken og SMS. Det er en online SMS-tjeneste som vi kan bruke via et Python-bibliotek

Åpne Python 3-programmet via Programmeringsmenyen, opprett en ny fil og lagre den umiddelbart som Doorbell-SMS.py. Vi starter vårt prosjekt ved å importere Twilio API, tidsbiblioteket og GPIO-biblioteket:

fra twilio.rest import TwilioRestClient

importtid

importer RPi.GPIO som GPIO

Etterpå må vi konfigurere vår GPIO til å bruke Broadcom pin-mapping, sette opp pin 17 som en inngang og sett den innebygde motoren for å trekke strømmen ned:

GPIO.setmode (GPIO.BCM)

GPIO.setup (17, GPIO.IN, GPIO.PUD_DOWN)

Deretter oppretter vi en funksjon som håndterer sending av en tekstmelding ved hjelp av Twilio API. Du må erstatte kontoen og token-detaljene med det eget og endre til = og from_ = telefonnumre for å svare til våre krav. Vær oppmerksom på mellomromene før hver linje:

Vår siste del av koden er en løkke som hele tiden går rundt. Vi ser etter nåværende på pin 17 for å falle i løkken, og når det kalles funksjonen, utløses en SMS som sendes til mobilen din:

Lagre koden din og klikk på Kjør> Kjør modul for å teste.

Eksterne tjenester

Arbeide med eksterne datakilder og tjenester er et spennende område å utforske med Raspberry Pi. Det er mange forskjellige kilder, for eksempel vær, astronomisk og mobil kommunikasjonsdata.

Datakilder kan brukes som en metode for inngang for å utløse en hendelse i den fysiske verden, for eksempel som å slå på en vifte basert på gjeldende temperatur eller en datakilde kan brukes som en utgang, for eksempel for eksempel en lufttrykksendringslogg.

I dette prosjektet brukte vi Twilio-tjenesten for å få tilgang til SMS-funksjonalitet gjennom en Python API. Twilio er en billig og robust tjeneste for prosjekter, og etter at gratis prøveperioden er ferdig, er det ganske billig å bruke på $ 1 kostnad per måned og rundt $ 0,04 per SMS. Ved hjelp av Twilio kan vi gå videre og slå vår enkle IoD (Internet of Doorbells) til en virkelig kraftig enhet med MMS (Multimedia Meldinger), som inneholder video og bilder fanget av Raspberry Pi Camera.

Det finnes andre SMS-leverandører, en er www.smspi.co.uk, som selv bruker en Pi til å håndtere sending og mottak av SMS-meldinger og kommer med 2.000 gratis SMS.

  • Ta en titt på vår samling av fantastiske Raspberry Pi-prosjekter