Sisukord:

XiaoMi vaakum + Amazoni nupp = kriipsu puhastamine: 5 sammu (piltidega)
XiaoMi vaakum + Amazoni nupp = kriipsu puhastamine: 5 sammu (piltidega)

Video: XiaoMi vaakum + Amazoni nupp = kriipsu puhastamine: 5 sammu (piltidega)

Video: XiaoMi vaakum + Amazoni nupp = kriipsu puhastamine: 5 sammu (piltidega)
Video: Web Programming - Computer Science for Business Leaders 2016 2024, November
Anonim
XiaoMi vaakum + Amazoni nupp = kriipspuhastus
XiaoMi vaakum + Amazoni nupp = kriipspuhastus

Selles juhendis selgitatakse, kuidas kasutada oma varu Amazoni kriipsnuppe XiaoMi vaakumi juhtimiseks.

Mul oli hunnik Amazoni nuppe, mis olid umbes 1 dollari suurused ja ma ei kasutanud neid. Kuid uue robottolmuimeja vastuvõtmisel otsustasin, et oleks väga mugav kasutada neid nuppe vaakumi juhtimiseks.

Vajutage Ziploci nuppu ja see puhastab magamistoa tolmuimejaga.

Vajutage nuppu Glad ja see puhastab elutoa tolmuimejaga.

Vajutage Fidži.. noh, teil on idee.

Sellesse projekti on kaasatud palju Internetist pärit häkke. Ma hindan väga paljude inimeste tehtud tööd ja arvan, et pean nende uurimistöö põhjal oma väikest varustust jagama.

Vastutusest loobumine: kõik allpool toodud toimingud tehakse omal vastutusel! Kui järgite juhiseid hoolikalt, on väga väike võimalus, et võite midagi kahjustada. Aga seda ei juhtu! Ja ma ei võta selle eest mingit vastutust. BTW kõiki samme saab tagasi pöörata, nii et potentsiaalselt garantiireegleid ei esine. Aga muidugi - YMMV

Põhiprintsiip on see, et me püüame ruuteril kriipsunuppu vajutada ja saadame veebikonksu Amazonist kraami ostmise asemel vaakumisse.

Mida vajate:

  • Ruuter kohandatud püsivaraga, mis suudab juhtida DHCP -d, käivitada skripte ja täita päringuid get | post. Mikrotik, DD-WRT, OpenWRT, Tomat jne.
  • XiaoMi vaakum. v1 või v2
  • Amazoni kriipsunupud

Täpsemalt, mida ma kasutasin:

  • Mikrotik
  • XiaoMi v2 vaakum Roborock S50
  • Hulk Amazoni kriipsunuppe

Siin on protseduur

  1. Me juurime vaakumi
  2. Paigaldage ja konfigureerige vajalikud paketid vaakumis root
  3. Seadistage Amazon Dashi nupp
  4. Seadistage ruuter nuppude taotlemiseks ja vaakumi juhtimiseks

NB: Tegelikult ei pea selle juhtimiseks oma vaakumit juurima. Kui teie võrgus (või kus iganes) on mõni muu server, mis võib pythonit või php -d käitada, saate neile suunata veebihaagid. Aga ma ei tee seda. Ja ma tahtsin selle vaakumis ise korras ja kompaktsena hoida. Nii et kui teile minu lähenemine ei meeldi, siis eeldan, et saate sellest lugemisest aru saada, kuidas oma keskmehe serverit seadistada. Minge otse punkti 2.

Ok, siit me läheme…

Samm: hankige žetoon ja juurevaakum

Hankige žetoon ja juurevaakum
Hankige žetoon ja juurevaakum
Hankige žetoon ja juurevaakum
Hankige žetoon ja juurevaakum
Hankige žetoon ja juurevaakum
Hankige žetoon ja juurevaakum
Hankige žetoon ja juurevaakum
Hankige žetoon ja juurevaakum

Kogu tarkvara, fimware ja juhised juurdumiseks saadi aadressilt: https://4pda.ru/forum/index.php? Showtopic = 881982

Kui teil on muu operatsioonisüsteem kui Windows ja telefon on muu kui Android (saate virtuaalset kasutada noxiga), järgige ülaltoodud linki (kasutage Google'i tõlget) ja lugege juhiseid, vastasel juhul järgige siin olevat juhendit.

Juurimiseks peame hankima teie vaakumist IP -aadressi ja märgi.

Pakkige juur välja. 7z.

Installige Mihome Vevsist oma Androidi. Saate seda kasutada arhiivist või kui see juhis on dateeritud, saab uusima versiooni hankida tema veebisaidilt (https://www.kapiba.ru/2017/11/mi-home.html) või tema Google Drive'ist (https://drive.google.com/drive/folders/1IyjvIWiGaeD7iLWWtBlb6jSEHTLg9XGj)

Logige sisse oma MiHome'i. Peate oma kontol määrama Hiina mandriosa ja lisama sellele vaakumi).

Puudutage vaakumiikooni Seaded (kolm punkti paremas ülanurgas) Üldseaded Võrguteave

Sisestage IP-aadress ja žetoon win-mirobo/win-mirobo.ini

Keela tulemüür akendes. Käivitage win-mirobo.bat ja välgutage püsivara.

!!!!!!!!! V1 on v1 vaakum ja V2 on v2 vaakum (Roborock S50) !!!!!!! Kui vilgutasite valesti FW - minge lingile 4pda (selle sammu esimene) ja lugege, kuidas taastuda.

Arter Vacuum taaskäivitub - olete oma vaakumi edukalt juurdunud ja nüüd on teil sellele juurdepääs ssh kaudu!

SSH sellele (koos kittusega) koos puhastusvahendiga. Muutke parool salasõnaga

Samm: installige ja konfigureerige vajalikud paketid vaakumis

Eeldus

Veebikonksude asemel kasutab MiVacuum miio protokolli, nagu ka kõik XiaoMi IoT -seadmed. Seega peame veebihaakidest aru saamiseks seda õppima. Vajame keskmist meest, kes suudab veebihaaki püüda ja selle Miio protokolli seadmesse tõlkida. Pythoni raamatukogu (https://github.com/rytilahti/python-miio) on olemas, kuid me ei saa seda vaakumis kasutada, kuna vaakumis pole Python 3.5+ jaoks piisavalt ruumi.

Aga õnneks on olemas php-miio raamatukogu (https://github.com/skysilver-lab/php-miio), mis on suhteliselt kerge ja seda me ka kasutame (btw seda kasutatakse ka ülalpool win-mirobos). See, kes veebihaagi kinni püüab, on webhooki deemon (https://github.com/adnanh/webhook), kes käivitab sissetuleva veebihaagi php -skripti.

SSH teie vaakumisse (kittusega):

#Tee juure alla. Jah, ma tean, et see pole ohutu..whatevs.sudo su #Siia installime kõik vajaliku

#Laadige alla php-miio

#Kontrollige githubi uusimat. Paremad read allpool vastavalt uusimale vidinale 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

#Laadige alla veebikonksude deemon

#Kontrollige githubi uusimat. Õige rida allpool vastavalt uusimale vidinale 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

#Looge veebikonksu seaded

nano /opt/webhook/hooks.json #Sisestage siia hooks.json sisu. Paremklõpsake kitt. #Ctr+X Salvesta Y.

#Loo skript php-miio helistamiseks

nano /opt/webhook/mirobo.sh #Sisestage siia mirobo.sh sisu. Paremklõpsake kitt. # Ctr +X Salvesta Y. # Tee käivitatav chmod +x /opt/webhook/mirobo.sh

#Loo automaatse käivitamise skript ja uuenda konfiguratsioone

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 vaikeseaded

#Taaskäivitage süsteem

taaskäivitage

Pärast taaskäivitamist kontrollige oma seadeid brauseris:

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

meetod - käsk

params - parameetrid

Kõik meetodid (käsud) ja parameetrid leiate siit:

github.com/marcelrv/XiaomiRobotVacuumProtocol

Hooks.jsoni sisu

Muutke oma-token-here vaakumist oma tokeniks.

Parandage oma kohaliku võrgu ip-valge nimekiri või eemaldage see täielikult, kui kasutate oma konkse mujalt (ebaturvaline).

[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/opt/webhook", "response-message": "Käivitamine mirobo script "," include-command-output-in-response ": false," pass-environment-to-command ": [{" source ":" string "," envname ":" token "," name ": "your-token-here"}], "pass-argument-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 faili sisu. Lihtsalt kopeeri-kleebi. Seal on ainult kaks rida (mitte 3).

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

Samm: seadistage Amazoni kriipsunupud

Avage oma Amazoni rakendus. Avage Dash Devices. Lisage uus kriipsunupp nagu tavaliselt. Toote valimise viipal ÄRGE. Sulgege rakendus. Sa oled valmis.

Samm: seadistage ruuter nuppude taotlemiseks ja MiVacuum juhtimiseks

Seadistage ruuter nuppude püüdmiseks ja kontrollige MiVacuum
Seadistage ruuter nuppude püüdmiseks ja kontrollige MiVacuum
Seadistage ruuter nuppude püüdmiseks ja kontrollige MiVacuum
Seadistage ruuter nuppude püüdmiseks ja kontrollige MiVacuum
Seadistage ruuter nuppude püüdmiseks ja kontrollige MiVacuum
Seadistage ruuter nuppude püüdmiseks ja kontrollige MiVacuum

See toimib järgmiselt.

Nupu vajutamisel seostub see teie võrguga ja palub dhcp -serveril selle aadressi määrata. Peame selle taotluse kinni püüdma ja veebihaaki vaakumisse viima. Täiendava turvameetmena blokeerime ühenduse Amazoniga, et Amazon ei teaks, et me isegi nuppu vajutasime ja tal pole võimalust püsivara värskendust või midagi muud vajutada.

Enamasti kasutan WinBoxi, kuid mõnikord on terminal lihtsalt lihtsam.

#Loo blokeeritava aadressiloendiga tulemüüri languseeskiri

/ip tulemüüri filter lisab ahela = edasi src-address-list = blockdash action = drop comment = "Drop Amazon Dash"

Siis peame iga nupu jaoks looma dhcp rendireegli. Winboxis väga lihtne teha.

DHCP -server - rendib

Vajutame nuppu ja ilmub uus üürileping. Klõpsame seda staatilisena ja määrame aadressiloendiks „blockdash”, määrame rendiajaks 5 sekundit (nii et rendileping aegub enne järgmist vajutust) ja kopeerime mac -aadressi hilisemaks.

#See käsk on lihtsalt viitamiseks, kui lisasite üürilepingu Winboxi, jätke see lihtsalt vahele.

/ip dhcp-serveri rent lisage aadress-loend = blokeerimisjoon mac-aadress = XXXXXXXXXX-aadress = 192.168.x.x rendiaeg = 5 s

Nüüd peame viitama skripti rentimisele.

Avage vahekaart DHCP ja lisage oma dhcp -serverisse liisingskriptina „myLeaseScript”.

Nüüd avage Süsteem - Skriptid ja lisage lugemis- ja testimisõigustega „myLeaseScript”.

MyLeaseScripti sisu:

#Scripti kutsutakse rendilepingu (1) ja väljalaske ajal (0) kaks korda: kui ($ leaseBound = 1) do = { /log info ("MyLeaseScripti käitamine. Keegi vajutas kriipsunuppu?")

#Kõigi oma nuppude ja URL -i helistamine

: kohalikud nupud {"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/konksud/mirobo? Method = app_zoned_clean¶ms = [24000, 21500, 26100, 22900, 1]"; "ZZ: ZZ: ZZ: ZZ: ZZ: ZZ" = "https://192.168.your.ip: 9000/konksud/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"; };

#Kontrollige vajutatud nuppu ja acl URL -i

: foreach mac, url in = $ nupud do = {: if ($ mac = $ leaseActMAC) do = { /log info ("Pressitud". $ mac. "button") /tool fetch keep-result = no mode = https http-method = postituse URL = $ url}}}

Nüüd olete puhastamise automatiseerinud Amazoni kriipsunupu vajutusega. Lõbutse hästi

Pange tähele: veebihaakide krüptimata saatmine on väga ohtlik. Webhook saab kasutada krüptimist, kuid siiski püüdsin selle toimima panna, kuid seda lihtsalt ei juhtunud. Kuna ma kasutan seda lihtsalt oma kohalikus võrgus, pole ma liiga mures. Kuid kui soovite seda kasutada Interneti kaudu IFTTT -ga ühenduse loomiseks Google'i assistendi integreerimisega, pöörake sellele asjaolule tähelepanu! Ma pole kindel, mis oli minu puhul krüptõrke põhjus. Ise allkirjastatud sertifikaadid, millega mind peksti, andis välja letsencrypt. Liiga keeruline võrk koos hulga NAT -idega, mida peksin ipv6 -ga. Kuid mulle tundub, et veebihaagid töötavad sertifikaatidega väga halvasti ja tegelikult väga halvasti dokumenteeritud. Ja tundub, et IFTTT ei tööta ipv6 -ga. Proovisin kõik, mis suutsin, kuid ebaõnnestus. Teil võib olla parem õnn. Ärge unustage postitust teha.

update: mul on idee, kuidas seda krüptimata turvalisemaks muuta. Iga toimingu jaoks, mille soovite läbi viia, loote mõned skriptid. Sa muudad mirobo.sh -d, et kutsuda skripti antud parameetri jaoks, mis on saadetud veebikonksu, nt. puhas_voodi. See on kõik. Enamik inimesi, kes konksu ära kasutavad, on teie magamistuba ikka ja jälle koristada …)) Kui ma seda teen, värskendan juhendit

Samm: kuidas oma kaarti joonistada

Kuidas oma kaarti joonistada
Kuidas oma kaarti joonistada

Kui olete MiHome'i rakenduses oma täieliku kaardi valmis saanud, saatke oma vaakum käsu 'app_goto' abil kindlasse kohta.

Tehke ekraanipilt kogu kaardist koos saadetud asukoha ja alusega. Baaspunkt pärast vaakumi taaskäivitamist on asend [25500, 25500] SEE EI OLE LAADIMISALUSE SEISUKOHT, kuid kui taaskäivitate vaakumi laadimisbaasis, on laadimisaluse asukoht 25500, 25500. Nii saadeti teadaolevast asendist ja põhipositsiooni saate oma tehtud ekraanipildiga oma kaardi joonistada mis tahes CAD -programmile. Kasutasin tasuta QCAD -i.

Pärast pildi võrku paigaldamist kasutan tsooni algus- ja lõpp -punkti mõõtmiseks joont üle ruumi.

Soovitan: