INHOUDSOPGAWE:

Amazon Dash Button Silent Doorbell: 10 stappe (met foto's)
Amazon Dash Button Silent Doorbell: 10 stappe (met foto's)

Video: Amazon Dash Button Silent Doorbell: 10 stappe (met foto's)

Video: Amazon Dash Button Silent Doorbell: 10 stappe (met foto's)
Video: Amazon Dash Doorbell | GIT TECH'D 2024, Julie
Anonim
Image
Image

Kyk u konstant deur die venster sodat u besoekers kan onderskep voordat hulle aan die deurklokkie lui? Is u moeg daarvoor dat die honde en baba mal word wanneer dit lui? Wil u nie 'n fortuin spandeer aan 'n 'slim' oplossing nie?

Dit is net so maklik om 'n stil deurklokkie te maak as om 'n Amazon Dash Button van $ 5 in te kap! Die enigste ander ding wat u nodig het, is 'n rekenaar wat altyd tuis is, soos die Raspberry Pi wat u sit. Kry telkens kennisgewings wanneer iemand aan u nuwe deurklokkie druk en die hele huis gelukkig hou. (Dit is nog koeler om kennisgewings te kry as u 'n slimhorlosie het!)

Vir hierdie projek benodig u:

  • 'N Amazon Dash -knoppie
  • 'N Rekenaar wat tuis bly (soos 'n Raspberry Pi)

Stap 1: Stel u Dash -knoppie op

Stel u Dash -knoppie op
Stel u Dash -knoppie op
Stel u Dash -knoppie op
Stel u Dash -knoppie op

Dit is redelik eenvoudig om u Dash -knoppie gereed te maak vir inbraak - u hoef net deur die hele Amazon -opstellingsproses te gaan, minus die keuse van 'n produk.

Hierdie opstelling benodig die Amazon -app, wat beskikbaar is vir iOS en Android. Nadat u binne die app by Amazon aangemeld het, gaan na u rekening -> Dash Buttons & Devices -> Stel 'n nuwe toestel op. Kies 'Dash Button' en volg die instruksies totdat u gevra word om 'n produk te kies.

Maak die app toe. Moenie die opstelling kanselleer nie; raak nie die x nie - maak net die app toe. As u per ongeluk 'n produk gekies het of 'n ou Dash -knoppie gebruik, verwyder u die toestel deur die Amazon -app en volg hierdie stappe weer.

As u die voorkoms van u knoppie wil verander, is dit maklik om die etiketplakker af te haal.

Stap 2: Installeer Node JS op u toestel

Om die hardeware -adres van u Dash -knoppie te vind (en daarna te gebruik), moet ons Node JS gebruik. Dit kan op enige rekenaar geïnstalleer word - Mac, Linux (Raspberry Pi) of Windows.

Ons laaste projek hang af van 'n rekenaar wat aan dieselfde netwerk gekoppel is as ons knoppie met 'n ononderbroke Node -script, dus hou dit in gedagte wanneer u u toestel kies. 'N Tuis lessenaar of Raspberry Pi sou perfek wees.

Ek kies om 'n Pi 3 te gebruik, maar 'n Pi Zero met 'n WiFi -dongle sal ook werk!

Volg die toepaslike instruksies om Node JS op u rekenaar te installeer:

  • Framboos Pi
  • Mac OS
  • Windows

Alex Horton het 'n fantastiese module geskryf net vir wat ons probeer doen, genaamd node-dash-button. Ons moet dit installeer, saam met die nodepakketbestuurder (npm) en libpcap. Voer hierdie opdragte in die opdragreël in:

sudo apt-get install npm

sudo apt-get install libpcap-dev npm install node-dash-button

Stap 3: Soek die knoppie se adres

Soek die knoppie se adres
Soek die knoppie se adres
Soek die knoppie se adres
Soek die knoppie se adres

Ons het 'n eenvoudige manier gevind om u knoppie -adres te vind.

Hou eers die knoppie op u dash -knoppie ongeveer 5 sekondes ingedruk totdat die LED stadig blou begin streel. Maak u wifi -instellings op u telefoon oop en vind die 'Amazon Configure Me' wifi. Sodra u hiermee gekoppel is, maak u u webblaaier oop en gaan na 'https://192.168.0.1'.

Die adres waarna ons op soek is, is MAC -adres en sal soos "ab: 64: be: 8b: ce: 82" lyk.

Stap 4: Toets u knoppie

U kan bevestig dat u die regte adres gevind het deur 'n eenvoudige skrif te skryf om 'n boodskap te druk elke keer as u op die knoppie druk.

Skep 'n nuwe script in die gids met knoppies-knoppies.

sudo nano button_test.js

En kopieer en plak die volgende in die lêer:

var dash_button = require ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // VERVANG MET U ADRES exec = require ('child_process'). exec; dash.on ('opgespoor', funksie () {console.log ('Knoppie gedruk!');});

Vervang die x's op die tweede reël met u nuutgevonde knoppie -adres. Stoor die lêer met Ctl-x, y.

Begin die script en druk op u knoppie.

sudo node button_test.js

U moet 'Knoppie gedruk' sien! uitdruk. Noudat ons knoppies ingedruk het, kan ons aksies op grond daarvan aktiveer!

Stap 5: Stel die aanvanklike staatrekening op

Stel die aanvanklike staatrekening op
Stel die aanvanklike staatrekening op
Stel die aanvanklike staatrekening op
Stel die aanvanklike staatrekening op

Noudat ons 'n opdragreëlboodskap kan aktiveer as ons op die Dash -knoppie druk, kan ons allerhande ander dinge aktiveer! In hierdie geval gaan ek 'n sms stuur - ons wil nie hê dat almal by die deur wag totdat ons ons e -pos nagaan nie.

Daar is 'n paar maniere om 'n sms -kennisgewing te aktiveer - dienste soos Twilio of PushBullet. Een van die maklikste maniere wat ek gevind het, was deur Initial State. Dit het minimale ekstra kodering vereis en het my 'n paneelbeeld gegee van wanneer my knoppie ingedruk is.

Gaan na https://iot.app.initialstate.com en skep 'n nuwe rekening.

U moet die Initial State SDK vir NodeJS op u lessenaar/skootrekenaar/Raspberry Pi installeer. Voer die volgende opdrag uit by 'n opdragprompt (moenie vergeet om eers in u Pi te SSH nie):

cd/home/pi/node_modules/node-dash-button

sudo npm installeer aanvanklike toestand

Om die streamer te toets, skep 'n toetslêer:

nano stream_test.js

En kopieer en plak die volgende (ook hier gevind):

var IS = require ('initial-state');

var bucket = IS.bucket ('NodeJS_SDK_Example', 'YOUR_ACCESS_KEY_GOES_HERE'); // Stuur gebeurtenis na die oorspronklike toestand bucket.push ('Demostaat', 'aktief'); setTimeout (function () {// Push another event bucket.push ('Demo State', 'inactive');}, 1000);

Stoor die skrif met Ctl-x, y.

Maar voordat ons hierdie script kan uitvoer, moet ons 'n unieke toegangsleutel by die tweede reël voeg.

Op reël 2 sal u 'n reël sien wat begin met var bucket = IS.bucket (…. Hierdie reëls skep 'n nuwe data -emmer met die naam "NodeJS_SDK_Example" en word met u rekening geassosieer. Hierdie assosiasie gebeur as gevolg van die tweede parameter op dieselfde Die toegangsleutel van u aanvanklike staatrekening is 'n lang reeks letters en syfers. As u in u webblaaier na u oorspronklike staatrekening gaan, klik dan op u gebruikersnaam regs bo en gaan na "my instellings". jou toegangsleutel daar.

Begin die toetsskrif om seker te maak dat ons 'n datastroom na u aanvanklike staatrekening kan skep. Voer die volgende uit:

node stream_test.js

Gaan terug na u aanvanklike staatrekening in u webblaaier. 'N Nuwe data -emmer genaamd' NodeJS_SDK_Example 'moes links in u logblad verskyn (u moet die bladsy moontlik herlaai). Klik op hierdie emmer om die toetsdata te sien.

Nou is u gereed om u knoppies na die oorspronklike toestand te stuur!

Stap 6: Finale kode

Finale kode
Finale kode

Ons het reeds die Initial State Node SDK geïnstalleer, dus al wat ons hoef te doen is om dit by ons kode te voeg!

Hier is 'n aangepaste weergawe van die button_test.js -script wat ons vroeër gebruik het:

var dash_button = require ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // VERVANG MET U ADRES exec = require ('child_process'). exec; var IS = require ('initial-state'); var bucket = IS.bucket ('Doorbell', 'YOUR_ACCESS_KEY'); dash.on ('opgespoor', funksie () {console.log ('Knoppie gedruk!'); bucket.push ('Voordeur', 'Iemand is hier!');});

Kopieer-plak hierdie script in 'n nuwe lêer (nog steeds in die knoppie-knoppie-knoppie-gids):

sudo nano deurbel.js

U sal sien dat ons op reëls 5 en 6 die module Initial State insluit en ons emmerparameters verskaf. U moet u unieke toegangsleutel van vooraf op reël 6 plaas.

Reël 10 is waar ons eintlik data na die oorspronklike toestand stuur. In hierdie geval het ek my emmer 'Deurbel' genoem en 'Ek is hier!' by my voordeur. As u meer Dash -knoppies het, kan u dit almal na die emmer "Deurklokkie" stuur, maar dit op hul plek noem (d.w.s. "Garagedeur", "Slaapkamer", ens.).

Stoor die skrif met Ctl-x, y.

Voer die volgende uit om u skrif te toets:

sudo node deurbel.js.

As u op u knoppie druk, moet u na u oorspronklike toestand -bladsy kan gaan en 'n nuwe emmer met die naam 'Deurbel' in die sidebar kan sien. Laat ons nou 'n sneller byvoeg!

Stap 7: Stel 'n SMS -sneller in

Stel 'n SMS -sneller in
Stel 'n SMS -sneller in

'Triggers' is die oorspronklike weergawe van kennisgewings en dit is baie maklik om by te voeg. Klik net op "Instellings" onder die deurbel, en klik dan op die oortjie "Triggers".

U kan die sein wat u wil aktiveer, kies uit die keuselys. Ons emmer het slegs een - 'Voordeur' - kies dit. Kies dan die opsie "pas" en voeg die boodskap by wat u stroom as u op u knoppie druk - in hierdie geval "Iemand is hier!"

Voeg laastens u telefoonnommer by om SMS -boodskappe te ontvang. Die eerste keer dat u die nommer gebruik, moet u 'n verifikasiekode invoer wat na u telefoon gestuur is.

Maak seker dat u op die "+" teken langs u telefoonnommer druk, anders word die sneller nie geskep nie.

Klik op "Klaar" onderaan die sneller -oortjie om u sneller te stoor.

Nou is u gereed om tekswaarskuwings te ontvang! Druk op u knoppie (terwyl die deurbel.js -script loop). U behoort binne 8 sekondes of minder 'n teks te kry!

U stil deurklokkie is gereed! Hou aan om te lees as u wil verseker dat u skrip weer begin tydens 'n kragonderbreking. Ek sal ook emoji's by u emmer voeg en name noem.

Stap 8: Pas u dashboard aan

Pas u dashboard aan
Pas u dashboard aan
Pas u dashboard aan
Pas u dashboard aan

As u u oorspronklike toestand -dashboard wil versier, is dit baie eenvoudig om emoji's by te voeg of om name heeltemal te verander.

Om die naam van 'n teël te verander, klik met die rechtermuisknop op die teël en kies 'teël wysig'. Binne die titelvak wat verskyn, kan u die kortpad vir enige emoji plaas. As u op 'x' bo in die opstelvenster klik, word u veranderinge gestoor.

U kan dit ook doen met die naam van u emmer deur op "Instellings" onder die emmernaam te klik en dan die veld Naam te wysig.

U kan 'n agtergrondprent by u dashboard voeg om u data meer persoonlikheid en konteks te gee.

Stap 9: Begin die script van die begin af

Die skrif wat u op u tuisrekenaar of Pi gebruik, is die sleutel tot ons stil deurklokkie. As iets soos 'n kragonderbreking gebeur, wil ons seker maak dat ons script weer aan die gang is.

Op 'n Mac Ons gaan 'n diens genaamd crontab en die nano -teksredakteur gebruik:

env REDAKTEUR = nano crontab -e

Voeg binne -in die lêer by:

@reboot nohup sudo node /Users/UserName/node_modules/node-dash-button/doorbell.js &

Maak seker dat u 'Gebruikersnaam' met u eie vervang. As u u skrip iets anders genoem het of in 'n ander gids geplaas het, vervang /Users/UserName/node_modules/node-dash-button/doorbell.js met die regte pad. Die pad in my voorbeeld is die hoofgebruikergids, gevolg deur die gids node_modules/node-dash-button. U kan die padnaam van 'n lêer maklik kopieer deur hierdie instruksies te volg.

Stoor die lêer met Ctl-x, y. U kan toets of dit werk deur u rekenaar weer te begin.

Op 'n Windows Volg die instruksies hier om u knooppuntskrif te herbegin. Maak seker dat u die hele pad van die skrip spesifiseer.

Op 'n Raspberry Pi/Linux -masjien Dit is redelik eenvoudig om 'n script vanaf die boot op die Pi uit te voer. Ons gaan 'n diens genaamd crontab gebruik:

sudo crontab -e

Kies u gunsteling teksredakteur (ek hou van nano) en voeg onderaan die lêer (onder al die opmerkings) by:

@reboot nohup sudo node /home/pi/node_modules/node-dash-button/doorbell.js &

As u u skrip iets anders genoem het of in 'n ander gids geplaas het, vervang /home/pi/node_modules/node-dash-button/doorbell.js met die regte pad. Die pad in my voorbeeld is die belangrikste Pi-gids gevolg deur die node_modules/node-dash-button-gids.

Stoor die lêer! U moet herlaai om in werking te tree, maar as u ook wil herlaai as die internetverbinding onderbreek, gaan ons in hierdie volgende stap nog 'n taak by ons crontab voeg.

Om netwerkonderbrekings te hanteer, het ek besluit om net 'n manier vir die Pi te implementeer om 'n netwerkverbinding op te spoor en weer te begin as dit nie daar is nie.

Eerstens moet ons 'n script skep om die WiFi te kontroleer en dan die sluiting te aktiveer:

cd

sudo nano /usr/local/bin/checkwifi.sh

Plaas die volgende in die lêer, en vervang die IP -adres met die IP -adres van u router:

ping -c4 IP_ADDRESS> /dev /null

as [$? ! = 0] dan sudo /sbin /shutdown -r nou fi

Die ping kyk of daar 'n verbinding is. As dit terugkeer met 'n nie-nul-uitgangskode, stuur die script die bevel om af te sluit. Stoor en verlaat die script. Maak nou seker dat die regte daarvan in orde is:

sudo chmod 775 /usr/local/bin/checkwifi.sh

Net soos ons deurbell.js -script, gaan ons hierdie script by crontab voeg:

sudo crontab -e

Plek

*/5 * * * */usr/bin/sudo -H /usr/local/bin/checkwifi.sh >>/dev/null 2> & 1

onder die lyn wat ons vroeër bygevoeg het. Hiermee word ons checkwifi -skrip elke 5 minute uitgevoer. Verlaat nou crontab en herlaai die Pi:

sudo herlaai

Alles moet opgestel en werk! U kan ook 'n manier instel om lopende prosesse op 'n Pi te monitor deur hierdie tutoriaal te volg.

Stap 10: Gevolgtrekking

Afsluiting
Afsluiting

U het nou 'n stil deurklokkie om te keer dat die afleweraars van Amazon u wakker maak! Laat weet my as u enige vrae het of met unieke wysigings vorendag kom.

Aanbeveel: