Სარჩევი:

Amazon Dash Button Silent Doorbell: 10 Steps (სურათებით)
Amazon Dash Button Silent Doorbell: 10 Steps (სურათებით)

ვიდეო: Amazon Dash Button Silent Doorbell: 10 Steps (სურათებით)

ვიდეო: Amazon Dash Button Silent Doorbell: 10 Steps (სურათებით)
ვიდეო: Amazon Dash Doorbell | GIT TECH'D 2024, ივლისი
Anonim
Image
Image

გამუდმებით იყურებით ფანჯრიდან ისე, რომ შეძლოთ სტუმრების ჩაგდება, სანამ კარზე ზარი დარეკავთ? დაიღალეთ ძაღლებით და ბავშვი გიჟდება როდის დარეკავს? არ გსურთ ფულის დახარჯვა "ჭკვიანურ" გადაწყვეტაზე?

კარის ჩუმად ზარის გაკეთება ისეთივე ადვილია, როგორც 5 დოლარიანი Amazon Dash Button! ერთადერთი რაც თქვენ გჭირდებათ არის კომპიუტერი, რომელიც ყოველთვის სახლშია - მაგალითად, მაგალითად, Raspberry Pi, რომელიც თქვენ იჯექით. მიიღეთ ტექსტური შეტყობინებები ნებისმიერ დროს, როდესაც ვინმე აგირეკავთ თქვენს ახალ ზარს და გაახარებთ მთელ სახლს. (კიდევ უფრო მაგარია შეტყობინებების მიღება, თუ გყავს ჭკვიანი საათი!)

ამ პროექტისთვის დაგჭირდებათ:

  • Amazon Dash ღილაკი
  • კომპიუტერი, რომელიც სახლში რჩება (ჟოლოს პიის მსგავსად)

ნაბიჯი 1: თქვენი Dash ღილაკის დაყენება

თქვენი Dash ღილაკის დაყენება
თქვენი Dash ღილაკის დაყენება
თქვენი Dash ღილაკის დაყენება
თქვენი Dash ღილაკის დაყენება

თქვენი Dash ღილაკის მომზადება ჰაკერებისათვის საკმაოდ მარტივია - თქვენ უბრალოდ უნდა გაიაროთ მთელი ამაზონის დაყენების პროცესი მინუს პროდუქტის შერჩევა.

ეს დაყენება მოითხოვს Amazon პროგრამას, რომელიც ხელმისაწვდომია iOS და Android– ისთვის. მას შემდეგ რაც შეხვალთ Amazon– ში აპლიკაციის შიგნით, გადადით თქვენს ანგარიშზე -> Dash ღილაკები და მოწყობილობები -> ახალი მოწყობილობის დაყენება. აირჩიეთ "Dash Button" და მიჰყევით ინსტრუქციას სანამ არ მოგთხოვთ პროდუქტის არჩევას.

დახურეთ აპლიკაცია. არ გააუქმოთ დაყენება; არ დააჭიროთ x - უბრალოდ დახურეთ აპლიკაცია. თუ თქვენ შემთხვევით შეარჩიეთ პროდუქტი ან შეცვლით ძველ Dash ღილაკს, უბრალოდ ამოიღეთ მოწყობილობა ამაზონის აპლიკაციის საშუალებით და კვლავ მიყევით ამ ნაბიჯებს.

თუ თქვენ ცდილობთ შეცვალოთ ღილაკის გარეგნობა, ეტიკეტის სტიკერის ამოღება ადვილია.

ნაბიჯი 2: დააინსტალირეთ Node JS თქვენს მოწყობილობაზე

იმისათვის, რომ ვიპოვოთ (და შემდგომში გამოვიყენოთ) თქვენი Dash ღილაკის აპარატურის მისამართი, ჩვენ უნდა გამოვიყენოთ Node JS. ეს შეიძლება დაინსტალირდეს ნებისმიერ კომპიუტერზე - Mac, Linux (Raspberry Pi), ან Windows.

ჩვენი საბოლოო პროექტი დამოკიდებულია კომპიუტერზე, რომელიც დაკავშირებულია იმავე ქსელთან, როგორც ღილაკს, რომელიც მუშაობს უწყვეტი კვანძის სკრიპტზე, ასე რომ გაითვალისწინეთ ეს თქვენი მოწყობილობის არჩევისას. სახლის დესკტოპი ან ჟოლო Pi იდეალური იქნება.

მე ვირჩევ Pi 3 -ის გამოყენებას, მაგრამ Pi Zero WiFi დონლით ასევე იმუშავებს!

Node JS თქვენს კომპიუტერზე დასაყენებლად მიჰყევით შესაბამის მითითებებს:

  • ჟოლო პი
  • Mac OS
  • Windows

ალექს ჰორტონმა დაწერა ფანტასტიკური მოდული მხოლოდ იმისთვის, რასაც ჩვენ ვცდილობთ გავაკეთოთ, სახელწოდებით node-dash-button. ჩვენ უნდა დავაინსტალიროთ იგი, კვანძის პაკეტის მენეჯერთან ერთად (npm) და libpcap. შეიყვანეთ ეს ბრძანებები ბრძანების ხაზში:

sudo apt-get დააინსტალირეთ npm

sudo apt-get დააინსტალირეთ libpcap-dev npm დააინსტალირეთ node-dash-button

ნაბიჯი 3: იპოვეთ ღილაკის მისამართი

იპოვეთ ღილაკის მისამართი
იპოვეთ ღილაკის მისამართი
იპოვეთ ღილაკის მისამართი
იპოვეთ ღილაკის მისამართი

ჩვენ ვიპოვნეთ მარტივი გზა თქვენი საძიებო ღილაკის მისამართის მოსაძებნად.

პირველ რიგში, დააჭირეთ ღილაკს თქვენს ღილაკზე დაახლოებით 5 წამის განმავლობაში, სანამ LED არ დაიწყებს ნელ -ნელა ლურჯ ფერს. თქვენს ტელეფონზე გახსენით თქვენი wifi პარამეტრები და იპოვეთ "Amazon Configure Me" wifi. მას შემდეგ რაც დაუკავშირდებით, გახსენით თქვენი ბრაუზერი და გადადით 'https://192.168.0.1'.

მისამართი, რომელსაც ჩვენ ვეძებთ არის MAC მისამართი და გამოიყურება "ab: 64: be: 8b: ce: 82".

ნაბიჯი 4: თქვენი ღილაკის ტესტირება

თქვენ შეგიძლიათ დაადასტუროთ, რომ იპოვნეთ სწორი მისამართი, დაწერეთ მარტივი სკრიპტი შეტყობინების დასაბეჭდად ყოველ ჯერზე ღილაკზე დაჭერისას.

შექმენით ახალი სკრიპტი node-dash-button დირექტორიაში.

sudo nano button_test.js

და დააკოპირეთ ფაილში შემდეგი:

var dash_button = მოითხოვს ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // შეცვალეთ თქვენი მისამართით exec = მოითხოვეთ ('child_process'). exec; dash.on ('აღმოჩენილი', ფუნქცია () {console.log ('ღილაკზე დაჭერილი!');});

შეცვალეთ x ს მეორე ხაზზე თქვენი ახლად ნაპოვნი ღილაკის მისამართით. შეინახეთ ფაილი Ctl-x, y.

დაიწყეთ სკრიპტი და დააჭირეთ ღილაკს.

sudo კვანძის button_test.js

თქვენ უნდა ნახოთ "ღილაკზე დაჭერილი!" ამობეჭდე. ახლა, როდესაც ჩვენ შეგვიძლია გამოვავლინოთ ღილაკების დაჭერა, ჩვენ შეგვიძლია გამოვიყენოთ მოქმედებები მათზე დაყრდნობით!

ნაბიჯი 5: შექმენით საწყისი სახელმწიფო ანგარიში

შექმენით საწყისი სახელმწიფო ანგარიში
შექმენით საწყისი სახელმწიფო ანგარიში
შექმენით საწყისი სახელმწიფო ანგარიში
შექმენით საწყისი სახელმწიფო ანგარიში

ახლა, როდესაც ჩვენ შეგვიძლია გავააქტიუროთ ბრძანების ხაზის შეტყობინება, როდესაც ჩვენ დააჭირეთ ღილაკს Dash, ჩვენ შეგვიძლია გამოვიყენოთ ყველა სახის სხვა რამ! ამ შემთხვევაში, მე ვაპირებ ტექსტური შეტყობინების გააქტიურებას - ჩვენ არ გვინდა, ვინც კარზეა, ელოდოს, სანამ ჩვენს ელ.წერილს არ შევამოწმებთ.

ტექსტური შეტყობინების გააქტიურების რამდენიმე გზა არსებობს - სერვისები, როგორიცაა Twilio ან PushBullet. ერთ -ერთი ყველაზე მარტივი გზა, რაც აღმოვაჩინე, იყო საწყისი მდგომარეობა. ეს მოითხოვდა მინიმალურ დამატებით კოდირებას და მაძლევდა საინფორმაციო დაფის ხედს, თუ როდის იყო ჩემი ღილაკი დაჭერილი.

გადადით https://iot.app.initialstate.com და შექმენით ახალი ანგარიში.

თქვენ უნდა დააინსტალიროთ საწყისი სახელმწიფო SDK NodeJS– ისთვის თქვენს სამუშაო მაგიდაზე/ლეპტოპზე/Raspberry Pi. ბრძანების სტრიქონში (არ დაგავიწყდეთ SSH თქვენს Pi– ში ჩაწერა), შეასრულეთ შემდეგი ბრძანება:

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

sudo npm დააინსტალირეთ საწყისი მდგომარეობა

ნაკადის შესამოწმებლად, შექმენით სატესტო ფაილი:

nano stream_test.js

დააკოპირეთ და ჩასვით შემდეგი (ასევე ნაპოვნია აქ):

var IS = მოითხოვს ("საწყისი მდგომარეობა");

var bucket = IS.bucket ('NodeJS_SDK_Example', 'YOUR_ACCESS_KEY_GOES_HERE'); // დააყენეთ ღონისძიება საწყის მდგომარეობაში bucket.push ("დემო მდგომარეობა", "აქტიური"); setTimeout (ფუნქცია () {// დააყენე სხვა ღონისძიების bucket.push ('დემო მდგომარეობა', 'არააქტიური');}, 1000);

შეინახეთ სკრიპტი Ctl-x, y.

სანამ ამ სკრიპტის გაშვებას შევძლებთ, მეორე ხაზზე უნდა დავამატოთ უნიკალური წვდომის გასაღები.

მე -2 ხაზზე დაინახავთ ხაზს, რომელიც იწყება var bucket = IS.bucket– ით (…. ეს ხაზები ქმნის ახალ მონაცემთა კოლოფს სახელწოდებით “NodeJS_SDK_Example” და ასოცირდება თქვენს ანგარიშთან. ეს ასოციაცია ხდება მეორე პარამეტრის გამო ხაზი. თქვენი საწყისი სახელმწიფო ანგარიშის წვდომის გასაღები არის ასოებისა და რიცხვების გრძელი სერია. თუ თქვენს ბრაუზერში შედიხართ თქვენს საწყის სახელმწიფო ანგარიშზე, დააწკაპუნეთ თქვენს მომხმარებლის სახელზე ზედა მარჯვნივ, შემდეგ კი გადადით "ჩემს პარამეტრებზე". თქვენი წვდომის გასაღები იქ.

გაუშვით საცდელი სკრიპტი, რომ დარწმუნდეთ, რომ ჩვენ შეგვიძლია შევქმნათ მონაცემთა ნაკადი თქვენს საწყის სახელმწიფო ანგარიშზე. გაუშვით შემდეგი:

კვანძის stream_test.js

დაუბრუნდით თქვენს საწყის მდგომარეობას თქვენს ბრაუზერში. ახალი მონაცემთა კოლოფი სახელწოდებით "NodeJS_SDK_Example" უნდა გამოჩნდეს მარცხნივ თქვენს ჟურნალის თაროზე (შეიძლება დაგჭირდეთ გვერდის განახლება). დააწკაპუნეთ ამ ბუკეტზე, რომ ნახოთ ტესტის მონაცემები.

ახლა თქვენ მზად ხართ გააგზავნოთ თქვენი ღილაკების დაჭერა საწყის მდგომარეობაში!

ნაბიჯი 6: საბოლოო კოდი

საბოლოო კოდი
საბოლოო კოდი

ჩვენ უკვე დაინსტალირებული გვაქვს საწყისი სახელმწიფო კვანძის SDK, ასე რომ ყველაფერი რაც ჩვენ გვჭირდება არის ის დავამატოთ ჩვენს კოდს!

აქ არის button_test.js სკრიპტის შეცვლილი ვერსია, რომელიც ადრე გამოვიყენეთ:

var dash_button = მოითხოვს ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // შეცვალეთ თქვენი მისამართით exec = მოითხოვეთ ('child_process'). exec; var IS = მოითხოვს ("საწყისი მდგომარეობა"); var bucket = IS.bucket ("კარის ზარი", "YOUR_ACCESS_KEY"); dash.on ('აღმოჩენილი', ფუნქცია () {console.log ('ღილაკზე დაჭერილი!'); bucket.push ('წინა კარი', 'ვიღაც აქ არის!');});

დააკოპირეთ და ჩასვით ეს სკრიპტი ახალ ფაილში (ჯერ კიდევ კვანძ-ნაკადის ღილაკის დირექტორიაში):

sudo nano doorbell.js

თქვენ შეამჩნევთ, რომ მე -5 და მე -6 ხაზებზე ჩვენ ვიყენებთ საწყის მდგომარეობის მოდულს და ვაძლევთ ჩვენს ველის პარამეტრებს. თქვენ უნდა განათავსოთ თქვენი უნიკალური წვდომის გასაღები ადრე 6 ხაზზე.

ხაზი 10 არის ის, სადაც ჩვენ რეალურად ვგზავნით მონაცემებს საწყის მდგომარეობას. ამ შემთხვევაში, მე ვუწოდე ჩემს თაიგულს "კარის ზარი" და ვთამაშობ "ვინმე აქ არის!" ჩემს შესასვლელ კართან. თუ თქვენ გაქვთ რამოდენიმე Dash ღილაკი, შეგიძლიათ გაგზავნოთ ისინი კარის ზოლზე, მაგრამ დაასახელოთ მათი ადგილმდებარეობის მიხედვით (ანუ "გარაჟის კარი", "საძინებელი" და ა.შ.).

შეინახეთ სკრიპტი Ctl-x, y.

თქვენი სკრიპტის შესამოწმებლად, გაუშვით:

sudo კვანძის doorbell.js.

ღილაკზე დაჭერისას თქვენ უნდა შეძლოთ თქვენი საწყისი მდგომარეობის გვერდზე გადასვლა და გვერდით ზოლში ნახოთ ახალი ვედრო სახელწოდებით "კარის ზარი". ახლა დავამატოთ ტრიგერი!

ნაბიჯი 7: SMS ტრიგერის დაყენება

SMS ტრიგერის დაყენება
SMS ტრიგერის დაყენება

"გამომწვევები" არის შეტყობინებების საწყისი მდგომარეობის ვერსია და მათი დამატება ძალიან ადვილია. უბრალოდ დააწკაპუნეთ "პარამეტრები" კარის ზარის თაიგულის ქვეშ და შემდეგ დააჭირეთ ღილაკს "გამომწვევები".

თქვენ შეგიძლიათ შეარჩიოთ სიგნალი, რომლის ამოღებაც გსურთ, ჩამოსაშლელი სიიდან. ჩვენს თაიგულს აქვს მხოლოდ ერთი - "წინა კარი" - ასე რომ შეარჩიეთ ის. შემდეგ შეარჩიეთ "შესატყვისი" ვარიანტი და დაამატეთ შეტყობინება, რომელსაც თქვენ გადასცემთ ღილაკზე დაჭერისას - ამ შემთხვევაში "ვიღაც აქ არის!"

დაბოლოს, დაამატეთ თქვენი ტელეფონის ნომერი SMS შეტყობინებების მისაღებად. თქვენ უნდა შეიყვანოთ თქვენს ტელეფონზე გამოგზავნილი დამადასტურებელი კოდი პირველად ამ ნომრის გამოყენებისას.

დარწმუნდით, რომ დააჭიროთ "+" ნიშანს თქვენი ტელეფონის ნომრის გვერდით, წინააღმდეგ შემთხვევაში ტრიგერი არ შეიქმნება.

დააწკაპუნეთ "შესრულებულია" ტრიგერების ჩანართის ბოლოში თქვენი ტრიგერის შესანახად.

ახლა თქვენ მზად ხართ მიიღოთ ტექსტური შეტყობინებები! დააჭირეთ ღილაკს (სანამ doorbell.js სკრიპტი მუშაობს). თქვენ უნდა მიიღოთ ტექსტი 8 წამში ან ნაკლებ დროში!

შენი მდუმარე ზარი მზად არის წასასვლელად! თუ გსურთ დარწმუნდეთ, რომ თქვენი სკრიპტი გადატვირთულია ელექტროენერგიის გათიშვისას, განაგრძეთ კითხვა. მე ასევე გავაგრძელებ ემოციის დამატებას თქვენს თაიგულზე და სიგნალის სახელებზე.

ნაბიჯი 8: თქვენი დაფის პერსონალიზაცია

თქვენი დაფის პერსონალიზაცია
თქვენი დაფის პერსონალიზაცია
თქვენი დაფის პერსონალიზაცია
თქვენი დაფის პერსონალიზაცია

თუ გსურთ გაამდიდროთ თქვენი საწყისი მდგომარეობის დაფა, ემოციის დამატება ან სახელების მთლიანად შეცვლა ძალიან მარტივია.

კრამიტის სახელის შესაცვლელად, უბრალოდ დააწკაპუნეთ მარჯვენა ღილაკით ფილაზე და აირჩიეთ "კრამიტის რედაქტირება". სათაურის ყუთში, რომელიც გამოჩნდება, შეგიძლიათ განათავსოთ მალსახმობი ნებისმიერი ემოციისთვის. დააწკაპუნეთ "x" - ზე კონფიგურაციის ფანჯარაში შეინახება თქვენი ცვლილებები.

თქვენ ასევე შეგიძლიათ ამის გაკეთება თქვენი თაიგულის სახელზე დაწკაპუნებით "პარამეტრები" ღილაკის სახელის ქვეშ და შემდეგ სახელის ველის რედაქტირებით.

თქვენ შეგიძლიათ დაამატოთ ფონის სურათი თქვენს დაფაზე, რათა თქვენს მონაცემებს მეტი პიროვნება და კონტექსტი მიეცეს.

ნაბიჯი 9: სკრიპტის დაწყება ჩატვირთვისას

სკრიპტი, რომელიც გაქვს გაშვებული სახლის კომპიუტერზე ან Pi არის გასაღები ჩვენი მდუმარე კარზე. თუ რამე ხდება ელექტროენერგიის გათიშვის მსგავსად, ჩვენ გვსურს დავრწმუნდეთ, რომ ჩვენი სკრიპტი კვლავ იწყებს მუშაობას.

Mac– ზე ჩვენ გამოვიყენებთ სერვისს სახელწოდებით crontab და ნანო ტექსტური რედაქტორი:

env რედაქტორი = nano crontab -e

ფაილის შიგნით დაამატეთ:

@reboot nohup sudo node/მომხმარებელი/მომხმარებლის სახელი/node_modules/node-dash-button/doorbell.js &

დარწმუნდით, რომ შეცვალეთ "მომხმარებლის სახელი" თქვენი სახელით. თუ თქვენს სკრიპტს სხვა სახელი დაარქვით ან განათავსეთ სხვა დირექტორიაში, შეცვალეთ /Users/UserName/node_modules/node-dash-button/doorbell.js სწორი ბილიკით. გზა ჩემს მაგალითში არის მთავარი მომხმარებლის დირექტორია, რასაც მოჰყვება node_modules/node-dash-button დირექტორია. თქვენ შეგიძლიათ მარტივად დააკოპიროთ ფაილის ბილიკი ამ მითითებების შესაბამისად.

შეინახეთ ფაილი Ctl-x, y. თქვენ შეგიძლიათ შეამოწმოთ მუშაობს თუ არა თქვენი კომპიუტერის გადატვირთვით.

Windows– ზე მიჰყევით აქ მითითებებს, რომ დაიწყოთ თქვენი კვანძის სკრიპტი გადატვირთვისას. დარწმუნდით, რომ მიუთითეთ სკრიპტის მთელი გზა.

Raspberry Pi/Linux აპარატზე Pi– ზე ჩატვირთვის სკრიპტის გაშვება საკმაოდ მარტივია. ჩვენ გამოვიყენებთ სერვისს სახელწოდებით crontab:

sudo crontab -e

შეარჩიეთ თქვენი საყვარელი ტექსტური რედაქტორი (მე მომწონს ნანო) და ფაილის ბოლოში (ყველა კომენტარის ქვეშ) დაამატეთ:

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

თუ თქვენს სკრიპტს სხვა სახელი დაარქვით ან განათავსეთ სხვა დირექტორიაში, შეცვალეთ /home/pi/node_modules/node-dash-button/doorbell.js სწორი ბილიკით. გზა ჩემს მაგალითში არის მთავარი Pi დირექტორია, რასაც მოჰყვება node_modules/node-dash-button დირექტორია.

შეინახეთ ფაილი! თქვენ უნდა გადატვირთოთ, რომ ის ძალაში შევიდეს, მაგრამ თუ თქვენც გსურთ გადატვირთვა, თუ ინტერნეტ კავშირი გაწყდება, ჩვენ ვაპირებთ სხვა ამოცანის დამატებას ჩვენს crontab– ში მომდევნო ეტაპზე.

ქსელის წვეთების გასამკლავებლად, მე გადავწყვიტე, რომ მე განვახორციელო გზა Pi- სთვის ქსელის კავშირის გამოვლენისა და გადატვირთვისთვის, თუ ის იქ არ არის.

ჯერ ჩვენ უნდა შევქმნათ სკრიპტი WiFi– ის შესამოწმებლად და შემდეგ გამორთვა:

cd

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

განათავსეთ შემდეგი ფაილში, დარწმუნდით, რომ შეცვალეთ IP მისამართი თქვენი როუტერის IP მისამართით:

ping -c4 IP_ADDRESS> /dev /null

თუ [$? ! = 0] შემდეგ sudo /sbin /shutdown -r ახლა fi

პინგი ამოწმებს კავშირს. თუ ის ბრუნდება არა ნულოვანი გასასვლელი კოდით, სკრიპტი აგზავნის გამორთვის ბრძანებას. შეინახეთ და გამოდით სკრიპტიდან. ახლა დარწმუნდით, რომ მისი ნებართვები წესრიგშია:

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

ისევე, როგორც ჩვენი doorbell.js სკრიპტი, ჩვენ ვაპირებთ ამ სკრიპტის დამატებას crontab- ში:

sudo crontab -e

ადგილი

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

ხაზის ქვეშ, რომელიც ჩვენ ადრე დავამატეთ. ეს გაუშვებს ჩვენს checkwifi სკრიპტს ყოველ 5 წუთში. ახლა გამოდით crontab– დან და გადატვირთეთ Pi:

sudo გადატვირთვა

ყველაფერი უნდა იყოს დაყენებული და მუშაობს! თქვენ ასევე შეგიძლიათ შექმნათ გზა Pi- ზე მიმდინარე პროცესების მონიტორინგისთვის ამ გაკვეთილის შემდეგ.

ნაბიჯი 10: დასკვნა

დასკვნა
დასკვნა

ახლა თქვენ გაქვთ ჩუმად ზარი, რომ Amazon– ის მიმწოდებლებმა არ გაგაღვიძონ! ნება მომეცით იცოდეთ, თუ გაქვთ რაიმე შეკითხვა ან რაიმე უნიკალური მოდიფიკაცია.

გირჩევთ: