Sadržaj:

Nečujno zvono na vratima gumba Amazon Dash Button: 10 koraka (sa slikama)
Nečujno zvono na vratima gumba Amazon Dash Button: 10 koraka (sa slikama)

Video: Nečujno zvono na vratima gumba Amazon Dash Button: 10 koraka (sa slikama)

Video: Nečujno zvono na vratima gumba Amazon Dash Button: 10 koraka (sa slikama)
Video: Little Big Workshop Tips And Tricks (немецкий,много субтитров) комната отдыха, исследование, чертежи 2024, Srpanj
Anonim
Image
Image

Stalno gledate kroz prozor kako biste mogli presresti posjetitelje prije nego što pozvone na vrata? Umorni ste od toga da psi i beba polude kad god zazvoni? Ne želite potrošiti bogatstvo na "pametno" rješenje?

Napraviti tiho zvono na vratima jednostavno je kao i hakiranje Amazon Dash gumba od 5 USD! Jedino što vam treba je računalo koje je uvijek kod kuće - poput, recimo, one Raspberry Pi koju imate oko sebe. Primajte tekstualne obavijesti kad god netko pritisne vaše novo zvono i usrećite cijelu kuću. (Još je hladnije primati obavijesti ako imate pametni sat!)

Za ovaj projekt trebat će vam:

  • Amazon Dash gumb
  • Računalo koje ostaje kod kuće (poput Raspberry Pi)

Korak 1: Postavljanje gumba Crtica

Postavljanje gumba Crtica
Postavljanje gumba Crtica
Postavljanje gumba Crtica
Postavljanje gumba Crtica

Pripremanje gumba Dash za hakiranje prilično je jednostavno - samo trebate proći kroz cijeli postupak postavljanja Amazona bez odabira proizvoda.

Za ovo postavljanje potrebna je aplikacija Amazon koja je dostupna za iOS i Android. Nakon što ste prijavljeni na Amazon unutar aplikacije, idite na Vaš račun -> Crtice i uređaji -> Postavljanje novog uređaja. Odaberite "Gumb za crtu" i slijedite upute dok se od vas ne zatraži da odaberete proizvod.

Zatvorite aplikaciju. Nemojte otkazati postavljanje; nemojte pritisnuti x - samo zatvorite aplikaciju. Ako ste slučajno odabrali proizvod ili namjeravate promijeniti stari gumb Dash, samo uklonite uređaj putem aplikacije Amazon i ponovno slijedite ove korake.

Ako želite promijeniti izgled gumba, skinuti naljepnicu s naljepnice jednostavno je.

Korak 2: Instalirajte Node JS na svoj uređaj

Da bismo pronašli (i kasnije koristili) hardversku adresu vašeg gumba Dash, moramo koristiti Node JS. To se može instalirati na bilo koje računalo - Mac, Linux (Raspberry Pi) ili Windows.

Naš konačni projekt ovisi o tome da imamo računalo koje je spojeno na istu mrežu kao i naš gumb na kojem se izvodi neprekinuta skripta Node, pa to imajte na umu pri odabiru uređaja. Radna površina kod kuće ili Raspberry Pi bili bi savršeni.

Odlučio sam se za Pi 3, ali Pi Zero s WiFi ključem bi također radio!

Da biste instalirali Node JS na svoje računalo, slijedite odgovarajuće upute:

  • Malina Pi
  • Mac OS
  • Windows

Alex Horton napisao je fantastičan modul samo za ono što pokušavamo učiniti pod nazivom node-crtica-gumb. Moramo ga instalirati, zajedno s upraviteljem paketa čvorova (npm) i libpcap. U naredbeni redak unesite ove naredbe:

sudo apt-get install npm

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

Korak 3: Pronađite adresu gumba

Pronađite adresu gumba
Pronađite adresu gumba
Pronađite adresu gumba
Pronađite adresu gumba

Pronašli smo jednostavan način da pronađete adresu gumba crtice.

Najprije držite gumb na tipki crtice oko 5 sekundi dok LED dioda ne počne polako stroboskopo plavo. Na telefonu otvorite postavke WiFi -ja i pronađite wifi "Amazon Configure Me". Nakon što se povežete s tim, otvorite web -preglednik i idite na 'https://192.168.0.1'.

Adresa koju tražimo je MAC adresa i izgledat će poput "ab: 64: be: 8b: ce: 82".

Korak 4: Testiranje gumba

Potvrdu da ste pronašli ispravnu adresu možete napisati jednostavnom skriptom za ispis poruke svaki put kada pritisnete gumb.

Izradite novu skriptu unutar direktorija node-crtica-gumb.

sudo nano button_test.js

I kopirajte i zalijepite sljedeće u datoteku:

var dash_button = require ('node-dash-button'), crtica = dash_button ('xx: xx: xx: xx: xx: xx'), // ZAMJENA SVOJOM ADRESOM exec = require ('child_process'). exec; dash.on ('otkriveno', funkcija () {console.log ('Gumb pritisnut!');});

Zamijenite x u drugom retku novonastalom adresom gumba. Spremite datoteku pomoću Ctl-x, y.

Pokrenite skriptu i pritisnite gumb.

čvor sudo button_test.js

Trebali biste vidjeti "Gumb pritisnut!" ispisati. Sada kada možemo otkriti pritiske tipki, možemo pokrenuti radnje na temelju njih!

Korak 5: Postavljanje početnog računa države

Postavi početni državni račun
Postavi početni državni račun
Postavi početni državni račun
Postavi početni državni račun

Sada kada možemo pokrenuti poruku naredbenog retka kada pritisnemo tipku crtice, možemo pokrenuti razne druge stvari! U ovom slučaju aktivirat ću tekstualnu poruku - ne želimo da tko god je pred vratima čeka dok ne provjerimo svoju e -poštu.

Postoji nekoliko načina za pokretanje tekstualne obavijesti - usluge poput Twilio ili PushBullet. Jedan od najlakših načina koje sam pronašao bio je kroz početno stanje. Zahtijevalo je minimalno dodatno kodiranje i pružilo mi je pregled na nadzornoj ploči kada je moje dugme pritisnuto.

Idite na https://iot.app.initialstate.com i stvorite novi račun.

Morate instalirati početni SDK za NodeJS na radnu površinu/prijenosno računalo/Raspberry Pi. U naredbenom retku (ne zaboravite prvo unijeti SSH u svoj Pi), pokrenite sljedeću naredbu:

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

sudo npm install početno stanje

Za testiranje streamera stvorite testnu datoteku:

nano stream_test.js

I kopirajte-zalijepite sljedeće (također se nalazi ovdje):

var IS = require ('početno stanje');

var bucket = IS.bucket ('NodeJS_SDK_Example', 'YOUR_ACCESS_KEY_GOES_HERE'); // Gurni događaj u početno stanje bucket.push ('Demo stanje', 'aktivno'); setTimeout (function () {// Gurnite drugu korpu događaja.push ('Demo State', 'inactive');}, 1000);

Spremite skriptu pomoću Ctl-x, y.

Prije nego što možemo pokrenuti ovu skriptu, moramo dodati jedinstveni pristupni ključ u drugi redak.

Na retku 2 vidjet ćete redak koji počinje s var bucket = IS.bucket (…. Ovi retci stvaraju novu podatkovnu gomilu pod nazivom „NodeJS_SDK_Example“i povezani su s vašim računom. To se povezivanje događa zbog drugog parametra na istom redak. Vaš pristupni ključ početnog stanja dugačak je niz slova i brojeva. Ako u svom web pregledniku otvorite svoj račun početnog stanja, kliknite svoje korisničko ime u gornjem desnom kutu, a zatim idite na "moje postavke". vaš pristupni ključ tamo.

Pokrenite testnu skriptu kako biste bili sigurni da možemo stvoriti tok podataka na vaš račun početnog stanja. Pokrenite sljedeće:

čvor stream_test.js

Vratite se na početno stanje računa u svom web pregledniku. Novi spremnik podataka pod nazivom "NodeJS_SDK_Example" trebao se pojaviti s lijeve strane na polici vašeg dnevnika (možda ćete morati osvježiti stranicu). Kliknite na ovu kantu za pregled testnih podataka.

Sada ste spremni poslati pritiske na gumbe u početno stanje!

Korak 6: Završni kod

Završni kod
Završni kod

Već smo instalirali SDK za početni čvor stanja, pa ga samo trebamo dodati u naš kôd!

Ovdje je izmijenjena verzija skripte button_test.js koju smo ranije koristili:

var dash_button = require ('node-dash-button'), crtica = dash_button ('xx: xx: xx: xx: xx: xx'), // ZAMJENA SVOJOM ADRESOM exec = require ('child_process'). exec; var IS = require ('početno stanje'); var bucket = IS.bucket ('Zvono na vratima', 'YOUR_ACCESS_KEY'); dash.on ('otkriveno', funkcija () {console.log ('Gumb pritisnut!'); bucket.push ('Prednja vrata', 'Netko je ovdje!');});

Kopirajte i zalijepite ovu skriptu u novu datoteku (koja je još uvijek unutar direktorija node-crtica-gumb):

sudo nano zvono na vratima.js

Primijetit ćete da u retke 5 i 6 uključujemo modul Inicijalno stanje i pružamo naše parametre kante. Morate staviti svoj jedinstveni pristupni ključ od ranije u redak 6.

Red 10 je mjesto gdje zapravo šaljemo podatke u početno stanje. U ovom sam slučaju svoju kantu nazvao "Zvono na vratima" i emitiram "Netko je ovdje!" na mojim ulaznim vratima. Ako imate više gumba za crtice, možete ih sve poslati u kantu "Zvono na vratima", ali ih imenujte prema njihovom položaju (npr. "Garažna vrata", "Spavaća soba" itd.).

Spremite skriptu pomoću Ctl-x, y.

Da biste testirali skriptu, pokrenite:

sudo čvor zvono na vratima.js.

Kada pritisnete gumb, trebali biste moći otići na početnu stranicu i vidjeti novu kantu pod nazivom "Zvono na vratima" na bočnoj traci. Sada dodajmo okidač!

Korak 7: Postavljanje okidača za SMS

Postavljanje okidača za SMS
Postavljanje okidača za SMS

"Okidači" su inačice obavijesti početnog stanja koje je vrlo jednostavno dodati. Samo kliknite "Postavke" ispod kante zvona na vratima, a zatim kliknite karticu "Okidači".

S padajućeg popisa možete odabrati signal koji želite isključiti. Naša kanta ima samo jedno - "Prednja vrata" - pa odaberite to. Zatim odaberite opciju "podudaranje" i dodajte poruku koju prenosite kad pritisnete gumb - u ovom slučaju "Netko je ovdje!"

Na kraju, dodajte svoj telefonski broj za primanje SMS poruka. Morat ćete unijeti kontrolni kôd poslan na vaš telefon prilikom prve upotrebe tog broja.

Pobrinite se da pritisnete znak "+" pored svog telefonskog broja ili okidač neće biti stvoren.

Kliknite "Gotovo" pri dnu kartice Okidači da biste spremili okidač.

Sada ste spremni za primanje tekstualnih upozorenja! Pritisnite svoje dugme (dok je skripta doorbell.js pokrenuta). Trebali biste dobiti tekst za 8 sekundi ili manje!

Vaše tiho zvono na vratima spremno je za rad! Ako želite biti sigurni da se vaša skripta ponovno pokreće nakon nestanka struje, nastavite čitati. Također ću preći na dodavanje emotikona u vašu korpu i imena signala.

Korak 8: Personalizacija nadzorne ploče

Personaliziranje vaše nadzorne ploče
Personaliziranje vaše nadzorne ploče
Personaliziranje vaše nadzorne ploče
Personaliziranje vaše nadzorne ploče

Ako želite uljepšati svoju nadzornu ploču početnog stanja, dodavanje emojija ili potpuno mijenjanje imena vrlo je jednostavno.

Da biste promijenili naziv pločice, jednostavno desnom tipkom miša kliknite pločicu i odaberite "uredi pločicu". Unutar okvira za naslov koji se pojavi možete staviti prečac za bilo koji emoji. Klikom na "x" pri vrhu prozora za konfiguraciju spremit ćete svoje promjene.

To možete učiniti i za naziv svoje kante klikom na "Postavke" ispod naziva kante, a zatim uredite polje Ime.

Možete dodati pozadinsku sliku na nadzornu ploču kako biste svojim podacima dali više osobnosti i konteksta.

Korak 9: Pokretanje skripte od pokretanja

Skripta koju imate pokrenutu na svom kućnom računaru ili Pi ključ je našeg tihog zvona na vratima. Ako se dogodi nešto poput nestanka struje, želimo se pobrinuti da se naša skripta ponovno pokrene.

Na Macu ćemo koristiti uslugu pod nazivom crontab i uređivač nano teksta:

env EDITOR = nano crontab -e

Unutar datoteke dodajte:

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

Svakako zamijenite "Korisničko ime" vlastitim. Ako ste skripti dali drugo ime ili je stavili u drugi direktorij, zamijenite /Users/UserName/node_modules/node-dash-button/doorbell.js ispravnom putanjom. Put u mom primjeru je glavni korisnički imenik iza kojeg slijedi imenik node_modules/node-dash-button. Prateći ove upute možete jednostavno kopirati ime putanje datoteke.

Spremite datoteku pomoću Ctl-x, y. Možete li provjeriti radi li ponovnim pokretanjem računala.

Na sustavu Windows Slijedite upute ovdje za pokretanje skripte čvora pri ponovnom pokretanju. Svakako navedite cijeli put skripte.

Na Raspberry Pi/Linux stroju Pokretanje skripte iz boot -a na Pi -u prilično je jednostavno. Koristit ćemo uslugu pod nazivom crontab:

sudo crontab -e

Odaberite svoj omiljeni uređivač teksta (sviđa mi se nano) i pri dnu datoteke (ispod svih komentara) dodajte:

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

Ako ste skripti dali drugo ime ili je stavili u drugi direktorij, zamijenite /home/pi/node_modules/node-dash-button/doorbell.js ispravnom stazom. Put u mom primjeru je glavni Pi direktorij nakon kojeg slijedi direktorij node_modules/node-dash-button.

Spremite datoteku! Morate ga ponovno pokrenuti da bi stupio na snagu, ali ako želite i ponovno pokretanje ako se internetska veza prekine, u ovom ćemo sljedećem koraku dodati još jedan zadatak u našu crontab.

Kako bih se nosio s padovima mreže, odlučio sam samo implementirati način na koji bi Pi otkrio mrežnu vezu i ponovno pokrenuo sustav ako ga nema.

Prvo moramo stvoriti skriptu za provjeru WiFi -a, a zatim pokrenuti gašenje:

CD

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

U datoteku postavite sljedeće, pazite da IP adresu zamijenite IP adresom usmjerivača:

ping -c4 IP_ADRESA> /dev /null

ako [$? ! = 0] onda sudo /sbin /shutdown -r sada fi

Ping provjerava postoji li veza. Ako se vrati s izlaznim kodom koji nije nula, skripta šalje naredbu za isključivanje. Spremite i izađite iz skripte. Sada provjerite jesu li dopuštenja u redu:

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

Baš kao i naš doorbell.js skript, i mi ćemo dodati ovu skriptu u crontab:

sudo crontab -e

Mjesto

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

ispod crte koju smo dodali ranije. Ovo će pokrenuti našu skriptu checkwifi svakih 5 minuta. Sada izađite iz crontaba i ponovno pokrenite Pi:

sudo ponovno podizanje sustava

Sve bi trebalo biti postavljeno i raditi! Također možete postaviti način praćenja pokrenutih procesa na Pi -u slijedeći ovaj vodič.

Korak 10: Zaključak

Zaključak
Zaključak

Sada imate tiho zvono na vratima da vas spriječe oni dostavljači iz Amazona! Javite mi ako imate pitanja ili smislite jedinstvene izmjene.

Preporučeni: