Tartalomjegyzék:

Amazon Dash Button Silent Doorbell: 10 lépés (képekkel)
Amazon Dash Button Silent Doorbell: 10 lépés (képekkel)

Videó: Amazon Dash Button Silent Doorbell: 10 lépés (képekkel)

Videó: Amazon Dash Button Silent Doorbell: 10 lépés (képekkel)
Videó: Amazon Dash Doorbell | GIT TECH'D 2024, November
Anonim
Image
Image

Folyamatosan kinéz az ablakon, hogy elhallgassa a látogatókat, mielőtt becsengetnek? Belefáradt abba, hogy a kutyák és a baba megbolondulnak, amikor megszólal? Nem szeretne vagyont költeni egy "okos" megoldásra?

Csendes ajtócsengőt készíteni olyan egyszerű, mint feltörni egy 5 dolláros Amazon Dash gombot! Az egyetlen dolog, amire szüksége van, egy számítógép, amely mindig otthon van - például mondjuk a Raspberry Pi, amellyel ül. Szöveges értesítéseket kaphat bármikor, amikor valaki megnyomja új csengőjét, és boldog marad az egész ház. (Még hűvösebb értesítéseket kapni, ha van okosórája!)

Ehhez a projekthez szüksége lesz:

  • Egy Amazon Dash gomb
  • Egy otthon maradó számítógép (mint a Raspberry Pi)

1. lépés: A műszerfal beállítása

A kötőjel gombjának beállítása
A kötőjel gombjának beállítása
A kötőjel gombjának beállítása
A kötőjel gombjának beállítása

A Dash gomb hackelésre való felkészítése meglehetősen egyszerű - csak végig kell mennie a teljes Amazon beállítási folyamaton, mínusz egy termék kiválasztása.

Ehhez a beállításhoz szükség van az Amazon alkalmazásra, amely iOS és Android rendszereken érhető el. Miután bejelentkezett az Amazon -ba az alkalmazáson belül, lépjen a Fiókja -> Dash Gombok és eszközök -> Új eszköz beállítása pontra. Válassza a "Dash Button" lehetőséget, és kövesse az utasításokat, amíg a rendszer nem kéri a termék kiválasztását.

Zárja be az alkalmazást. Ne szakítsa meg a beállítást; ne nyomja meg az x -et - csak zárja be az alkalmazást. Ha véletlenül kiválasztott egy terméket, vagy egy régi Dash gombot használ, csak távolítsa el a készüléket az Amazon alkalmazáson keresztül, és kövesse újra ezeket a lépéseket.

Ha módosítani szeretné a gomb megjelenését, a címke matricájának lehúzása egyszerű.

2. lépés: Telepítse a Node JS -t az eszközére

A Dash gomb hardvercímének megkereséséhez (és későbbi használatához) a Node JS -t kell használnunk. Ez bármilyen számítógépre telepíthető - Mac, Linux (Raspberry Pi) vagy Windows.

A végső projektünk azon múlik, hogy olyan számítógéppel rendelkezünk, amely ugyanahhoz a hálózathoz csatlakozik, mint a gombunk, amely megszakítás nélküli csomópont -szkriptet futtat, ezért vegye figyelembe ezt az eszköz kiválasztásakor. Egy otthoni asztali vagy Raspberry Pi tökéletes lenne.

Én a Pi 3 használatát választom, de a Pi Zero WiFi hardverrel is működne!

A Node JS számítógépre történő telepítéséhez kövesse a megfelelő utasításokat:

  • Raspberry Pi
  • Mac operációs rendszer
  • ablakok

Alex Horton írt egy fantasztikus modult, amire éppen törekszünk, az úgynevezett node-dash-button. Telepítenünk kell, a csomópont csomagkezelővel (npm) és a libpcap -tal együtt. Írja be ezeket a parancsokat a parancssorba:

sudo apt-get install npm

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

3. lépés: Keresse meg a gomb címét

Keresse meg a gomb címét
Keresse meg a gomb címét
Keresse meg a gomb címét
Keresse meg a gomb címét

Találtunk egy egyszerű módszert a kötőjel gombjának címének megkeresésére.

Először tartsa lenyomva a műszerfal gombját körülbelül 5 másodpercig, amíg a LED lassan kéken villogni nem kezd. Nyissa meg telefonján a wifi -beállításokat, és keresse meg az „Amazon Configure Me” wifi -t. Miután csatlakozott ehhez, nyissa meg a webböngészőt, és lépjen a "https://192.168.0.1" oldalra.

A keresett cím MAC -cím, és így fog kinézni: "ab: 64: be: 8b: ce: 82".

4. lépés: A gomb tesztelése

Egy egyszerű parancsfájl írásával megerősítheti, hogy megtalálta a megfelelő címet, és minden gombnyomásra üzenetet nyomtat.

Hozzon létre egy új szkriptet a node-dash-button könyvtárban.

sudo nano button_test.js

És másolja be a fájlt a következőbe:

var dash_button = igényel ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // CSERÉLJ A CÍMÉVEL exec = required ('child_process'). exec; dash.on ('észlelt', function () {console.log ('Gomb megnyomva!');});

Cserélje ki a második sor x -jeit az újonnan talált gombcímre. Mentse a fájlt a Ctl-x, y billentyűkombinációval.

Indítsa el a szkriptet, és nyomja meg a gombot.

sudo node button_test.js

Látnia kell a "Gomb megnyomva!" kinyomtatni. Most, hogy felismerhetjük a gombnyomásokat, ezek alapján akciókat indíthatunk el!

5. lépés: A kezdeti állapotfiók beállítása

Kezdeti állapotfiók beállítása
Kezdeti állapotfiók beállítása
Kezdeti állapotfiók beállítása
Kezdeti állapotfiók beállítása

Most, hogy a Dash gomb megnyomásakor kiválthatjuk a parancssori üzenetet, mindenféle más dolgot is kiválthatunk! Ebben az esetben szöveges üzenetet fogok küldeni - nem szeretnénk, hogy aki az ajtóban áll, várjon, amíg megnézzük az e -mailünket.

A szöveges értesítés kiváltásának néhány módja van - olyan szolgáltatások, mint a Twilio vagy a PushBullet. Az egyik legegyszerűbb mód a kezdeti állapoton keresztül volt. Minimális extra kódolást igényelt, és egy műszerfal nézetet biztosított számomra, amikor megnyomták a gombot.

Lépjen a https://iot.app.initialstate.com oldalra, és hozzon létre egy új fiókot.

Telepítenie kell a NodeJS kezdeti állapotú SDK -ját az asztalra/laptopra/Raspberry Pi -re. Parancssorban (ne felejtse el először SSH -t bevinni a Pi -be), futtassa a következő parancsot:

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

sudo npm telepítés kezdeti állapot

A streamer teszteléséhez hozzon létre egy tesztfájlt:

nano stream_test.js

És másolja be a következőt (itt is megtalálható):

var IS = igényel ('kezdeti állapot');

var bucket = IS.bucket ('NodeJS_SDK_Example', 'YOUR_ACCESS_KEY_GOES_HERE'); // Esemény áthelyezése a kezdeti állapotba bucket.push ('Demo State', 'active'); setTimeout (function () {// Push another event bucket.push ('Demo State', 'inactive');}, 1000);

Mentse el a parancsfájlt a Ctl-x, y billentyűkombinációval.

A szkript futtatása előtt azonban hozzá kell adnunk egy egyedi hozzáférési kulcsot a második sorhoz.

A 2. sorban egy sort talál, amely var bucket = IS.bucket (…. Ez a sor új adatcsoportot hoz létre „NodeJS_SDK_Example” néven, és a fiókjához van társítva. Ez a társítás az ugyanazon második paraméter miatt következik be sor. A Kezdeti állapot fiók hozzáférési kulcsa hosszú betűkből és számokból áll. Ha böngészőjében megnyitja a Kezdeti állapot fiókját, kattintson a jobb felső sarokban található felhasználónevére, majd lépjen a „Saját beállítások” oldalra. ott a hozzáférési kulcsa.

Futtassa a teszt szkriptet, hogy megbizonyosodjon arról, hogy adatfolyamot tudunk létrehozni a kezdeti állapotú fiókjához. Futtassa a következőt:

csomópont stream_test.js

Térjen vissza a kezdeti állapotú fiókjához a böngészőben. A „NodeJS_SDK_Example” nevű új adatcsoportnak meg kellett jelennie a naplópolc bal oldalán (előfordulhat, hogy frissítenie kell az oldalt). Kattintson erre a vödörre a tesztadatok megtekintéséhez.

Most már készen áll a gombnyomások elküldésére a kezdeti állapotba!

6. lépés: Végső kód

Végső kód
Végső kód

Már telepítettük a Kezdeti állapot csomópont SDK -t, ezért mindössze annyit kell tennünk, hogy hozzáadjuk a kódunkhoz!

Itt található a button_test.js szkript korábban módosított változata:

var dash_button = igényel ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // CSERÉLJ A CÍMÉVEL exec = need ('child_process'). exec; var IS = igényel ('kezdeti állapot'); var bucket = IS.bucket ('Ajtócsengő', 'YOUR_ACCESS_KEY'); dash.on ('észlelt', function () {console.log ('Gomb megnyomva!'); bucket.push ('Bejárati ajtó', 'Valaki itt van!');});

Másolja be ezt a szkriptet egy új fájlba (még mindig a node-dash-button könyvtárban):

sudo nano ajtócsengő.js

Észre fogja venni, hogy az 5. és 6. sorban szerepel a Kezdeti állapot modul, és megadjuk a vödörparamétereket. A 6. sorba kell helyeznie az egyedi hozzáférési kulcsot.

A 10. sor az, ahol ténylegesen adatokat küldünk a kezdeti állapotba. Ebben az esetben elneveztem a vödröm "Ajtócsengőnek", és azt sugározom, hogy "Valaki itt van!" a bejárati ajtómnál. Ha több Dash gombja van, akkor mindegyiket elküldheti a "Doorbell" vödörbe, de a helyük szerint nevezheti el őket (például "Garázskapu", "Hálószoba" stb.).

Mentse el a parancsfájlt a Ctl-x, y billentyűkombinációval.

A szkript teszteléséhez futtassa:

sudo node doorbell.js.

Amikor megnyomja a gombot, képesnek kell lennie arra, hogy a kezdeti állapot oldalára lépjen, és az oldalsávon egy új, "Doorbell" nevű vödröt láthat. Most adjunk hozzá egy triggert!

7. lépés: SMS -trigger beállítása

SMS -indító beállítása
SMS -indító beállítása

A "triggerek" a kezdeti állapot értesítéseinek változata, és rendkívül könnyen hozzáadhatók. Csak kattintson a "Beállítások" gombra az ajtócsengő vödör alatt, majd kattintson a "Triggers" fülre.

A legördülő listából kiválaszthatja a kiváltani kívánt jelet. Vödörünknek csak egy van - "Első ajtó" - ezért válassza ezt. Ezután válassza ki az "egyezés" opciót, és adja hozzá az üzenetet, amelyet a gomb megnyomásakor közvetít - ebben az esetben a "Valaki itt van!"

Végül adja meg telefonszámát az SMS -ek fogadásához. A szám első használatakor meg kell adnia a telefonjára küldött ellenőrző kódot.

Győződjön meg róla, hogy megnyomja a telefonszám melletti "+" jelet, különben a trigger nem jön létre.

Kattintson az "Indítók" lap alján lévő "Kész" gombra az aktiválás mentéséhez.

Most már készen áll a szöveges értesítések fogadására! Nyomja meg a gombot (amíg a doorbell.js szkript fut). 8 másodperc vagy rövidebb idő alatt meg kell kapnia egy szöveget!

Csendes csengője készen áll! Ha biztos akar lenni abban, hogy a szkript áramkimaradás esetén újraindul, olvassa tovább. Emellett emojikat adok hozzá a vödörhöz és a jelnevekhez.

8. lépés: Az irányítópult személyre szabása

A műszerfal személyre szabása
A műszerfal személyre szabása
A műszerfal személyre szabása
A műszerfal személyre szabása

Ha szeretné feldobni a kezdeti állapot irányítópultját, az emojis hozzáadása vagy a nevek teljes megváltoztatása rendkívül egyszerű.

A csempe nevének megváltoztatásához egyszerűen kattintson a jobb gombbal a csempére, és válassza a "csempe szerkesztése" lehetőséget. A megjelenő Cím mezőben elhelyezheti az emoji parancsikonját. A konfigurációs ablak tetején az "x" gombra kattintva menti a módosításokat.

Ezt a vödör nevével is megteheti, ha a vödör neve alatt található "Beállítások" gombra kattint, majd a Név mezőt szerkeszti.

Hozzáadhat egy háttérképet az irányítópulthoz, hogy az adatok személyesebbek és kontextusosabbak legyenek.

9. lépés: A szkript indítása a rendszerindításról

Az otthoni számítógépen vagy a Pi -n futó szkript a csendes ajtócsengőnk kulcsa. Ha valami történik, például áramkimaradás, biztosítani akarjuk, hogy a szkriptünk újra működésbe lépjen.

Mac gépen A crontab nevű szolgáltatást és a nano szövegszerkesztőt fogjuk használni:

env SZERKESZTŐ = nano crontab -e

A fájl belsejében adja hozzá:

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

Feltétlenül cserélje le a "UserName" nevet a sajátjára. Ha a szkriptet másnak nevezte el, vagy másik könyvtárba helyezte, cserélje ki a /Users/UserName/node_modules/node-dash-button/doorbell.js fájlt a megfelelő elérési útra. Példámban az útvonal a fő felhasználói könyvtár, amelyet a node_modules/node-dash-button könyvtár követ. Az alábbi utasításokat követve könnyen másolhatja a fájl útvonalnevét.

Mentse a fájlt a Ctl-x, y billentyűkombinációval. A számítógép újraindításával tesztelheti, hogy működik -e.

Windows rendszeren Kövesse az itt található utasításokat a csomópont -szkript indításához az újraindításkor. Feltétlenül adja meg a szkript teljes elérési útját.

Raspberry Pi/Linux gépen A szkript futtatása a rendszerindításkor a Pi -n nagyon egyszerű. A crontab nevű szolgáltatást fogjuk használni:

sudo crontab -e

Válassza ki kedvenc szövegszerkesztőjét (szeretem a nano -t), és a fájl alján (az összes megjegyzés alatt) adja hozzá:

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

Ha a szkriptet másnak nevezte el, vagy másik könyvtárba helyezte, cserélje ki a /home/pi/node_modules/node-dash-button/doorbell.js fájlt a megfelelő elérési útra. Példámban az útvonal a fő Pi könyvtár, amelyet a node_modules/node-dash-button könyvtár követ.

Mentse el a fájlt! Újra kell indítani, hogy életbe lépjen, de ha azt is szeretné, ha az internetkapcsolat megszakad, akkor újra kell indítani a crontab -ot a következő lépésben.

A hálózati cseppek kezelésére úgy döntöttem, hogy csak egy módszert valósítok meg, amellyel a Pi felismeri a hálózati kapcsolatot, és újraindítja, ha nincs.

Először létre kell hoznunk egy szkriptet a WiFi ellenőrzéséhez, majd a leállítás elindításához:

CD

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

Helyezze a következőt a fájlba, ügyelve arra, hogy az IP -címet az útválasztó IP -címével helyettesítse:

ping -c4 IP_ADDRESS> /dev /null

ha [$? ! = 0] majd sudo /sbin /shutdown -r most fi

A ping ellenőrzi a kapcsolatot. Ha nem nulla kilépési kóddal tér vissza, a szkript elküldi a leállítás parancsot. Mentse el és lépjen ki a szkriptből. Most ellenőrizze, hogy az engedélyek rendben vannak -e:

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

Csakúgy, mint a doorbell.js szkriptünk, ezt a szkriptet is hozzáadjuk a crontabhoz:

sudo crontab -e

Hely

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

a korábban hozzáadott sor alatt. Ez 5 percenként futtatja a checkwifi szkriptünket. Most lépjen ki a crontab -ból, és indítsa újra a Pi -t:

sudo újraindítás

Mindennek be kell állnia és működnie kell! Ezt az oktatóanyagot követve beállíthatja a Pi -n futó folyamatok figyelésének módját is.

10. lépés: Következtetés

Következtetés
Következtetés

Most néma ajtócsengője van, hogy az Amazon szállítói ne ébresszenek fel! Tájékoztasson, ha kérdése van, vagy egyedi módosításokkal áll elő.

Ajánlott: