Բովանդակություն:
- Քայլ 1: Ստացեք խորհրդանիշ և արմատային վակուում
- Քայլ 2: Տեղադրեք և կազմաձևեք անհրաժեշտ փաթեթները Root տակ Vacuum- ում
- Քայլ 3: Կարգավորեք Amazon Dash կոճակները
- Քայլ 4: Կարգավորեք երթուղիչը `բռնելու կոճակի խնդրանքը և կառավարումը MiVacuum- ին
- Քայլ 5: Ինչպես գծել ձեր քարտեզը
Video: XiaoMi Vacuum + Amazon Button = Dash մաքրում. 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Այս հրահանգը կբացատրի, թե ինչպես օգտագործել ձեր պահեստային Amazon Dash կոճակները ՝ XiaoMi վակուումը կառավարելու համար:
Ես ստացա մի փունջ Amazon կոճակներ, որոնք դրված էին այն ժամանակներից, երբ նրանք $ 1 էին, և ես դրանք օգտագործեցի: Բայց երբ ստացա նոր Robot Vacuum- ը, ես որոշեցի, որ շատ հարմար կլինի օգտագործել այս կոճակները որպես վակուումի վերահսկիչ:
Սեղմեք Ziploc կոճակը և այն կջնջի ննջասենյակը:
Սեղմեք «Ուրախ» կոճակը, և այն կջնջի հյուրասենյակը:
Մամուլ Ֆիջի.. լավ, դու գաղափար ունես:
Այս նախագծի մեջ ներառված են ինտերնետից բազմաթիվ հաքերներ: Ես իրոք գնահատում եմ այն աշխատանքը, որն այդքան շատ մարդիկ արել են և կարծում եմ, որ ես պետք է կիսվեմ իմ փոքրիկ հակացուցումներով ՝ իրենց հետազոտությունների հիման վրա:
Մերժում. Ստորև բերված բոլոր քայլերը կատարում եք ձեր ռիսկով: Եթե ուշադիր հետևեք քայլերին, շատ քիչ հավանական է, որ ինչ -որ բան վնասեք: Բայց դա տեղի է ունենում! Եվ ես ոչ մի պատասխանատվություն չեմ կրում դրա համար: BTW- ի բոլոր քայլերը կարող են հետ շրջվել, որպեսզի հնարավոր չլինի երաշխիքային խախտում: Բայց իհարկե - YMMV
Հիմնական սկզբունքն այն է, որ մենք բռնում ենք երթուղիչի վրա սեղմված վահանակի կոճակը և Amazon- ից ապրանքներ գնելու փոխարեն վեբհուք ուղարկում ենք վակուում:
Այն, ինչ ձեզ հարկավոր կլինի
- Ուղղորդիչ ՝ սովորական որոնվածով, որը կարող է վերահսկել DHCP- ը, գործարկել սցենարներ և կատարել get | post հարցումները: Mikrotik, DD-WRT, OpenWRT, Tomato և այլն:
- XiaoMi վակուում: v1 կամ v2
- Amazon Dash կոճակներ
Մասնավորապես այն, ինչ ես օգտագործել եմ.
- Միկրոտիկ
- XiaoMi v2 Վակուումային Roborock S50
- Amazon Dash կոճակների փունջ
Ահա ընթացակարգը
- Մենք արմատախիլ ենք անում վակուումը
- Տեղադրեք և կարգավորեք անհրաժեշտ փաթեթները վակուումի վրա
- Կարգավորեք Amazon Dash կոճակը
- Կարգավորեք երթուղիչը ՝ կոճակի խնդրանքը բռնելու և վակուումը կառավարելու համար
Նշում. Փաստորեն, դուք պետք չէ արմատախիլ անել ձեր վակուումը `այն կառավարելու համար: Եթե ձեր ցանցում (կամ որևէ այլ վայրում) ունեք որևէ այլ սերվեր, որը կարող է գործարկել python կամ php, կարող եք վեբհուքերը ուղղել նրանց: Բայց ես դա չեմ անում: Եվ ես ուզում էի այն մաքուր և կոմպակտ պահել հենց վակուումի վրա: Այսպիսով, եթե ձեզ դուր չի գալիս իմ մոտեցումը, ես ենթադրում եմ, որ այս ընթերցումից կարող եք պարզել, թե ինչպես կարգավորել ձեր սեփական միջին սերվերը: Ուղղակի անցեք 2 -րդ կետին:
Լավ, եկեք գնանք…
Քայլ 1: Ստացեք խորհրդանիշ և արմատային վակուում
Ամբողջ ծրագրակազմը, ծրագրակազմը և արմատավորման մասին ցուցումները ստացվել են ՝ https://4pda.ru/forum/index.php? Showtopic = 881982
Եթե ունեք Windows- ից բացի այլ օպերացիոն համակարգ և Android- ից բացի այլ հեռախոս (կարող եք վիրտուալ օգտագործել nox- ով), հետևեք վերևի հղմանը (օգտագործեք Google Translate- ը) և կարդացեք հրահանգները, այլապես հետևեք ձեռնարկին այստեղ:
Արմատավորելու համար մենք պետք է ip հասցեն և նշանը ստանանք ձեր վակուումից:
Անջատեք արմատը: 7z:
Տեղադրեք Mihome- ը Vevs- ից ձեր Android- ում: Դուք կարող եք օգտագործել Արխիվից կամ եթե այս հրահանգը թվագրված է, ապա վերջին տարբերակը կարելի է ձեռք բերել նրա կայքից (https://www.kapiba.ru/2017/11/mi-home.html) կամ նրա Google Drive- ից (https://drive.google.com/drive/folders/1IyjvIWiGaeD7iLWWtBlb6jSEHTLg9XGj)
Մուտք գործեք ձեր MiHome: Դուք պետք է ձեր հաշվի վրա սահմանեք Չինաստանի մայրցամաքը և դրան ավելացնեք վակուում):
Հպեք Վակուումի պատկերակին Կարգավորումներ (երեք կետ ՝ վերևի աջ կողմում) Ընդհանուր կարգավորումներ Networkանցի տվյալները
Լրացրեք ip հասցեն և նշանը win-mirobo/win-mirobo.ini- ում
Անջատեք պատուհանների պատնեշը: Գործարկեք win-mirobo.bat և միացրեք որոնվածը:
!!!!!!!!! V1- ը v1 Vacuum- ի համար է, իսկ V2- ը v2 Vacuum- ի համար (Roborock S50) !!!!!!! Եթե սխալ FW եք բռնկվել, անցեք 4pda հղմանը (առաջինը այս քայլին) և կարդացեք, թե ինչպես վերականգնել:
Arter Vacuum- ը վերագործարկվում է. Դուք հաջողությամբ արմատախիլ եք արել ձեր վակուումը և այժմ ձեզ հասանելի է ssh- ի միջոցով:
SSH դրան (ծեփամածիկով) մաքրող/մաքրող սարքով: Փոխեք ձեր գաղտնաբառը passwd- ով
Քայլ 2: Տեղադրեք և կազմաձևեք անհրաժեշտ փաթեթները Root տակ Vacuum- ում
Նախադրյալ
Վեբհարքերի փոխարեն MiVacuum- ն օգտագործում է miio արձանագրությունը, ինչպես և XiaoMi IoT սարքերն են: Այսպիսով, մենք պետք է սովորենք դա ՝ վեբ -կեռիկներ հասկանալու համար: Մեզ պետք է միջին մարդ, ով կարող է բռնել վեբհուկը և թարգմանել այն սարքի ՝ miio արձանագրության: Գոյություն ունի python գրադարան (https://github.com/rytilahti/python-miio), բայց մենք չենք կարող այն օգտագործել վակուումի վրա, քանի որ վակուումի վրա Python 3.5+-ի համար բավարար տարածք չկա:
Բայց բարեբախտաբար, կա php-miio գրադարան (https://github.com/skysilver-lab/php-miio), որը համեմատաբար շատ թեթև է, և սա այն է, ինչ մենք կօգտագործենք (btw այն օգտագործվում է նաև win-mirobo- ի վերևում)): Նա, ով բռնում է վեբհուկը, դա վեբհուկի դևոն է (https://github.com/adnanh/webhook), ով վարում է մուտքի վեբ -մատյանում php- ի սցենարը:
SSH ձեր վակուումին (մածիկով).
#Արեք արմատների տակ: Այո, ես գիտեմ, որ դա անվտանգ չէ: whatevs.sudo su #Այստեղ մենք տեղադրում ենք բոլոր անհրաժեշտությունները apt-get install -y wget php5-cli nano #Մնացած ամեն ինչ պատրաստվում է /ընտրել cd /opt
#Ներբեռնեք php-miio
#Ստուգեք ամենաթարմը github- ում: Ստորև ուղղեք տողերը ՝ ըստ վերջին wget- ի ՝ https://github.com/skysilver-lab/php-miio/archive/v.0.2.6.tar.gz tar -xzvf v.0.2.6.tar.gz mv php- miio-v.0.2.6 php-miio rm -f v.0.2.6.tar.gz
#Ներբեռնեք վեբհուքերի դեմոն
#Ստուգեք ամենաթարմը github- ում: Ստորև ճիշտ տող ՝ ըստ վերջին wget- ի ՝ https://github.com/adnanh/webhook/releases/download/2.6.8/webhook-linux-arm.tar.gz tar -xzvf webhook-linux-arm.tar.gz mv webhook-linux-arm webhook rm -f webhook-linux-arm.tar.gz
#Ստեղծեք պարամետրեր վեբհուկի համար
nano /opt/webhook/hooks.json #Մուտքագրեք hooks.json բովանդակությունը այստեղ: Rightեփամածկի մեջ աջ սեղմեք: #Ctr+X Պահել Y.
#Ստեղծեք սցենար php-miio զանգահարելու համար
nano /opt/webhook/mirobo.sh #Մուտքագրեք mirobo.sh բովանդակությունը այստեղ: Rightեփամածիկի մեջ սեղմեք աջ: # Ctr +X Պահել Y. # Կատարելագործելի chmod +x /opt/webhook/mirobo.sh
#Ստեղծեք ինքնագործարկիչ սցենար և թարմացրեք կազմաձևերը
echo "/opt/webhook/webhook -hooks /opt/webhook/hooks.json" >> /etc/init.d/webhook.sh chmod ugo+x /etc/init.d/webhook.sh update -rc.d webhook.sh- ը կանխադրված է
#Վերագործարկեք համակարգը
վերագործարկել
Վերագործարկվելուց հետո ստուգեք ձեր կարգավորումները զննարկիչում.
192.168.your.ip: 9000/hooks/mirobo? method = find_me
մեթոդ - հրաման
պարամետրեր - պարամետրեր
Բոլոր մեթոդները (հրամանները) և պարամետրերը կարող եք գտնել այստեղ.
github.com/marcelrv/XiaomiRobotVacuumProtocol
Կեռիկների բովանդակություն. Json
Փոխեք ձեր նշանը ՝ վակուումից ձեր նշանին:
Ուղղեք ip- սպիտակ ցուցակը ձեր տեղական ցանցի համար կամ ամբողջությամբ հեռացրեք, եթե ձեր կեռիկներն այլ տեղից գործարկեք (վտանգավոր չէ):
[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/opt/webhook", "response-message": "Կատարող mirobo script "," include-command-output-in-response ": false," pass-environment-to-command ": [{" source ":" string "," envname ":" token "," name ": "your-token-here"}], "pass-arguments-to-command": [{"source": "url", "name": "method"}, {"source": "url", "name ":" params "}]," trigger-rule ": {" match ": {" type ":" ip-whitelist "," ip-range ":" 192.168.1.0/24 "}}}]
mirobo.sh ֆայլի բովանդակությունը: Պարզապես պատճենեք-տեղադրեք: Կան ընդամենը երկու տող (ոչ 3):
#!/bin/bashphp /opt/php-miio/miio-cli.php --ip '127.0.0.1' --bindip '127.0.0.1'-$ token --sendcmd '{"id":' $ RANDOM ', "method": "' $ 1 '", "params": [' $ 2 ']}'
Քայլ 3: Կարգավորեք Amazon Dash կոճակները
Բացեք ձեր Amazon ծրագիրը: Գնացեք Dash սարքեր: Սովորականի պես ավելացրեք նոր վահանակի կոճակ: Ապրանք ընտրելու գովազդային կետում ՉԵՆ: Փակեք ծրագիրը: Դուք ավարտեցիք:
Քայլ 4: Կարգավորեք երթուղիչը `բռնելու կոճակի խնդրանքը և կառավարումը MiVacuum- ին
Սա աշխատում է հետևյալ կերպ.
Երբ կոճակը սեղմվում է, այն կապվում է ձեր ցանցի հետ և խնդրում է dhcp սերվերին նշանակել դրա հասցեն: Մենք պետք է որսանք այդ խնդրանքը և վեբհուք կատարենք դեպի վակուում: Որպես անվտանգության լրացուցիչ միջոց ՝ մենք կարգելափակենք Amazon- ի հետ կապը, որպեսզի Amazon- ը չիմանա, որ մենք նույնիսկ սեղմել ենք կոճակը և չունի որևէ որոնվածը թարմացնելու կամ այլ բան մղելու ունակություն:
Հիմնականում ես օգտագործում եմ WinBox, բայց երբեմն տերմինալը պարզապես ավելի հեշտ է:
#Ստեղծեք firewall- ի թողման կանոն ՝ հասցեների ցուցակով ՝ արգելափակելու համար
/ip firewall զտիչ ավելացնել շղթա = առաջ src-address-list = blockdash action = drop comment = "Drop Amazon Dash"
Հետո մենք պետք է ստեղծենք dhcp վարձակալության կանոն յուրաքանչյուր կոճակի համար: Շատ հեշտ է դա անել winbox- ում:
DHCP սերվեր - վարձակալություններ
Մենք սեղմում ենք նոր վարձակալության հայտնվող կոճակը: Մենք այն սեղմում ենք որպես ստատիկ և հասցեների ցանկը սահմանում «արգելափակում», վարձակալության ժամանակը սահմանում ենք 5 վրկ (որպեսզի վարձակալության ժամկետը լրանա մինչև հաջորդ սեղմումը) և պատճենենք Mac հասցեն ավելի ուշ:
#Այս հրամանը պարզապես հղման համար է, եթե winbox- ում վարձակալություն եք ավելացրել, պարզապես բաց թողեք այն:
/ip dhcp-server վարձակալության ավելացնել հասցե-ցուցակ = blockdash mac-address = XXXXXXXXXX հասցե = 192.168.x.x վարձակալության ժամանակ = 5 վ
Այժմ մենք պետք է մատնանշենք վարձակալության սցենարը:
Բացեք DHCP ներդիրը և ավելացրեք 'myLeaseScript' որպես վարձակալության սցենար ձեր dhcp սերվերի վրա:
Այժմ բացեք System - Scripts և ավելացրեք «myLeaseScript» ՝ ընթերցման, փորձարկման թույլտվություններով:
MyLeaseScript- ի բովանդակությունը.
#Script- ը երկու անգամ կանչվում է վարձակալության (1) և թողարկման (0) դեպքում.
#Ձեր բոլոր կոճակների զանգված և զանգի url
: տեղական կոճակներ {"XX: XX: XX: XX: XX: XX" = "https://192.168.your.ip: 9000/hooks/mirobo? method = app_zoned_clean¶ms = [19300, 21000, 21200, 23800, 1] "; "YY: YY: YY: YY: YY: YY" = "https://192.168.your.ip: 9000/hooks/mirobo? Method = app_zoned_clean¶ms = [24000, 21500, 26100, 22900, 1]"; "ZZ: ZZ: ZZ: ZZ: ZZ: ZZ" = "https://192.168.your.ip: 9000/hooks/mirobo? Method = app_zoned_clean¶ms = [21400, 24200, 22700, 26200, 1], [24000, 21500, 26100, 22900, 1] "; "AA: AA: AA: AA: AA: AA: AA" = "https://whateveryouwant.com:9000/other?argument=and_values"; };
#Ստուգեք սեղմված կոճակը և acll հասցեն
: foreach mac, url in = $ buttons do = {: if ($ mac = $ leaseActMAC) do = { /log info ("Pressed". $ mac. "button") /tool fetch keep-result = no mode = https http-method = post url = $ url}}}
Այժմ դուք ավտոմատացրել եք ձեր մաքրումը Amazon Dash Button- ի սեղմումով: Զվարճանալ
Խնդրում ենք ուշադրություն դարձնել. Շատ վտանգավոր է վեբ -կեռներ առանց կոդավորված ուղարկել: Webhook- ը կարող է օգտագործել կոդավորումը, բայց, այնուամենայնիվ, ես փորձեցի այն դարձնել աշխատող, դա երբեք տեղի չունեցավ: Քանի որ ես օգտագործում եմ այն պարզապես իմ տեղական ցանցում, ես այնքան էլ մտահոգված չեմ: Բայց եթե ցանկանում եք այն օգտագործել ինտերնետով ՝ Google Օգնականի ինտեգրման միջոցով IFTTT- ին միանալու համար, ուշադրություն դարձրեք այս փաստին: Ես վստահ չեմ, թե որն էր իմ դեպքում գաղտնագրման ձախողման պատճառը: Ինքնաստորագրված վկայականներ, որոնցից ես ծեծվել եմ `թողարկված letsencrypt- ի կողմից: Չափազանց բարդ ցանց NAT- ի հետ, որը ծեծել եմ ipv6- ով: Բայց ինձ թվում է, որ վեբհուքերը շատ վատ են աշխատում սերտիֆիկատներով և իրականում շատ վատ փաստաթղթավորված են: Եվ կարծես IFTTT- ն չի աշխատում ipv6- ի հետ: Ես փորձեցի ամեն ինչ, բայց չստացվեց: Դուք կարող եք ավելի լավ բախտ ունենալ: Մի մոռացեք գրառում կատարել:
Upd: Ես գաղափար ունեմ, թե ինչպես այն ավելի անվտանգ դարձնել առանց կոդավորման: Դուք ստեղծում եք մի քանի սցենար յուրաքանչյուր գործողության համար, որը ցանկանում եք կատարել: Դուք փոփոխում եք mirobo.sh- ը, որպեսզի սցենարը զանգահարվի վեբհուկում ուղարկված տվյալ պարամետրի համար, օրինակ. մաքուր_նջասենյակ: Վերջ: Կեռիկն օգտագործողներից շատերը ամեն անգամ նորից մաքրելու են ձեր ննջարանը …)) Երբ դա անեմ, ես կթարմացնեմ ուսանելիը:
Քայլ 5: Ինչպես գծել ձեր քարտեզը
Ձեր MiHome հավելվածում ձեր ամբողջական քարտեզը պատրաստ լինելուց հետո 'app_goto' հրամանի միջոցով ձեր վակուումը ուղարկեք որոշակի վայր:
Ստեղծեք ամբողջական քարտեզի սքրինշոթ ՝ ուղարկված դիրքով և հիմքով: Վակուումի վերագործարկումից հետո հիմնական կետը [25500, 25500] դիրքն է: Սա Լիցքավորման բազայի դիրքը չէ, բայց եթե վակուումը վերագործարկեք լիցքավորման բազայում, ապա լիցքավորման բազայի դիրքը կլինի 25500, 25500: Այսպիսով, հայտնի դիրքից ուղարկված և հիմնական դիրքը, որը կարող եք նկարել ձեր քարտեզը ցանկացած CAD ծրագրի վրա `ձեր կողմից վերցված սքրինշոթով: Ես օգտագործել եմ անվճար QCAD:
Պատկերը ցանցին տեղավորելուց հետո ես սենյակի երկայնքով մի գիծ եմ չափում գոտու սկզբի և վերջի կետը:
Խորհուրդ ենք տալիս:
Անլար դռան զանգ - (ազնվամորի PI և Amazon Dash). 4 քայլ (նկարներով)
Անլար դռան զանգ - (Ազնվամորի PI և Amazon Dash). Ի՞նչ է դա անում: (տես տեսանյութը) Երբ կոճակը սեղմվում է, Ազնվամորին հայտնաբերում է անլար ցանցում նոր սարքի մուտք գործելը: Այս կերպ այն կարող է ճանաչել սեղմված կոճակը և փոխանցել այս փաստի մասին տեղեկությունները ձեր բջջայինին (կամ ձեր
Amazon Dash Button Silent Doorbell: 10 քայլ (նկարներով)
Amazon Dash Button Silent Doorbell: Անընդհատ նայում եք պատուհանից, որպեսզի կարողանաք ընդհատել այցելուներին նախքան դռան զանգը զանգելը: Հոգնե՞լ եք, երբ շունն ու երեխան խելագարվում են, երբ այն զանգի: Չեք ուզում մի մեծ գումար ծախսել " խելացի » լուծում? Լուռ դռան զանգ կատարելը նույնն է, ինչ
Սայթաքել Amazon Fire Remote TV Remote- ի վրա. 3 քայլ (նկարներով)
Սայթաքել Amazon Fire Remote TV Remote- ի վրա: Oh Amazon, ձեր Fire TV- ն այնքան զարմանալի է, ինչու՞ մեզ չեք տվել ձեր հեռակառավարման վահանակի ձայնի վերահսկողությունը: Դե, Amazon- ում $ 5 -ից պակաս գնով կարող եք գնել այս գեղեցիկ փոքրիկ հեռակառավարման վահանակը, հոսանքը, ձայնը: , ծավալը և ալիքը ՝ բոլորը փոքր փաթեթում: Մուտքագրեք 3D տպիչ և
Ինչպես վերահսկել լույսը/տան լույսերը Arduino- ի և Amazon Alexa- ի միջոցով. 16 քայլ (նկարներով)
Ինչպես վերահսկել լույսը/տան լույսերը Arduino- ի և Amazon Alexa- ի միջոցով. Ես բացատրել եմ, թե ինչպես վերահսկել լույսը, որը միացված է ՄԱԿ -ին և վերահսկվում է Alexa- ի կողմից
Amazon Echo- ի սեփական տարբերակը. 8 քայլ (նկարներով)
Amazon Echo- ի սեփական տարբերակը. Բարև տղերք, ես կարծում եմ, որ բոլորը գիտեն Amazon- ի վերջին արտադրանքի մասին Amazon Echo- ն, որը ձայնով կառավարվող սարք է, այսինքն ՝ մենք կարող ենք կառավարել սարքը մեր ձայնով և նույնիսկ կարող է խոսել մեզ հետ: Այս գաղափարից ոգեշնչված ես ստեղծել եմ իմ սեփական տարբերակը, որը կարող է