Բովանդակություն:

XiaoMi Vacuum + Amazon Button = Dash մաքրում. 5 քայլ (նկարներով)
XiaoMi Vacuum + Amazon Button = Dash մաքրում. 5 քայլ (նկարներով)

Video: XiaoMi Vacuum + Amazon Button = Dash մաքրում. 5 քայլ (նկարներով)

Video: XiaoMi Vacuum + Amazon Button = Dash մաքրում. 5 քայլ (նկարներով)
Video: Xiaomi Roborock S5 Max Tips & Tricks 2024, Նոյեմբեր
Anonim
XiaoMi վակուում + Amazon կոճակ = Dash մաքրում
XiaoMi վակուում + Amazon կոճակ = Dash մաքրում

Այս հրահանգը կբացատրի, թե ինչպես օգտագործել ձեր պահեստային 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 կոճակների փունջ

Ահա ընթացակարգը

  1. Մենք արմատախիլ ենք անում վակուումը
  2. Տեղադրեք և կարգավորեք անհրաժեշտ փաթեթները վակուումի վրա
  3. Կարգավորեք Amazon Dash կոճակը
  4. Կարգավորեք երթուղիչը ՝ կոճակի խնդրանքը բռնելու և վակուումը կառավարելու համար

Նշում. Փաստորեն, դուք պետք չէ արմատախիլ անել ձեր վակուումը `այն կառավարելու համար: Եթե ձեր ցանցում (կամ որևէ այլ վայրում) ունեք որևէ այլ սերվեր, որը կարող է գործարկել 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- ին

Կարգավորեք երթուղիչը ՝ բռնելու կոճակի հարցումը և կառավարումը MiVacuum- ին
Կարգավորեք երթուղիչը ՝ բռնելու կոճակի հարցումը և կառավարումը MiVacuum- ին
Կարգավորեք երթուղիչը ՝ բռնելու կոճակի հարցումը և կառավարումը MiVacuum- ին
Կարգավորեք երթուղիչը ՝ բռնելու կոճակի հարցումը և կառավարումը MiVacuum- ին
Կարգավորեք երթուղիչը ՝ բռնելու կոճակի հարցումը և կառավարումը MiVacuum- ին
Կարգավորեք երթուղիչը ՝ բռնելու կոճակի հարցումը և կառավարումը 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:

Պատկերը ցանցին տեղավորելուց հետո ես սենյակի երկայնքով մի գիծ եմ չափում գոտու սկզբի և վերջի կետը:

Խորհուրդ ենք տալիս: