Kazalo:
- 1. korak: Pridobite žeton in korenski vakuum
- 2. korak: Namestite in konfigurirajte potrebne pakete pod korenom na vakuumu
- 3. korak: Nastavite gumbe Amazon Dash
- 4. korak: Nastavitev usmerjevalnika za zahtevo gumba za ulov in nadzor MiVacuum
- 5. korak: Kako narisati svoj zemljevid
Video: XiaoMi Vacuum + Amazon Button = Čiščenje armatur: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
To navodilo bo pojasnilo, kako z rezervnimi gumbi Amazon Dash upravljate vakuum XiaoMi.
Od časa, ko so stali 1 dolar, sem naletel na kup Amazon gumbov in jih nisem uporabljal. Toda ob prejemu novega robotskega sesalca sem se odločil, da bi bilo zelo priročno uporabiti te gumbe kot nadzor nad vakuumom.
Pritisnite gumb Ziploc in sesalnik bo spalnico.
Pritisnite gumb Veselo in sesal bo dnevno sobo.
Pritisnite Fidži.. pa imate idejo.
V ta projekt je vključenih veliko kramp z interneta. Resnično cenim delo, ki ga je toliko ljudi opravilo, in mislim, da moram deliti svojo majhno pripomoček na podlagi njihovih raziskav.
Izjava o omejitvi odgovornosti: Vse spodnje korake delate na lastno odgovornost! Če natančno sledite korakom, obstaja zelo majhna možnost, da bi kaj poškodovali. Ampak sh#t se zgodi! In za to ne prevzemam nobene odgovornosti. Mimogrede, vse korake je mogoče obrniti, zato potencialno ni kršitve garancije. Ampak seveda - YMMV
Osnovno načelo je, da na usmerjevalniku ujamemo pritisk tipke armaturke in pošljemo webhook v Vacuum, namesto da kupujemo stvari pri Amazonu.
Kaj boste potrebovali:
- Usmerjevalnik z vdelano programsko opremo po meri, ki lahko nadzoruje DHCP, izvaja skripte in izpolnjuje poizvedbe get | post. Mikrotik, DD-WRT, OpenWRT, paradižnik itd.
- XiaoMi vakuum. v1 ali v2
- Amazon Dash gumbi
Natančneje, kaj sem uporabil:
- Mikrotik
- XiaoMi v2 vakuumski Roborock S50
- Nekaj gumbov Amazon Dash
Tukaj je postopek
- Korenimo vakuum
- Namestite in konfigurirajte potrebne pakete pod korenom v vakuumu
- Gumb za nastavitev Amazon Dash
- Nastavite usmerjevalnik, da ujamete zahtevo gumba in nadzirate vakuum
Opomba: Pravzaprav vam ni treba izkoreniniti vakuuma, da ga nadzirate. Če imate na svojem omrežju (ali kjer koli) kateri koli drug strežnik, ki lahko izvaja python ali php, lahko nanje usmerite spletne klepetalnice. Ampak jaz ne. In želel sem, da je na samem vakuumu urejen in kompakten. Torej, če vam moj pristop ni všeč, predvidevam, da lahko iz tega branja ugotovite, kako nastaviti svoj lastni strežnik posrednikov. Pojdite naravnost na točko 2.
Ok, gremo…
1. korak: Pridobite žeton in korenski vakuum
Vsa programska oprema, programska oprema in navodila za ukoreninjenje so bili pridobljeni s spletnega mesta: https://4pda.ru/forum/index.php? Showtopic = 881982
Če imate OS, ki ni Windows, in telefon, ki ni Android (lahko uporabite virtualno z nox), sledite zgornji povezavi (uporabite Google Translate) in preberite navodila, sicer sledite navodilom tukaj.
Za ukoreninjenje moramo pridobiti naslov ip in žeton iz vašega vakuuma.
Odpakirajte root.7z.
Prosimo, namestite Mihome iz Vevsa v svoj Android. Lahko uporabite enega iz arhiva ali če je to navodilo zastarelo, lahko zadnjo različico dobite na njegovem spletnem mestu (https://www.kapiba.ru/2017/11/mi-home.html) ali njegovem Google Drive (https://drive.google.com/drive/folders/1IyjvIWiGaeD7iLWWtBlb6jSEHTLg9XGj)
Prijavite se v svoj MiHome. V svojem računu morate nastaviti celinsko Kitajsko in ji dodati vakuum).
Dotaknite se ikone vakuuma Nastavitve (tri pike v zgornjem desnem kotu) Splošne nastavitve Podatki o omrežju
Vnesite naslov ip in žeton v win-mirobo/win-mirobo.ini
Onemogoči požarni zid v oknih. Zaženite win-mirobo.bat in utripajte vdelano programsko opremo.
!!!!!!!!! V1 je za v1 Vacuum, V2 pa za v2 Vacuum (Roborock S50) !!!!!!!
Arter Vacuum se znova zažene - vaš vakuum ste uspešno ukoreninili in zdaj imate dostop do njega prek ssh!
SSH (s kitom) s čistilom/čistilom. Z geslom spremenite geslo
2. korak: Namestite in konfigurirajte potrebne pakete pod korenom na vakuumu
Prostor
Namesto spletnih kljukic MiVacuum uporablja protokol miio, tako kot vse naprave XiaoMi IoT. Zato se ga moramo naučiti, da razumemo webhooks. Potrebujemo posrednika, ki lahko ujame webhook in ga prevede v protokol miio v napravo. Obstaja knjižnica python (https://github.com/rytilahti/python-miio), vendar je ne moremo uporabiti v vakuumu, saj na vakuumu ni dovolj prostora za Python 3.5+.
Na srečo obstaja knjižnica php-miio (https://github.com/skysilver-lab/php-miio), ki je razmeroma zelo lahka in to bomo uporabljali (btw se uporablja tudi v zgornjem win-mirobo). Tisti, ki ujame webhook, je demon webhook (https://github.com/adnanh/webhook), ki pri prihajajočem spletnem kljuku zažene skript za php.
SSH v vakuum (s kitom):
#Naredi pod korenom. Ja, vem, da ni varno..whatevs.sudo su #Tukaj namestimo vse potrebe apt-get install -y wget php5-cli nano #Vse ostalo bo /opt cd /opt
#Prenesite php-miio
#Preverite najnovejše na githubu. Spodaj popravite vrstice v skladu z najnovejšim 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
#Prenesite demona webhooks
#Preverite najnovejše na githubu. Spodnja pravilna vrstica v skladu z najnovejšo različico 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
#Ustvarite nastavitve za webhook
nano /opt/webhook/hooks.json #Vnesite vsebino hooks.json tukaj. Desni klik v kitu. #Ctr+X Shrani Y.
#Ustvarite skript za klic php-miio
nano /opt/webhook/mirobo.sh #Tukaj vnesite vsebino mirobo.sh. Desni klik v kitu. # Ctr +X Shrani Y. # Naredite izvedljiv chmod +x /opt/webhook/mirobo.sh
#Ustvarite skript za samodejni zagon in obnovite konfiguracije
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 privzete nastavitve webhook.sh
#Znova zaženite sistem
znova zaženite
Po ponovnem zagonu preizkusite svoje nastavitve v brskalniku:
192.168.your.ip: 9000/hooks/mirobo? method = find_me
metoda - ukaz
params - parametri
Vse metode (ukaze) in parametre najdete tukaj:
github.com/marcelrv/XiaomiRobotVacuumProtocol
Vsebina hooks.json
Tukaj spremenite svoj žeton v svoj žeton.
Popravite ip-whitelist za svoje lokalno omrežje ali ga popolnoma odstranite, če kavlje zaženete od drugod (nevarno).
[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/opt/webhook", "response-message": "Izvajanje mirobo script "," include-command-output-in-response ": false," pass-environment-to-command ": [{" vir ":" niz "," envname ":" žeton "," ime ": "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 "}}}]
vsebina datoteke mirobo.sh. Samo kopiraj-prilepi. Obstajata samo dve vrstici (ne 3).
#!/bin/bashphp /opt/php-miio/miio-cli.php --ip '127.0.0.1' --bindip '127.0.0.1' --token $ žeton --sendcmd '{"id":' $ RANDOM ', "method": "' $ 1 '", "params": [' $ 2 ']}'
3. korak: Nastavite gumbe Amazon Dash
Odprite aplikacijo Amazon. Pojdite na Dash Devices. Dodaj nov pomišljaj kot običajno. Na zahtevo za izbiro izdelka NE. Zaprite aplikacijo. Končali ste.
4. korak: Nastavitev usmerjevalnika za zahtevo gumba za ulov in nadzor MiVacuum
To deluje na naslednji način.
Ko pritisnete gumb, se poveže z vašim omrežjem in od strežnika dhcp zahteva, da mu dodeli naslov. To zahtevo moramo ujeti in izvesti webhook do vakuuma. Kot dodatni varnostni ukrep bomo blokirali povezavo z Amazonom, da Amazon ne bi vedel, da smo sploh pritisnili gumb in nima možnosti potisniti posodobitve vdelane programske opreme ali česa drugega.
Večinoma uporabljam WinBox, včasih pa je terminal preprosto lažji.
#Ustvarite pravilo spuščanja požarnega zidu s seznamom naslovov za blokiranje
/ip požarni zid filter add chain = forward src-address-list = blockdash action = drop comment = "Drop Amazon Dash"
Nato moramo za vsak gumb ustvariti pravilo zakupa dhcp. Zelo enostavno narediti v winboxu.
Strežnik DHCP - najemnine
Ko pritisnemo gumb, se pojavi nov najem. Kliknemo jo kot statično in nastavimo seznam naslovov na 'blockdash', nastavimo čas najema na 5 sekund (tako, da najem poteče pred naslednjim pritiskom) in kopiramo naslov mac za pozneje.
#Ta ukaz je samo za referenco, če ste dodali najem v winbox, ga preprosto preskočite.
/ip dhcp-server-lease add-address-list = blockdash mac-address = XXXXXXXXXX address = 192.168.x.x lease-time = 5s
Zdaj moramo opozoriti na scenarij zakupa.
Odprite zavihek DHCP in dodajte »myLeaseScript« kot skript za najem na strežniku dhcp.
Zdaj odprite System - Scripts in dodajte »myLeaseScript« z dovoljenji za branje, preizkušanje.
Vsebina myLeaseScript:
#Script se dvakrat pokliče pri zakupu (1) in pri izdaji (0): if ($ leaseBound = 1) do = { /log info ("Running myLeaseScript. Ali je kdo pritisnil tipko Dash?")
#Polje vseh vaših gumbov in url za klic
: lokalni gumbi {"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"; };
#Preverite pritisnjen gumb in URL za dostop
: foreach mac, url in = $ button do = {: if ($ mac = $ leaseActMAC) do = { /log info ("Pritisnjeno". $ mac. "button") /orodje za pridobivanje keep-result = brez načina = https http-method = url objave = $ url}}}
Zdaj ste avtomatizirali čiščenje s pritiskom na gumb Amazon Dash. Zabavaj se
Prosimo, bodite pozorni: pošiljanje spletnih klicev nešifrirano je zelo nevarno. Webhook lahko uporablja šifriranje, vendar sem se trudil, da bi to delovalo, vendar se to nikoli ni zgodilo. Ker ga uporabljam samo v svojem lokalnem omrežju, me ne skrbi preveč. Če pa ga želite uporabiti prek interneta za povezavo z IFTTT z integracijo Pomočnika Google, bodite pozorni na to dejstvo! Nisem prepričan, kaj je bil v mojem primeru kripto napaka. Samopodpisana potrdila, ki sem jih premagal, ki jih je izdal letsencrypt. Prezapleteno omrežje s kopico NAT -jev sem premagal z ipv6. Vendar se mi zdi, da webhooks zelo slabo deluje s certifikati in je v resnici zelo slabo dokumentiran. Videti je, da IFTTT ne deluje z ipv6. Poskusil sem vse, kar sem mogel, a mi ni uspelo. Morda boste imeli več sreče. Ne pozabite objaviti objave.
upd: Imam idejo, kako to narediti bolj varno brez šifriranja. Za vsako dejanje, ki ga želite izvesti, ustvarite nekaj skriptov. Mirobo.sh spremenite tako, da pokliče skript z danim parametrom, poslanim v webhook, npr. čista_posteljna soba. To je to. Večina ljudi, ki bo izkoristil trnek, bo vedno znova čistil vašo spalnico …)) Ko bom to naredil, bom posodobil navodila
5. korak: Kako narisati svoj zemljevid
Ko v aplikaciji MiHome pripravite celoten zemljevid, pošljite vakuum na določeno lokacijo z ukazom 'app_goto'.
Naredite posnetek zaslona celotnega zemljevida s poslanim položajem in bazo. Osnovna točka po ponovnem zagonu vakuuma je položaj [25500, 25500] TO NI POLOŽAJ POLNILNE BAZE, če pa znova zaženete vakuum na polnilni bazi, bo položaj polnilne baze 25500, 25500. Torej iz znanega položaja poslano in osnovni položaj, lahko zemljevid narišete v kateri koli program za CAD s posnetkom zaslona. Uporabil sem brezplačen QCAD.
Po namestitvi slike na mrežo uporabim črto po sobi za merjenje začetne in končne točke cone.
Priporočena:
Tihi zvonec pri gumbu Amazon Dash Button: 10 korakov (s slikami)
Amazon Dash Button Tihi zvonec: Nenehno gledate skozi okno, tako da lahko prestrežete obiskovalce, preden pozvonijo na vrata? Ste naveličani, da bi psi in otrok zmešali, kadar koli zazvoni? Ne želim zapraviti bogastva za " pametnega " rešitev? Ustvarjanje tihega zvonjenja na vratih je
Kako nadzorovati svetlobo/domače luči z Arduinom in Amazon Alexa: 16 korakov (s slikami)
Kako nadzorovati svetlobo/domače luči z Arduinom in Amazon Alexa: Pojasnil sem, kako nadzorovati svetlobo, ki je povezana z UNO in jo upravlja Alexa
Lastna različica Amazon Echo: 8 korakov (s slikami)
Lastna različica programa Amazon Echo: Pozdravljeni, mislim, da vsi vedo za najnovejši amazonski izdelek Amazon Echo, ki je glasovno nadzorovana naprava, to pomeni, da lahko napravo upravljamo z glasom in se lahko celo pogovarja z nami. Tako navdihnjen s to idejo sem ustvaril svojo različico, ki lahko
IR daljinski upravljalnik Amazon Echo, 11 korakov (s slikami)
IR daljinski upravljalnik z nadzorom Amazon Echo: Sistem Amazon Echo lahko nadzoruje veliko vidikov pametnega doma, vendar se lahko pametna vtičnica samo izklopi in vklopi. Mnoge naprave se ne vklopijo takoj, ko so preprosto priključene in zahtevajo dodatne korake, na primer pritiskanje gumbov na daljinskem upravljalniku ali
Amazon Alexa - Raspberry Pi (mobilno): 5 korakov (s slikami)
Amazon Alexa - Raspberry Pi (mobilno): Dobrodošli v naši vadnici o izgradnji Amazon Alexa z uporabo Rasberry Pi. Ker ste kliknili na to vadnico, očitno veste, da je Amazon Alexa čudovit kos tehnologije v sodobni dobi. Čeprav sta nakup in izdelava dveh različnih