Mündəricat:

Amazon Dash Button Səssiz Qapı Zəngi: 10 Addım (Şəkillərlə birlikdə)
Amazon Dash Button Səssiz Qapı Zəngi: 10 Addım (Şəkillərlə birlikdə)

Video: Amazon Dash Button Səssiz Qapı Zəngi: 10 Addım (Şəkillərlə birlikdə)

Video: Amazon Dash Button Səssiz Qapı Zəngi: 10 Addım (Şəkillərlə birlikdə)
Video: 4 nömrəli bir avtomobil sahibi üçün əlverişli olacaq Aliexpress -dən 40 faydalı avtomobil məhsulları 2024, Iyul
Anonim
Image
Image

Daim pəncərədən baxırsınız ki, ziyarətçilər qapı zəngini çalmazdan əvvəl onları tuta biləsiniz? İtlər və körpə çaldıqda dəli olmaqdan bezdinizmi? "Ağıllı" bir həll üçün bir sərvət sərf etmək istəmirsiniz?

Səssiz bir qapı zəngi etmək 5 dollarlıq Amazon Dash Buttonunu sındırmaq qədər asandır! Ehtiyac duyduğunuz tək şey, həmişə evdə olan bir kompüterdir - məsələn, Raspberry Pi -nin ətrafında oturduğunuzu söyləyin. İstənilən vaxt yeni qapı zəngini basan və bütün evi xoşbəxt edən mətn bildirişləri alın. (Ağıllı saatınız varsa, bildiriş almaq daha da xoşdur!)

Bu layihə üçün sizə lazım olacaq:

  • Amazon Dash Düyməsi
  • Evdə qalan bir kompüter (Raspberry Pi kimi)

Addım 1: Çizgi Düyməsini Ayarlayın

Çizgi Düymənin Qurulması
Çizgi Düymənin Qurulması
Çizgi Düymənin Qurulması
Çizgi Düymənin Qurulması

Dash düyməsini hack etmək üçün hazırlamaq olduqca sadədir - bir məhsul seçmədən bütün Amazon quraşdırma prosesini keçməlisiniz.

Bu quraşdırma, iOS və Android üçün mövcud olan Amazon tətbiqini tələb edir. Tətbiqin içərisində Amazon -a daxil olduqdan sonra Hesabınıza -> Dash Düymələri və Cihazları -> Yeni bir cihaz qurun. "Dash Button" seçin və bir məhsul seçmək istənənə qədər təlimatları izləyin.

Tətbiqi bağlayın. Quraşdırmanı ləğv etməyin; x düyməsini vurmayın - sadəcə proqramı bağlayın. Təsadüfən bir məhsul seçmisinizsə və ya köhnə bir Dash düyməsini dəyişdirirsinizsə, cihazı Amazon tətbiqi ilə çıxarın və bu addımları təkrar edin.

Düymənizin görünüşünü dəyişdirmək istəyirsinizsə, etiket etiketini çıxarmaq asandır.

Addım 2: Cihazınıza Node JS quraşdırın

Dash düyməsinin hardware ünvanını tapmaq (və sonradan istifadə etmək) üçün Node JS istifadə etməliyik. Bu hər hansı bir kompüterə quraşdırıla bilər - Mac, Linux (Raspberry Pi) və ya Windows.

Son layihəmiz, düyməmizlə eyni şəbəkəyə bağlı olan bir Node skriptini işlədən bir kompüterə bağlıdır, buna görə cihazınızı seçərkən bunu unutmayın. Evdəki bir masa üstü və ya Raspberry Pi mükəmməl olardı.

Bir Pi 3 istifadə etməyi seçirəm, ancaq WiFi kilidi olan bir Pi Zero da işləyəcək!

Node JS -i kompüterinizə yükləmək üçün müvafiq təlimatları izləyin:

  • Moruq Pi
  • Mac OS
  • Windows

Alex Horton, node-tire-düyməsi adlandığımız şey üçün fantastik bir modul yazdı. Node paket meneceri (npm) və libpcap ilə birlikdə onu qurmalıyıq. Bu əmrləri əmr satırına daxil edin:

sudo apt-get npm yükləyin

sudo apt-get install libpcap-dev npm node-tire-düyməsini quraşdırın

Addım 3: Düymənin ünvanını tapın

Düymənin ünvanını tapın
Düymənin ünvanını tapın
Düymənin ünvanını tapın
Düymənin ünvanını tapın

Tire düymələrinizin ünvanını tapmağın sadə bir yolunu tapdıq.

Birincisi, LED yavaş -yavaş mavi rəngdə çalmağa başlayana qədər, 5 saniyə boyunca tire düymənizdəki düyməni basıb saxlayın. Telefonunuzda wifi parametrlərinizi açın və 'Amazon Configure Me' wifi tapın. Buna qoşulduqdan sonra veb brauzerinizi açın və 'https://192.168.0.1' ünvanına gedin.

Axtardığımız ünvan MAC ünvanıdır və "ab: 64: be: 8b: ce: 82" kimi görünəcək.

Addım 4: Düymənizi sınayın

Hər dəfə düyməyə basıldığında mesajı çap etmək üçün sadə bir skript yazaraq doğru ünvanı tapdığınızı təsdiq edə bilərsiniz.

Node-dash-button qovluğunda yeni bir skript yaradın.

sudo nano button_test.js

Və aşağıdakıları kopyalayıb fayla yapışdırın:

var dash_button = tələb edin ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // ADRESİNİZDƏ DEĞİŞTİR exec = tələb ('child_process'). exec; dash.on ('aşkarlandı', function () {console.log ('Button basdı!');});

İkinci sətirdəki x -ləri yeni tapdığınız düymə ünvanı ilə əvəz edin. Dosyanı Ctl-x, y ilə qeyd edin.

Skriptə başlayın və düyməni basın.

sudo düyünü button_test.js

"Düymə basıldı!" Görməlisiniz. çap et. İndi düymə basmalarını aşkar edə bildiyimiz üçün onlara əsaslanan hərəkətləri işə sala bilərik!

Addım 5: İlkin Dövlət Hesabını Qurun

İlkin Dövlət Hesabını Qurun
İlkin Dövlət Hesabını Qurun
İlkin Dövlət Hesabını Qurun
İlkin Dövlət Hesabını Qurun

İndi Dash düyməsini basdığımız zaman bir əmr satırı mesajını tetikleyebileceğimiz üçün hər cür başqa şeyi tetikleyebilirik! Bu vəziyyətdə bir mətn mesajı tetikleyecem - e -poçtumuzu yoxlayana qədər qapıda olanların gözləməsini istəmirik.

Mətn bildirişini işə salmağın bir neçə yolu var - Twilio və ya PushBullet kimi xidmətlər. Tapdığım ən asan yollardan biri Başlanğıc vəziyyət idi. Minimum əlavə kodlaşdırma tələb etdi və düyməmin nə vaxt basıldığına dair bir tablosuna baxdı.

Https://iot.app.initialstate.com saytına daxil olun və yeni bir hesab yaradın.

NodeJS üçün İlkin Dövlət SDK -nı masaüstünüzə/dizüstü kompüterinizə/Raspberry Pi -yə quraşdırmalısınız. Əmr əmrində (əvvəlcə Pi -yə SSH yazmağı unutmayın) aşağıdakı əmri işlədin:

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

sudo npm ilkin vəziyyəti quraşdırın

Yayımçını sınamaq üçün bir test faylı yaradın:

nano stream_test.js

Və aşağıdakıları kopyalayın (burada da tapa bilərsiniz):

var IS = tələb ('ilkin vəziyyət');

var bucket = IS.bucket ('NodeJS_SDK_Example', 'YOUR_ACCESS_KEY_GOES_HERE'); // Hadisəni ilkin vəziyyətə salın bucket.push ('Demo vəziyyəti', 'aktiv'); setTimeout (function () {// Başqa bir hadisə bucket.push itələyin ('Demo vəziyyəti', 'hərəkətsiz');}, 1000);

Ssenarini Ctl-x, y ilə qeyd edin.

Bu skripti işə salmadan əvvəl, ikinci sətrə unikal bir giriş açarı əlavə etməliyik.

2 -ci sətirdə var bucket = IS.bucket ilə başlayan bir xətt görəcəksiniz (…. Bu sətirlər "NodeJS_SDK_Example" adlı yeni bir məlumat paketi yaradır və hesabınızla əlaqələndirilir. Bu əlaqə eyni parametrdəki ikinci parametr səbəbindən baş verir. Başlanğıc Vəziyyət hesabınıza giriş açarınız uzun bir sıra hərf və rəqəmlərdir. Veb brauzerinizdə Başlanğıc Vəziyyət hesabınıza daxil olsanız, sağ üstdəki istifadəçi adınızı vurun və "Ayarlarım" a gedin. giriş açarınız oradadır.

Başlanğıc Vəziyyət hesabınıza məlumat axını yarada biləcəyimizdən əmin olmaq üçün test skriptini işə salın. Aşağıdakıları işə salın:

node stream_test.js

Veb brauzerinizdə İlkin Dövlət hesabınıza qayıdın. Günlük rafınızda solda "NodeJS_SDK_Example" adlı yeni bir məlumat paketi görünməli idi (səhifəni yeniləməli ola bilərsiniz). Test məlumatlarını görmək üçün bu kovanı vurun.

İndi düymələrinizi ilk vəziyyətə göndərməyə hazırsınız!

Addım 6: Son Kod

Yekun Kod
Yekun Kod

Başlanğıc Dövlət Nodu SDK -nı artıq qurmuşuq, buna görə etməmiz lazım olan hər şeyi kodumuza əlavə etməkdir!

Daha əvvəl istifadə etdiyimiz button_test.js skriptinin dəyişdirilmiş bir versiyası budur:

var dash_button = tələb edin ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // ADRESİNİZDƏ DEĞİŞTİR exec = tələb ('child_process'). exec; var IS = tələb ('ilkin vəziyyət'); var bucket = IS.bucket ('Qapı zəngi', 'YOUR_ACCESS_KEY'); dash.on ('aşkarlandı', function () {console.log ('Button basdı!'); bucket.push ('Ön Qapı', 'Biri Buradadır!');});

Bu skripti yeni bir fayla kopyalayın (hələ də qovşaq düyməsi qovluğunun içərisində):

sudo nano qapı zəngi.js

5 və 6 -cı sətirlərdə Başlanğıc vəziyyət modulunu daxil etdiyimizi və paket parametrlərimizi təmin etdiyini görəcəksiniz. Unikal Giriş Açarınızı əvvəlcədən 6 -cı sətirə qoymalısınız.

10 -cu xətt, faktiki olaraq Başlanğıc vəziyyətə məlumat göndərdiyimiz yerdir. Bu vəziyyətdə, kovama "Qapı zəngi" adını verdim və "Biri Buradadır!" ön qapımda. Birdən çox Dash düymələriniz varsa, hamısını "Qapı zəngi" kovasına göndərə bilərsiniz, ancaq yerləşdiyi yerə görə adlandırın (yəni "Qaraj Qapısı", "Yataq otağı" və s.).

Ssenarini Ctl-x, y ilə qeyd edin.

Skriptinizi sınamaq üçün işləyin:

sudo node qapı zəngi.js.

Düyməyinizə basdığınızda, Başlanğıc Vəziyyət səhifənizə gedib yan çubuğunda "Qapı zəngi" adlı yeni bir kovanı görə bilməlisiniz. İndi bir Tetikleyici əlavə edək!

Addım 7: SMS Tetikleyicisinin qurulması

SMS Tetikleyicisinin qurulması
SMS Tetikleyicisinin qurulması

"Tetikleyiciler", Başlanğıc Dövlətin bildiriş versiyasıdır və əlavə etmək çox asandır. Qapı zəngi altındakı "Ayarlar" düyməsini basın və sonra "Tetikleyiciler" sekmesini basın.

Tetiklemek istədiyiniz siqnalı açılan siyahıdan seçə bilərsiniz. Kovamızda yalnız bir ədəd var - "Ön Qapı" - buna görə seçin. Sonra "uyğunlaşma" seçimini seçin və düyməsinə basıldığında axın etdiyiniz mesajı əlavə edin - bu halda "Biri Buradadır!"

Nəhayət, SMS almaq üçün telefon nömrənizi əlavə edin. Bu nömrəni ilk dəfə istifadə edərkən telefonunuza göndərilən bir doğrulama kodu daxil etməlisiniz.

Telefon nömrənizin yanındakı "+" işarəsinə basdığınızdan və ya tətik yaradılmayacağından əmin olun.

Tetikleyicinizi saxlamaq üçün Tetikleyiciler sekmesinin altındakı "Bitti" düyməsini basın.

İndi mətn xəbərdarlıqlarını almağa hazırsınız! Düyməni basın (doorbell.js skript işləyərkən). 8 saniyə və ya daha az bir mətn almalısınız!

Səssiz qapı zənginiz getməyə hazırdır! Ssenarinizin elektrik kəsilməsi ilə yenidən başladığından əmin olmaq istəyirsinizsə, oxumağa davam edin. Kovanıza emojilər əlavə etməyinizə və adlarınıza işarə etməyə də çalışacağam.

Addım 8: Tablosunuzu fərdiləşdirin

Tablosuna Fərdiləşdirmə
Tablosuna Fərdiləşdirmə
Tablosuna Fərdiləşdirmə
Tablosuna Fərdiləşdirmə

Başlanğıc Vəziyyət panelinizi bəzəmək istəyirsinizsə, emojilər əlavə etmək və ya adların dəyişdirilməsi tamamilə sadədir.

Bir kafelin adını dəyişdirmək üçün kafelə sağ vurun və "kafel düzəlt" seçin. Açılan Başlıq qutusunun içərisinə hər hansı bir emoji üçün qısa yol qoya bilərsiniz. Konfiqurasiya pəncərəsinin yuxarısındakı "x" düyməsinə basaraq dəyişikliklərinizi saxlayacaqsınız.

Kovanın adının altındakı "Ayarlar" ı tıklayaraq və sonra Ad sahəsini düzəldərək bunu kovanızın adına da edə bilərsiniz.

Verilərinizə daha çox şəxsiyyət və kontekst vermək üçün tablosuna bir fon şəkli əlavə edə bilərsiniz.

Addım 9: Ssenarini Bootdan Başlayın

Ev kompüterinizdə və ya Pi -də işlədiyiniz skript səssiz qapı zəngimizin açarıdır. Elektrik kəsilməsi kimi bir şey olarsa, skriptimizin yenidən işə düşdüyünə əmin olmaq istəyirik.

Mac -da crontab adlı bir xidmətdən və nano mətn redaktorundan istifadə edəcəyik:

env EDITOR = nano crontab -e

Faylın içərisinə əlavə edin:

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

"İstifadəçi Adı" nı öz adınızla əvəz etməyinizə əmin olun. Skriptinizə başqa bir ad verdiyiniz və ya başqa bir qovluğa qoyduğunuz halda, /Users/UserName/node_modules/node-dash-button/doorbell.js-i düzgün yolla əvəz edin. Nümunəmdəki yol, əsas istifadəçi qovluğudur və ardınca node_modules/node-dash-button qovluğudur. Bu təlimatları izləyərək bir faylın yol adını asanlıqla kopyalaya bilərsiniz.

Dosyanı Ctl-x, y ilə qeyd edin. Kompüterinizi yenidən başlataraq işlədiyini yoxlaya bilərsiniz.

Windows -da düymə skriptinizi yenidən başlatmağa başlamaq üçün buradakı təlimatları izləyin. Skriptin bütün yolunu göstərdiyinizə əmin olun.

Bir Raspberry Pi/Linux Maşında Pi -də yükləmədən skript işlətmək olduqca sadədir. Crontab adlı bir xidmətdən istifadə edəcəyik:

sudo crontab -e

Sevdiyiniz mətn redaktorunu seçin (nanonu sevirəm) və faylın aşağı hissəsində (bütün şərhlərin altında) əlavə edin:

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

Skriptinizə başqa bir ad verdiyiniz və ya başqa bir qovluğa qoyduğunuz halda, /home/pi/node_modules/node-dash-button/doorbell.js-i düzgün yolla əvəz edin. Mənim nümunəmdəki yol, əsas Pi qovluğundan sonra node_modules/node-dash-button qovluğudur.

Faylı qeyd edin! Bunun qüvvəyə minməsi üçün yenidən başlamalısınız, ancaq İnternet bağlantısı kəsilərsə yenidən başlatmaq istəyirsinizsə, bu növbəti addımda crontabımıza başqa bir vəzifə əlavə edəcəyik.

Şəbəkə düşmələrini idarə etmək üçün, Pi -nin bir şəbəkə bağlantısı aşkar etməsi və orada olmadığı təqdirdə yenidən başlatması üçün bir yol tətbiq etməyə qərar verdim.

Əvvəlcə WiFi -ni yoxlamaq üçün bir skript yaratmalıyıq və sonra bağlamanı tətik etməliyik:

cd

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

IP ünvanını yönlendiricinizin IP ünvanı ilə əvəz etməyinizə əmin olaraq aşağıdakıları faylın içinə daxil edin:

ping -c4 IP_ADDRESS> /dev /null

əgər [$? ! = 0] sonra sudo /sbin /shutdown -r indi fi

Ping əlaqəni yoxlayır. Sıfır olmayan bir çıxış kodu ilə qayıdırsa, skript bağlama əmrini göndərir. Saxlayın və skriptdən çıxın. İndi icazələrinin düzgün olduğundan əmin olun:

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

Eynilə doorbell.js skriptimiz kimi, bu skripti də crontab -a əlavə edəcəyik:

sudo crontab -e

Yer

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

əvvəllər əlavə etdiyimiz xəttin altında. Bu, checkwifi skriptimizi hər 5 dəqiqədən bir işlədəcək. İndi crontab -dan çıxın və Pi -ni yenidən başladın:

sudo yenidən başladın

Hər şey qurulmalı və işləməlidir! Bu təlimatı izləyərək Pi -də işləyən prosesləri izləmək üçün bir yol da qura bilərsiniz.

Addım 10: Nəticə

Nəticə
Nəticə

İndi Amazon çatdıranların sizi oyatmaması üçün səssiz bir qapı zənginiz var! Hər hansı bir sualınız varsa və ya hər hansı bir unikal dəyişikliklə qarşılaşsanız mənə bildirin.

Tövsiyə: