Мазмуну:

Amazon Dash баскычы Үнсүз эшик коңгуроосу: 10 кадам (Сүрөттөр менен)
Amazon Dash баскычы Үнсүз эшик коңгуроосу: 10 кадам (Сүрөттөр менен)

Video: Amazon Dash баскычы Үнсүз эшик коңгуроосу: 10 кадам (Сүрөттөр менен)

Video: Amazon Dash баскычы Үнсүз эшик коңгуроосу: 10 кадам (Сүрөттөр менен)
Video: Meeting #5 - 4/29/2022 | ETF team meeting and dialogue 2024, Июль
Anonim
Image
Image

Конокторду эшиктин коңгуроосуна чейин тосуп алуу үчүн дайыма терезеден карап турасызбы? Иттер менен наристе качан чалса жинди болуп кетүүдөн тажадыңызбы? "Акылдуу" чечимге байлык сарптагыңыз келбейби?

Эшиксиз коңгуроо кылуу 5 долларлык Amazon Dash баскычын бузуу сыяктуу оңой! Дагы бир нерсе - бул дайыма үйдө отурган компьютер, айталы, Raspberry Pi айланасында отурдуңуз. Кимдир бирөө сиздин жаңы коңгурооңузду басып, бүт үйдү кубантып турса, каалаган убакта текст билдирмелерин алыңыз. (Акылдуу саатыңыз болсо, эскертмелерди алуу андан да сонун!)

Бул долбоор үчүн сизге керек болот:

  • Amazon Dash баскычы
  • Үйдө отурган компьютер (Raspberry Pi сыяктуу)

1 -кадам: Сиздин Dash баскычын орнотуу

Сиздин Даш баскычын орнотуу
Сиздин Даш баскычын орнотуу
Сиздин Даш баскычын орнотуу
Сиздин Даш баскычын орнотуу

Dash баскычын хакерликке даярдоо абдан жөнөкөй - сиз Amazon орнотуу процессин толугу менен минус продуктуну тандоо аркылуу өтүшүңүз керек.

Бул орнотуу iOS жана Android үчүн жеткиликтүү Amazon тиркемесин талап кылат. Колдонмонун ичинде Амазонкага киргенден кийин, Каттоо эсебиңизге -> Dash Buttons & Devices -> Жаңы түзмөктү орнотууга өтүңүз. "Тире баскычын" тандап, продуктту тандооңузга чейин көрсөтмөлөрдү аткарыңыз.

Колдонмону жабыңыз. Орнотууну жокко чыгарбаңыз; х урбаңыз - жөн гана колдонмону жабыңыз. Эгерде сиз кокусунан өнүмдү тандап алсаңыз же эски Dash баскычын кайра колдонуп жатсаңыз, Amazon колдонмосу аркылуу аппаратты алып салыңыз жана бул кадамдарды кайра аткарыңыз.

Эгерде сиз баскычыңыздын көрүнүшүн өзгөрткүңүз келсе, этикетканы чаптоо оңой.

2 -кадам: Node JSти түзмөгүңүзгө орнотуңуз

Dash баскычынын аппараттык дарегин табуу (жана андан кийин колдонуу) үчүн, Node JSти колдонушубуз керек. Бул каалаган компьютерге орнотулушу мүмкүн - Mac, Linux (Raspberry Pi), же Windows.

Биздин акыркы долбоорубуз түйүн скриптинин үзгүлтүксүз иштеп жаткан баскычы менен бир тармакка туташкан компьютерге көз каранды, ошондуктан аспабыңызды тандоодо муну эске алыңыз. Үйдөгү иш стол же Raspberry Pi идеалдуу болмок.

Мен Pi 3 колдонууну тандап жатам, бирок Wi -Fi түйүнү бар Pi Zero дагы иштейт!

Node JSти компьютериңизге орнотуу үчүн, тиешелүү нускамаларды аткарыңыз:

  • Raspberry Pi
  • 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 ('аныкталды', function () {console.log ('Баскыч басылды!');});

Экинчи саптагы хтерди жаңы табылган баскычтын дареги менен алмаштырыңыз. Файлды Ctl-x, y менен сактаңыз.

Скриптти баштаңыз жана баскычыңызды басыңыз.

Sudo түйүнү button_test.js

Сиз "Баскыч басылды!" Көрүшүңүз керек. басып чыгаруу. Эми биз баскычтарды басууну аныктай алабыз, ошонун негизинде аракеттерди иштете алабыз!

5 -кадам: Баштапкы мамлекеттик эсепти орнотуу

Баштапкы мамлекеттик эсепти орнотуу
Баштапкы мамлекеттик эсепти орнотуу
Баштапкы мамлекеттик эсепти орнотуу
Баштапкы мамлекеттик эсепти орнотуу

Эми биз Dash баскычын баскандан кийин буйрук сабынын билдирүүсүн иштете алабыз, биз ар кандай нерселерди иштете алабыз! Бул учурда мен смс билдирүүнү баштайм - биз электрондук почтабызды текшермейинче, эшикте ким турса, ошондой күтүшүн каалабайбыз.

Текст эскертүүсүн иштетүүнүн бир нече жолу бар - Twilio же PushBullet сыяктуу кызматтар. Мен тапкан эң оңой жолдордун бири Initial State аркылуу болду. Бул минималдуу кошумча коддоону талап кылды жана менин баскычым качан басылганын панелдин көрүнүшү менен камсыз кылды.

Https://iot.app.initialstate.com дарегине өтүп, жаңы каттоо эсебин түзүңүз.

Сиз NodeJS үчүн Баштапкы Мамлекеттик SDKди столго/ноутбукка/Raspberry Piге орнотушуңуз керек. Командалык кеңеште (адегенде Пиңизге SSH киргизүүнү унутпаңыз), төмөнкү буйрукту аткарыңыз:

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 (function () {// Башка окуя bucket.push ("Демо абал", "активдүү эмес"); Push,}, 1000);

Сценарийди Ctl-x, y менен сактаңыз.

Бул скриптти иштетүүдөн мурун, биз экинчи сапка уникалдуу кирүү ачкычын кошушубуз керек.

2 -сапта сиз var bucket = IS.bucket (… менен башталган сапты көрөсүз. Бул линиялар "NodeJS_SDK_Example" деген аталышта жаңы маалымат пакетин түзөт жана сиздин каттоо эсебиңиз менен байланышкан. Бул ассоциация ошол эле параметрдин экинчи параметринен улам болот) Сиздин баштапкы абалга кирүү ачкычыңыз тамгалар менен сандардын узун тизмеги. Эгерде сиз веб -браузериңиздеги Баштапкы абалдын эсебине кирсеңиз, оң жактагы колдонуучу атыңызды чыкылдатыңыз, андан кийин "менин жөндөөлөрүмө" өтүңүз. сиздин кирүү ачкычыңыз ошол жерде.

Статистикалык сценарийди баштапкы абалдагы эсебиңизге маалымат агымын түзө аларыбызга ынануу үчүн иштетиңиз. Төмөнкүлөрдү иштетүү:

түйүн stream_test.js

Веб -браузериңиздеги баштапкы абалга кайтыңыз. "NodeJS_SDK_Example" деп аталган жаңы маалымат чакасы журналдын текчесинде сол тарапта көрүнүшү керек болчу (баракты жаңыртууңуз керек болот). Тест маалыматтарын көрүү үчүн бул чаканы басыңыз.

Эми сиз баскычтарды баскычты Баштапкы абалга жөнөтүүгө даярсыз!

6 -кадам: Акыркы код

Акыркы код
Акыркы код

Биз мурунтан эле SDK Initial State Node орноттук, андыктан биздин кодго аны кошуу гана керек!

Бул жерде биз мурда колдонгон 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 ('Doorbell', 'YOUR_ACCESS_KEY'); dash.on ('аныкталды', function () {console.log ('Баскыч басылды!'); bucket.push ('Front Door', 'One Here Here!');});

Бул скриптти жаңы файлга көчүрүп чаптаңыз (дагы эле түйүнчөктүн каталогу ичинде):

sudo nano doorbell.js

Сиз 5 жана 6 -саптарда Initial State модулун камтыганын жана чака параметрлерибизди бергенин байкайсыз. Сиз уникалдуу кирүү ачкычыңызды 6 -сапка мурунтан салышыңыз керек.

10 -сап - бул биз маалыматты баштапкы абалга жөнөтүү. Бул учурда мен чакамды "Эшиктин коңгуроосу" деп атагам жана "Кимдир бирөө бул жерде!" менин эшигимде. Эгерде сизде бир нече Dash баскычтары бар болсо, сиз алардын бардыгын "Doorbell" чакасына жөнөтө аласыз, бирок аларды жайгашкан жерине жараша атасаңыз болот (б.а. "Гараждын эшиги", "Bedroom" ж.б.).

Сценарийди Ctl-x, y менен сактаңыз.

Скриптиңизди текшерүү үчүн, чуркаңыз:

sudo түйүнү doorbell.js.

Кнопкаңызды басканыңызда, Баштапкы Мамлекет барагыңызга кирип, капталдагы "Doorbell" аттуу жаңы чаканы көрүшүңүз керек. Эми Trigger кошолу!

7 -кадам: SMS Trigger орнотуу

SMS Trigger орнотуу
SMS Trigger орнотуу

"Триггерлер" - бул штаттын эскертмелеринин версиясы жана аларды кошуу өтө оңой. Жөн гана эшик коңгуроосунун астындагы "Орнотууларды" чыкылдатып, анан "Триггерлер" өтмөгүн чыкылдатыңыз.

Сиз ачылуучу тизмеден өчүргүңүз келген сигналды тандай аласыз. Биздин чакада бирөө гана бар - "Алдыңкы эшик" - андыктан аны тандаңыз. Андан кийин "дал келүү" опциясын тандап, баскычыңыз басылганда сиз агылып жаткан билдирүүнү кошуңуз - бул учурда "Кимдир бирөө бул жерде!"

Акырында, SMS билдирүүлөрдү алуу үчүн телефон номериңизди кошуңуз. Бул номерди биринчи жолу колдонгондо телефонуңузга жөнөтүлгөн текшерүү кодун киргизишиңиз керек болот.

Телефон номериңиздин жанындагы "+" белгисин басканыңызды текшериңиз же триггер түзүлбөйт.

Триггериңизди сактоо үчүн Триггерлер өтмөгүнүн ылдый жагындагы "Даяр" баскычын басыңыз.

Эми сиз текст эскертүүлөрүн алууга даярсыз! Баскычыңызды басыңыз (doorbell.js скрипти иштеп жатканда). Сиз текстти 8 секундада же андан азыраак алышыңыз керек!

Сиздин унчукпаган коңгурооңуз даяр! Эгерде сиз сценарийиңиз электр жарыгы өчкөндө кайра башталаарын текшергиңиз келсе, окууңузду улантыңыз. Мен ошондой эле сиздин чакаңызга эмодзилерди кошуп, аталыштарын карап чыгам.

8 -кадам: Жеке тактаңызды жекелештирүү

Жеке тактаңызды жекелештирүү
Жеке тактаңызды жекелештирүү
Жеке тактаңызды жекелештирүү
Жеке тактаңызды жекелештирүү

Эгерде сиз Баштапкы Мамлекет тактаңызды кооздоону кааласаңыз, эмодзилерди кошуу же аттарын толугу менен өзгөртүү өтө жөнөкөй.

Плитканын атын өзгөртүү үчүн, плитканы оң баскыч менен чыкылдатып, "плитканы түзөтүү" дегенди тандаңыз. Титулдук кутучанын ичине каалаган эмодзи үчүн жарлыкты коё аласыз. Конфигурация терезесинин жогору жагындагы "x" баскычын басуу сиздин өзгөртүүлөрдү сактайт.

Сиз муну чакаңыздын атынын астындагы "Жөндөөлөрдү" чыкылдатып, анан Аты талаасын түзөтүп жасай аласыз.

Дайындарыңызга көбүрөөк инсандык жана контекст берүү үчүн сиз панелге фондук сүрөттү кошо аласыз.

9 -кадам: скриптти жүктөөдөн баштоо

Үй компьютериңизде же Piңизде иштеп жаткан сценарий биздин үнсүз коңгурообуздун ачкычы. Эгерде кандайдыр бир нерсе электр жарыгынын өчүшү сыяктуу болуп калса, анда биздин сценарийдин кайра ишке киришине кам көргүбүз келет.

Macта Биз crontab деп аталган кызматты жана нано текст редакторун колдонобуз:

env EDITOR = nano crontab -e

Файлдын ичине төмөнкүлөрдү кошуңуз:

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

"UserName" дегенди өзүңүздүкү менен алмаштырууну унутпаңыз. Эгерде сиз сценарийиңизди башка нерсеге атасаңыз же башка каталогго койсоңуз, /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 түйүнү /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 now fi

Пинг байланышты текшерет. Эгерде ал нөлдүк эмес чыгуу коду менен кайтып келсе, скрипт өчүрүү буйругун жөнөтөт. Сактоо жана скрипттен чыгуу. Эми анын уруксаттары ирээтке келтирилгенин текшериңиз:

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

Биздин doorbell.js сценарийи сыяктуу эле, биз бул скриптти crontabге кошобуз:

sudo crontab -e

Place

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

биз мурда кошкон сызыктын астында. Бул биздин checkwifi сценарийибизди 5 мүнөт сайын иштетет. Эми crontabдан чыгып, Pi'ни өчүрүңүз:

sudo өчүрүп күйгүзүү

Баары орнотулуп, иштеши керек! Сиз ошондой эле бул үйрөткүчтү аткаруу менен Piде иштеп жаткан процесстерди көзөмөлдөөнүн жолун орното аласыз.

10 -кадам: Жыйынтык

Жыйынтык
Жыйынтык

Эми сизде Amazon жеткирүүчүлөрүнүн ойгонушуна жол бербөө үчүн унчукпаган коңгурооңуз бар! Эгерде сизде кандайдыр бир суроолор болсо же мага кандайдыр бир уникалдуу өзгөртүүлөр келсе, мага кабарлаңыз.

Сунушталууда: