Përmbajtje:

XiaoMi Vakuum + Butoni Amazon = Pastrimi i Dashit: 5 hapa (me fotografi)
XiaoMi Vakuum + Butoni Amazon = Pastrimi i Dashit: 5 hapa (me fotografi)

Video: XiaoMi Vakuum + Butoni Amazon = Pastrimi i Dashit: 5 hapa (me fotografi)

Video: XiaoMi Vakuum + Butoni Amazon = Pastrimi i Dashit: 5 hapa (me fotografi)
Video: Robot Pastrimi - Kodi: 5082 2024, Nëntor
Anonim
Vakum XiaoMi + Butoni Amazon = Pastrimi i Dashit
Vakum XiaoMi + Butoni Amazon = Pastrimi i Dashit

Ky udhëzim do të shpjegojë se si të përdorni butonat rezervë të Amazon Dash për të kontrolluar vakumin XiaoMi.

Kam marrë një mori butonash Amazon që nga koha kur ata ishin $ 1 dhe unë nuk i kam përdorur ato. Por me marrjen e një Robot Vacuum të ri, vendosa që do të ishte shumë e përshtatshme për t'i përdorur këto butona si një kontroll për vakumin.

Shtypni butonin Ziploc dhe do të fshijë dhomën e gjumit.

Shtypni butonin Glad dhe do të pastrojë dhomën e ndenjes.

Shtyp Fixhi.. mirë e ke idenë.

Ky projekt atje janë përfshirë shumë hake nga interneti. Unë me të vërtetë e vlerësoj punën që kanë bërë shumë njerëz dhe mendoj se më duhet të ndaj artikullin tim të vogël bazuar në kërkimet e tyre.

Disclaimer: Të gjithë hapat më poshtë i bëni në rrezikun tuaj! Nëse ndiqni hapat me kujdes ka shumë pak mundësi që të dëmtoni diçka. Por nuk ndodh! Dhe unë nuk marr asnjë përgjegjësi për të. BTW të gjitha hapat mund të përmbysen kështu që potencialisht nuk ka shkelje të garancisë. Por sigurisht - YMMV

Parimi themelor është që ne kapim butonin e shtypjes së butonit në ruter dhe dërgojmë webhook në Vacuum në vend që të blejmë gjëra nga Amazon.

Çfarë do t'ju duhet:

  • Router me firmware të personalizuar që mund të kontrollojë DHCP, të ekzekutojë skriptet dhe të plotësojë pyetjet e get | post. Mikrotik, DD-WRT, OpenWRT, Domate etj.
  • Vakum XiaoMi. v1 ose v2
  • Butonat e Amazon Dash

Konkretisht atë që kam përdorur:

  • Mikrotik
  • XiaoMi v2 Vakum Roborock S50
  • Një bandë e butonave Amazon Dash

Këtu është procedura

  1. Ne rrënjosim vakumin
  2. Instaloni dhe konfiguroni paketat e nevojshme nën rrënjë në vakum
  3. Konfiguro butonin Amazon Dash
  4. Vendosni ruterin për të kapur kërkesën e butonit dhe kontrolloni vakumin

NB: Në fakt ju nuk keni nevojë të rrënjosni vakumin tuaj për ta kontrolluar atë. Nëse keni ndonjë server tjetër në rrjetin tuaj (ose kudo) i cili mund të ekzekutojë python ose php ju mund t'i drejtoni lidhëset e uebit tek ata. Por unë jo. Dhe doja ta mbaja të rregullt dhe kompakt në vetë vakumin. Pra, nëse nuk ju pëlqen qasja ime, supozoj se mund të kuptoni se si të konfiguroni serverin tuaj të mesëm nga ky lexim. Thjesht shkoni direkt në pikën 2.

Ok ja ku po shkojme…

Hapi 1: Merrni Vakumin Token dhe Root

Merrni vakumin Token dhe Root
Merrni vakumin Token dhe Root
Merrni vakumin Token dhe Root
Merrni vakumin Token dhe Root
Merrni vakumin Token dhe Root
Merrni vakumin Token dhe Root
Merrni vakumin Token dhe Root
Merrni vakumin Token dhe Root

I gjithë softueri, fimware dhe udhëzimet për rrënjosjen janë marrë nga: https://4pda.ru/forum/index.php? Showtopic = 881982

Nëse keni OS të ndryshëm nga Windows dhe telefon tjetër përveç Android (mund të përdorni virtual me nox) ju lutemi ndiqni lidhjen e mësipërme (përdorni Google Translate) dhe lexoni udhëzimet përndryshe ndiqni manualin këtu.

Për të çrrënjosur ne duhet të marrim adresën IP dhe shenjën nga vakumi juaj.

Zhblloko rrënjën.7z.

Ju lutemi instaloni Mihome nga Vevs në Android tuaj. Ju mund të përdorni një nga Arkivi ose nëse ky udhëzim është i datuar atëherë versioni i fundit mund të merret nga faqja e tij e internetit (https://www.kapiba.ru/2017/11/mi-home.html) ose Google Drive e tij (https://drive.google.com/drive/folders/1IyjvIWiGaeD7iLWWtBlb6jSEHTLg9XGj)

Hyni në MiHome tuaj. Ju duhet të vendosni Kinën Kontinentale në llogarinë tuaj dhe të shtoni Vakum në të).

Prekni Cilësimet e ikonës Vakum (Tre pika në të djathtë sipër) Cilësimet e përgjithshme Informacioni i rrjetit

Plotësoni adresën IP dhe shenjën në win-mirobo/win-mirobo.ini

Çaktivizoni murin e zjarrit në dritare. Nisni win-mirobo.bat dhe ndizni firmware-in.

!!!!!!!!! V1 është për v1 Vakuum dhe V2 është për v2 Vacuum (Roborock S50) !!!!!!! Nëse keni ndezur gabim FW - shkoni te lidhja 4pda (e para në këtë hap) dhe lexoni se si të shëroheni.

Arter Vacuum rindizet - ju keni rrënjosur me sukses vakumin tuaj dhe tani keni qasje në të nëpërmjet ssh!

SSH tek ajo (me Stuko) me pastruesin/pastruesin. Ndryshoni fjalëkalimin tuaj me passwd

Hapi 2: Instaloni dhe Konfiguroni Pakot e Nevojshme Nën Rrënjë në Vakum

Premisa

Në vend të lidhësve të uebit, MiVacuum përdor protokollin miio siç bën çdo pajisje XiaoMi IoT. Pra, ne duhet ta mësojmë atë për të kuptuar lidhjet e uebit. Ne kemi nevojë për një burrë të mesëm që mund të kapë webhook dhe ta përkthejë atë në protokollin miio në pajisje. Ka bibliotekë python (https://github.com/rytilahti/python-miio), por ne nuk mund ta përdorim atë në vakum pasi nuk ka hapësirë të mjaftueshme për Python 3.5+ në Vakuum.

Por fatmirësisht ekziston një bibliotekë php-miio (https://github.com/skysilver-lab/php-miio) e cila është relativisht shumë e lehtë dhe kjo është ajo që ne do të përdorim (btw përdoret gjithashtu në win-mirobo më lart) Ai që kap webhook është webhook daemon (https://github.com/adnanh/webhook) i cili drejton skriptin për php në webhook -in hyrës.

SSH në vakumin tuaj (me Stuko):

#Bëni nën rrënjë. Po e di që nuk është e sigurt.. whatevs.sudo su #Këtu ne instalojmë të gjitha nevojat apt-get install -y wget php5-cli nano #Çdo gjë tjetër do të /zgjedhë cd /opt

#Shkarkoni php-miio

#Kontrolloni më të fundit në github. Rreshtat e duhur më poshtë sipas wget më të fundit 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

#Shkarkoni demonin e webhooks

#Kontrolloni më të fundit në github. Linja e saktë më poshtë sipas wget më të fundit 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

#Krijoni cilësime për lidhësin në internet

nano /opt/webhook/hooks.json #Input grepa.json përmbajtje këtu. Klikoni me të djathtën në stuko. #Ctr+X Ruaj Y.

#Krijo skript për thirrjen e php-miio

nano /opt/webhook/mirobo.sh #Input mirobo.sh përmbajtje këtu. Klikoni me të djathtën në stuko. # Ctr +X Ruaj Y. # Bëni chmod +x të ekzekutueshëm /opt/webhook/mirobo.sh

#Krijoni skenar autostart dhe rinovoni konfigurimet

jehonë "/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 parazgjedhje

#Rinisni sistemin

ristartoj

Pas rindezjes provoni cilësimet tuaja në shfletuesin:

192.168.your.ip: 9000/hooks/mirobo? method = find_me

metodë - komandë

param - parametra

Të gjitha metodat (komandat) dhe parametrat mund t'i gjeni këtu:

github.com/marcelrv/XiaomiRobotVacuumProtocol

Përmbajtja e grepave.json

Ndryshoni shenjën tuaj këtu në shenjën tuaj nga vakumi.

Korrigjoni listën e bardhë të ip për rrjetin tuaj lokal ose hiqeni plotësisht nëse i përdorni grepat tuaja nga diku tjetër (të pasigurt).

[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/opt/webhook", "answer-message": "Po ekzekutohet skenari mirobo "," include-command-output-in-përgjigje ": false," kalo-mjedis-në-komandë ": [{" source ":" string "," envname ":" token "," name ": "your-token-here"}], "pass-argumente-to-command": [{"source": "url", "name": "method"}, {"source": "url", "name ":" params "}]," trigger-rule ": {" ndeshje ": {" type ":" lista e bardhë e ip "," varg ip ":" 192.168.1.0/24 "}}}]

përmbajtja e skedarit mirobo.sh. Thjesht kopjoni-ngjisni. Ka vetëm dy rreshta (jo 3).

#!/bin/bashphp /opt/php-miio/miio-cli.php --ip '127.0.0.1' --bindip '127.0.0.1' --then $ token --sendcmd '{"id":' $ RANDOM ', "method": "' $ 1 '", "params": [' $ 2 ']}'

Hapi 3: Vendosni butonat Amazon Dash

Hapni aplikacionin tuaj Amazon. Shkoni te Pajisjet Dash. Shto buton të ri dash si zakonisht. Në promovimin për të zgjedhur një produkt MOS. Mbyll aplikacionin. Ju keni mbaruar.

Hapi 4: Vendosni ruterin për të kapur kërkesën dhe kontrollin e butonit MiVacuum

Vendosni ruterin për të kapur kërkesën dhe kontrollin e butonit MiVacuum
Vendosni ruterin për të kapur kërkesën dhe kontrollin e butonit MiVacuum
Vendosni ruterin për të kapur kërkesën dhe kontrollin e butonit MiVacuum
Vendosni ruterin për të kapur kërkesën dhe kontrollin e butonit MiVacuum
Vendosni ruterin për të kapur kërkesën dhe kontrollin e butonit MiVacuum
Vendosni ruterin për të kapur kërkesën dhe kontrollin e butonit MiVacuum

Kjo funksionon si më poshtë.

Kur shtypet butoni po shoqërohet me rrjetin tuaj dhe i kërkon serverit dhcp të caktojë një adresë të tij. Ne duhet ta kapim atë kërkesë dhe të kryejmë një webhook në një vakum. Si një masë sigurie shtesë ne do të bllokojmë lidhjen me Amazon në mënyrë që Amazon të mos e dijë që ne madje kemi shtypur butonin dhe nuk ka aftësi të shtyjë përditësimin e firmuerit ose diçka tjetër.

Kryesisht unë përdor WinBox, por disa herë terminali është thjesht më i lehtë.

#Krijoni rregullin e rënies së firewall me listën e adresave për t'u bllokuar

/ip filtri firewall shto zinxhirin = përpara src-address-list = veprimi i bllokimit = lësho komentin = "Hiq Amazon Dash"

Atëherë ne duhet të krijojmë një rregull dhcp qiraje për çdo buton. Shumë e lehtë për tu bërë në winbox.

Serveri DHCP - Qira

Ne shtypim butonin shfaqet qiraja e re. Ne e klikojmë atë si statik dhe vendosim listën e adresave në 'blockdash', vendosim kohën e qirasë në 5 sekonda (në mënyrë që qiraja të skadojë para shtypjes tjetër) dhe kopjojmë adresën e Mac për më vonë.

#Kjo komandë është vetëm për referencë nëse shtoni qira në winbox thjesht kaloni atë.

/ip dhcp-server qira shtoni adresën-listë = blockdash mac-address = XXXXXXXXXXX adresa = 192.168.x.x kohë me qira = 5s

Tani duhet të tregojmë për skriptin e qirasë.

Hapni skedën DHCP dhe shtoni 'myLeaseScript' si një skenar qiraje në serverin tuaj dhcp.

Tani hapni System - Scripts dhe shtoni 'myLeaseScript' me leje leximi, testimi.

Përmbajtja e myLeaseScript:

#Script shkruhet dy herë me qira (1) dhe në lëshim (0): nëse ($ leaseBound = 1) bëni = { /log info ("Po ekzekuton myLeaseScript. Dikush ka shtypur butonin Dash?")

#Shkruani të gjitha butonat dhe url -në tuaj për të telefonuar

: butonat lokal {"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" = "https://whateveryouwant.com:9000/other?argument=and_values"; };

#Kontrolloni butonin e shtypur dhe urll -in e acll

: foreach mac, url in = $ buttons do = {: if ($ mac = $ leaseActMAC) do = { /log info ("Shtypur". $ mac. "button") /vegla marr mbaj-rezultat = pa modalitet = https http-method = posto url = $ url}}}

Tani ju keni automatizuar pastrimin tuaj në një shtypje të butonit Amazon Dash. Argëtohu

Ju lutemi kushtojini vëmendje: veryshtë shumë e pasigurt të dërgoni bashkues të uebit të pakriptuar. Webhook mund të përdorë kriptimin, por sidoqoftë unë u përpoqa ta bëj të funksionojë thjesht nuk ndodhi. Meqenëse e përdor vetëm në rrjetin tim lokal, nuk jam shumë i shqetësuar. Por nëse dëshironi ta përdorni përmes internetit për t'u lidhur me IFTTT me integrimin e Asistentit Google, ju lutemi kushtojini vëmendje këtij fakti! Nuk jam i sigurt se cila ishte arsyeja e një dështimi të kriptove në rastin tim. Çertifikatat e nënshkruara me veten me të cilat jam lëshuar nga letsencrypt. Rrjet i tepërt i komplikuar me një bandë të NAT -ve I rrahur me ipv6. Por më duket se lidhjet e uebit funksionojnë shumë keq me certifikatat dhe në fakt janë dokumentuar shumë keq. Dhe duket se IFTTT nuk punon me ipv6. Unë provova gjithçka që munda, por dështova. Ju mund të keni një fat më të mirë. Mos harroni të bëni një postim.

Upd: Unë kam një ide se si ta bëj atë më të sigurt pa kriptim. Ju krijoni disa skripte për çdo veprim që dëshironi të kryeni. Ju modifikoni mirobo.sh për të thirrur skriptin me parametrin e dhënë të dërguar në webhook p.sh. dhoma_e pastër. Kjo eshte. Personi më i madh që do të shfrytëzojë grepin është të pastrojë dhomën tuaj të gjumit përsëri dhe përsëri …)) Pasi ta bëj këtë, unë do të azhurnoj të udhëzueshmen

Hapi 5: Si të vizatoni hartën tuaj

Si të hartoni hartën tuaj
Si të hartoni hartën tuaj

Pasi të keni gati hartën tuaj të plotë në aplikacionin tuaj MiHome dërgoni vakumin tuaj në një vend të caktuar përmes komandës 'app_goto'.

Bëni një pamje të ekranit të hartës së plotë me pozicionin e dërguar dhe bazën. Pika bazë pas rindezjes së vakumit është pozicioni [25500, 25500] KJO NUK THESHT Pozicioni i Bazës së Ngarkimit, por nëse e rindizni vakumin në bazën e karikimit atëherë pozicioni i bazës së karikimit do të jetë 25500, 25500. Pra, nga pozicioni i njohur i dërguar dhe pozicionin bazë ju mund të vizatoni hartën tuaj në çdo program CAD me pamjen e ekranit që keni marrë. Kam përdorur QCAD falas.

Pas vendosjes së imazhit në rrjet unë përdor një vijë nëpër dhomë për të matur pikën e fillimit dhe mbarimit të zonës.

Recommended: