INHOUDSOPGAWE:
- Stap 1: Verkry die teken- en wortelstofsuig
- Stap 2: Installeer en konfigureer die nodige verpakkings onder die wortel op vakuum
- Stap 3: Stel Amazon Dash -knoppies op
- Stap 4: Stel router op om die knoppieversoek te vang en MiVacuum te beheer
- Stap 5: Hoe om u kaart op te stel
Video: XiaoMi Vacuum + Amazon Button = Dash Cleaning: 5 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Hierdie instruksie sal verduidelik hoe u u ekstra Amazon Dash -knoppies kan gebruik om XiaoMi -vakuum te beheer.
Ek het 'n klomp Amazon -knoppies gelê vanaf die tyd dat dit $ 1 was, en ek het dit nie gebruik nie. Maar by die ontvangs van 'n nuwe Robot Vacuum het ek besluit dat dit baie handig sou wees om hierdie knoppies as 'n bedieningselement vir die vakuum te gebruik.
Druk die Ziploc -knoppie en die stofsuig die slaapkamer.
Druk die Glad -knoppie en die stofsuig sal die stofsuig stofsuig.
Druk Fiji.. wel, jy het die idee.
In hierdie projek word daar baie hacks van die internet ingesluit. Ek waardeer die werk wat soveel mense gedoen het, en ek dink ek moet my klein dingetjie op grond van hul navorsing deel.
Vrywaring: U stap op u eie risiko hier onder! As u die stappe noukeurig volg, is die kans baie min dat u iets kan beskadig. Maar dit gebeur nie! En ek neem geen verantwoordelikheid daarvoor nie. Alle stappe kan omgekeer word, sodat daar geen waarborgskending is nie. Maar natuurlik - YMMV
Die basiese beginsel is dat ons die drukknoppie op die router druk en die webhook na Vacuum stuur in plaas van om dinge by Amazon te koop.
Wat u benodig:
- Router met pasgemaakte firmware wat DHCP kan beheer, skrifte kan uitvoer en navraag kan ontvang. Mikrotik, DD-WRT, OpenWRT, Tamatie, ens.
- XiaoMi -vakuum. v1 of v2
- Amazon Dash -knoppies
Spesifiek wat ek gebruik het:
- Mikrotik
- XiaoMi v2 Vakuum Roborock S50
- 'N Klomp Amazon Dash -knoppies
Hier is die prosedure
- Ons wortel vakuum
- Installeer en konfigureer die nodige pakkette onder die wortel op vakuum
- Stel die Amazon Dash -knoppie op
- Stel router op om die knoppieversoek op te vang en vakuum te beheer
NB: U hoef nie u vakuum te ontwrig om dit te beheer nie. As u 'n ander bediener op u lan (of waar ook al) het wat python of php kan gebruik, kan u webhooks daaraan rig. Maar ek doen nie. En ek wou dit netjies en kompak hou op die vakuum self. As u dus nie van my benadering hou nie, neem ek aan dat u uit hierdie lees kan agterkom hoe u u eie middelman -bediener kan opstel. Gaan net reguit na punt 2.
Ok hier gaan ons…
Stap 1: Verkry die teken- en wortelstofsuig
Alle sagteware, fimware en instruksies vir die roei is verkry van: https://4pda.ru/forum/index.php? Showtopic = 881982
As u 'n ander bedryfstelsel as Windows het en 'n ander telefoon as Android (u kan virtuele met nox gebruik), volg die skakel hierbo (gebruik Google Translate) en lees die instruksies, anders volg die handleiding hier.
Om te wortel, moet ons 'n ip -adres en 'n teken uit u vakuum verkry.
Pak wortel uit. 7z.
Installeer Mihome van Vevs op u Android. U kan een uit die argief gebruik, of as hierdie instruksie gedateer is, kan die nuutste weergawe verkry word vanaf sy webwerf (https://www.kapiba.ru/2017/11/mi-home.html) of sy Google Drive (https://drive.google.com/drive/folders/1IyjvIWiGaeD7iLWWtBlb6jSEHTLg9XGj)
Meld aan by u MiHome. U moet die vasteland van China op u rekening instel en vakuum daarby voeg).
Tik op Vakuum -ikoon Instellings (drie kolletjies regs bo) Algemene instellings Netwerkinligting
Vul die ip-adres in en teken win-mirobo/win-mirobo.ini in
Skakel die firewall in vensters uit. Begin win-mirobo.bat en flits die firmware.
!!!!!!!!! V1 is vir v1 Vacuum en V2 is vir v2 Vacuum (Roborock S50) !!!!!!! As jy FW verkeerd geflits het - gaan na 4pda link (eers in hierdie stap) en lees hoe om te herstel.
Arter Vacuum herlaai - u het u vakuum suksesvol gewortel en nou het u toegang daartoe via ssh!
SSH daarna (met stopverf) met die skoonmaker/skoonmaker. Verander na u wagwoord met passwd
Stap 2: Installeer en konfigureer die nodige verpakkings onder die wortel op vakuum
Uitgangspunt
In plaas van webhooks gebruik MiVacuum miio -protokol, net soos elke XiaoMi IoT -toestel. Ons moet dit dus leer om webhooks te verstaan. Ons het 'n middelman nodig wat webhook kan vang en dit kan vertaal na miio -protokol na toestel. Daar is 'n python-biblioteek (https://github.com/rytilahti/python-miio), maar ons kan dit nie op die vakuum gebruik nie, aangesien daar nie genoeg ruimte vir Python 3.5+ op die vakuum is nie.
Maar gelukkig is daar 'n php-miio-biblioteek (https://github.com/skysilver-lab/php-miio) wat relatief baie lig is, en dit is wat ons sal gebruik (btw dit word ook hierbo in win-mirobo gebruik). Die een wat die webhook vang, is webhook daemon (https://github.com/adnanh/webhook) wat die script vir php op inkomende webhook uitvoer.
SSH na u vakuum (met stopverf):
#Doen onder die wortel. Ja, ek weet dit is nie veilig nie..whatevs.sudo su #Hier installeer ons alle benodigdhede apt-get install -y wget php5-cli nano #Alles anders gaan /opt cd /opt
#Laai php-miio af
#Kyk na die nuutste op github. Korrekte lyne hieronder volgens die nuutste 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
#Laai webhooks -demoon af
#Kyk na die nuutste op github. Korrekte reël hieronder volgens die nuutste 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
#Skep instellings vir webhook
nano /opt/webhook/hooks.json #Invoer hooks.json -inhoud hier. Regskliek in stopverf. #Ctr+X Stoor Y.
#Skep script om php-miio te bel
nano /opt/webhook/mirobo.sh #voer mirobo.sh -inhoud hier in. Regskliek in stopverf. # Ctr +X Stoor Y. # Maak uitvoerbare chmod +x /opt/webhook/mirobo.sh
#Skep outostart -script en hernu konfigs
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 is standaard
#Herlaai die stelsel
herlaai
Toets u instellings in die blaaier na herlaai:
192.168.your.ip: 9000/hooks/mirobo? method = find_me
metode - opdrag
params - parameters
Alle metodes (opdragte) en parameters wat u hier kan vind:
github.com/marcelrv/XiaomiRobotVacuumProtocol
Inhoud van die haaks.json
Verander u-teken-hier na u teken uit vakuum.
Korrigeer die IP-witlys vir u plaaslike netwerk, of verwyder dit heeltemal as u dit van elders af gebruik (onveilig).
[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/opt/webhook", "response-message": "voer uit 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 -lêerinhoud. Kopieer en plak net. Daar is slegs twee reëls (nie 3 nie).
#!/bin/bashphp /opt/php-miio/miio-cli.php --ip '127.0.0.1' --bindip '127.0.0.1'-teken $ token --sendcmd '{"id":' $ RANDOM ', "method": "' $ 1 '", "params": [' $ 2 ']}'
Stap 3: Stel Amazon Dash -knoppies op
Maak u Amazon -app oop. Gaan na Dash Devices. Voeg soos gewoonlik 'n nuwe knoppie by. Moenie die produk kies nie. Maak die app toe. Jy is klaar.
Stap 4: Stel router op om die knoppieversoek te vang en MiVacuum te beheer
Dit werk soos volg.
As u op die knoppie druk, verbind dit met u netwerk en vra die dhcp -bediener om 'n IT -adres toe te ken. Ons moet die versoek beantwoord en 'n webhook tot 'n vakuum bring. As 'n bykomende veiligheidsmaatreël sal ons die verbinding met Amazon blokkeer, sodat Amazon nie sou weet dat ons selfs op die knoppie gedruk het nie en geen firmware -opdatering of iets anders kon druk nie.
Ek gebruik meestal WinBox, maar soms is terminaal net makliker.
#Skep 'n firewall -reël met die adreslys om te blokkeer
/ip firewall filter add chain = forward src-address-list = blockdash action = drop comment = "Drop Amazon Dash"
Dan moet ons 'n dhcp -huurreël vir elke knoppie skep. Baie maklik om te doen in winbox.
DHCP -bediener - huurkontrakte
As ons op die knoppie druk, verskyn die nuwe huurkontrak. Ons klik daarop as staties en stel die adreslys op 'blockdash', stel die huurtyd op 5 sekondes (sodat die huurkontrak verstryk voor die volgende pers) en kopieer die mac -adres vir later.
#Hierdie opdrag is slegs vir verwysing as u huurkontrak in winbox bygevoeg het, slaan dit net oor.
/ip dhcp-server lease add address-list = blockdash mac-address = XXXXXXXXXX address = 192.168.x.x lease-time = 5s
Nou moet ons daarop wys om die script te huur.
Maak die DHCP -oortjie oop en voeg 'myLeaseScript' by as 'n huurkontrak op u DHCP -bediener.
Maak nou System - Scripts oop en voeg 'myLeaseScript' by met lees-, toetstoestemmings.
Inhoud van myLeaseScript:
#Script word twee keer genoem tydens huurkontrak (1) en by vrystelling (0): as ($ leaseBound = 1) do = { /log info ("MyLeaseScript uitvoer. Het iemand Dash Button gedruk?")
#Versameling van al u knoppies en url om te bel
: plaaslike knoppies {"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"; };
#Kontroleer die ingedrukte knoppie en die URL
: 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}}}
Nou het u u skoonmaak op 'n pers van die Amazon Dash Button geoutomatiseer. Hê pret
Let op: dit is baie onveilig om webhooks ongekodeerd te stuur. Webhook kan kodering gebruik, maar ek het probeer om dit te laat werk, maar dit het nooit gebeur nie. Omdat ek dit net in my plaaslike netwerk gebruik, is ek nie te bekommerd nie. Maar as u dit via die internet wil gebruik om aan te sluit by IFTTT met integrasie van Google Assistant, let dan op hierdie feit! Ek is nie seker wat die rede was vir 'n kripto -mislukking in my geval nie. Selfsondertekende sertifikate waarmee ek geslaan het, uitgereik deur letsencrypt. Oorgekompliseerde netwerk met 'n klomp NAT's wat ek met ipv6 geslaan het. Maar dit lyk vir my asof webhooks baie sleg werk met sertifikate en eintlik baie swak gedokumenteer is. En dit lyk asof IFTTT nie met ipv6 werk nie. Ek het alles probeer wat ek kon, maar het misluk. U het dalk 'n beter geluk. Moenie vergeet om 'n pos te maak nie.
upd: ek het 'n idee hoe ek dit veiliger kan maak sonder enkripsie. U maak 'n paar skrifte vir elke aksie wat u wil uitvoer. U verander die mirobo.sh om die script te noem met die gegewe parameter wat in webhook gestuur word, bv. skoon_slaapkamer. Dis dit. Die meeste persoon wat die haak gebruik, is om u slaapkamer weer en weer skoon te maak …)) Sodra ek dit gedoen het, sal ek die instruksies opdateer
Stap 5: Hoe om u kaart op te stel
Sodra u u volledige kaart in u MiHome -app gereed het, stuur u u vakuum na 'n spesifieke plek via die 'app_goto' -opdrag.
Maak 'n skermkiekie van die volledige kaart met die pos gestuur en die basis. Die basispunt na herlaai van die vakuum is die posisie [25500, 25500] DIT IS NIE DIE POSITIE VAN LADINGSBASIS NIE, maar as u die vakuum op die laaibasis herlaai, sal die laaibasis se posisie 25500, 25500 wees. en basiese posisie, kan u u kaart op enige CAD -program teken met die kiekie wat u geneem het. Ek het gratis QCAD gebruik.
Nadat ek die prent op die rooster gepas het, gebruik ek 'n lyn oor die kamer om die begin- en eindpunt van die sone te meet.
Aanbeveel:
Draadlose deurklokkie - (Framboos PI en Amazon Dash): 4 stappe (met foto's)
Draadlose deurklokkie - (Framboos PI en Amazon Dash): wat doen dit? (sien video) As die knoppie ingedruk word, ontdek Framboos dat nuwe toestelle op die draadlose netwerk aangemeld word. Op hierdie manier kan dit die knoppie herken wat ingedruk word en die inligting oor hierdie feit aan u selfoon (of 'n toestel van u
Amazon Dash Button Silent Doorbell: 10 stappe (met foto's)
Amazon Dash Button Silent Doorbell: kyk u voortdurend by die venster uit sodat u besoekers kan onderskep voordat hulle aan die deurklokkie lui? Is u moeg daarvoor dat die honde en baba mal word wanneer dit lui? Wil nie 'n fortuin spandeer op 'n " slim " 'n stille deurklokkie is soos
Slip op Amazon Fire Remote TV Remote: 3 stappe (met foto's)
Slip op Amazon Fire Remote TV Remote: O Amazon, u Fire TV is so wonderlik, waarom het u ons nie volumekontroles op u afstandsbediening gegee nie? Wel, vir minder as $ 5 op Amazon, kan u hierdie oulike klein afstandsbediening koop, krag, demp , volume en kanaal alles in 'n klein pakkie. Tik in die 3D -drukker en
Hoe om lig/huisligte te beheer met Arduino en Amazon Alexa: 16 stappe (met foto's)
Hoe om lig/huisligte te beheer met behulp van Arduino en Amazon Alexa: ek het verduidelik hoe u lig kan beheer wat aan UNO gekoppel is en deur Alexa beheer word
Eie weergawe van Amazon Echo: 8 stappe (met foto's)
Eie weergawe van Amazon Echo: Hallo ouens, ek dink almal weet van die nuutste produk van Amazon, Amazon Echo, wat 'n stembeheerde toestel is, dit wil sê ons kan die toestel met ons stem beheer en dit kan selfs met ons praat. So geïnspireer deur hierdie idee, het ek my eie weergawe geskep, wat