Satura rādītājs:
- 1. darbība: iegūstiet žetonu un sakņu vakuumu
- 2. darbība: instalējiet un konfigurējiet nepieciešamos iepakojumus zem saknes vakuumā
- 3. darbība: iestatiet Amazon domuzīmju pogas
- 4. solis: iestatiet maršrutētāju, lai pieprasītu pogu un kontrolētu MiVacuum
- 5. darbība. Kā uzzīmēt savu karti
Video: XiaoMi vakuums + Amazon poga = Dash tīrīšana: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Šajā instrukcijā tiks paskaidrots, kā izmantot rezerves Amazon Dash pogas, lai kontrolētu XiaoMi vakuumu.
Man bija ķekars Amazon pogu, kas atradās aptuveni no tiem laikiem, kad tās bija 1 ASV dolārs, un es tās nekādi neizmantoju. Bet, saņemot jaunu robotu vakuumu, es nolēmu, ka būtu ļoti ērti izmantot šīs pogas kā vakuuma vadību.
Nospiediet Ziploc pogu, un tas izsūks guļamistabu.
Nospiediet Glad pogu, un tā nosūks dzīvojamo istabu.
Nospiediet Fidži.. nu jums ir ideja.
Šajā projektā ir iekļauti daudzi hakeri no interneta. Es patiešām novērtēju tik daudzu cilvēku paveikto darbu un domāju, ka, pamatojoties uz viņu pētījumiem, man ir jādalās savā mazajā ierīcē.
Atruna: visas tālāk minētās darbības veicat uz savu risku! Ja uzmanīgi sekojat soļiem, pastāv ļoti maza iespēja, ka varat kaut ko sabojāt. Bet tas nenotiek! Un es neuzņemos nekādu atbildību par to. BTW visas darbības var mainīt, tāpēc, iespējams, nav garantijas pārkāpumu. Bet protams - YMMV
Pamatprincips ir tas, ka mēs noķeram maršrutētāja pogu ar domuzīmi un nosūta tīmekļa āķi uz vakuumu, nevis pērkam preces no Amazon.
Kas jums būs nepieciešams:
- Maršrutētājs ar pielāgotu programmaparatūru, kas var kontrolēt DHCP, palaist skriptus un izpildīt get | post vaicājumus. Mikrotik, DD-WRT, OpenWRT, tomāti utt.
- XiaoMi vakuums. v1 vai v2
- Amazon domuzīmju pogas
Konkrēti, ko es izmantoju:
- Mikrotik
- XiaoMi v2 vakuuma Roborock S50
- Amazon Dash pogu poga
Šeit ir procedūra
- Mēs sakņojam vakuumu
- Instalējiet un konfigurējiet nepieciešamās paketes zem saknes vakuumā
- Iestatiet pogu Amazon Dash
- Iestatiet maršrutētāju, lai uztvertu pogu pieprasījumu un kontrolētu vakuumu
NB: Patiesībā, lai to kontrolētu, jums nav jāizraisa vakuums. Ja jūsu tīklā (vai jebkurā vietā) ir kāds cits serveris, kas var palaist python vai php, varat viņiem novirzīt tīmekļa āķus. Bet man nav. Un es gribēju, lai tas būtu sakopts un kompakts pašā vakuumā. Tātad, ja jums nepatīk mana pieeja, es pieņemu, ka no šīs lasīšanas varat izdomāt, kā iestatīt savu vidēja līmeņa serveri. Vienkārši dodieties tieši uz 2. punktu.
Labi, ejam…
1. darbība: iegūstiet žetonu un sakņu vakuumu
Visa programmatūra, fimware un instrukcijas sakņu iegūšanai tika iegūtas no: https://4pda.ru/forum/index.php? Showtopic = 881982
Ja jums ir cita operētājsistēma, nevis Windows, un tālrunis, kas nav Android (varat izmantot virtuālo ar nox), lūdzu, sekojiet iepriekš norādītajai saitei (izmantojiet Google tulkotāju) un izlasiet norādījumus, pretējā gadījumā sekojiet rokasgrāmatai.
Lai sakņotu, mums no jūsu vakuuma jāiegūst ip adrese un marķieris.
Izsaiņojiet sakni.7z.
Lūdzu, instalējiet Mihome no Vevs savā Android ierīcē. Jūs varat izmantot vienu no arhīva vai, ja šī instrukcija ir datēta, tad jaunāko versiju var iegūt viņa vietnē (https://www.kapiba.ru/2017/11/mi-home.html) vai viņa Google diskā (https://drive.google.com/drive/folders/1IyjvIWiGaeD7iLWWtBlb6jSEHTLg9XGj)
Piesakieties savā MiHome. Jūsu kontā ir jāiestata kontinentālā Ķīna un jāpievieno tam vakuums).
Pieskarieties vakuuma ikonai Iestatījumi (trīs punkti augšējā labajā stūrī) Vispārīgie iestatījumi Tīkla informācija
Ievadiet ip adresi un marķieri win-mirobo/win-mirobo.ini
Atspējot ugunsmūri logos. Palaidiet win-mirobo.bat un palaidiet programmaparatūru.
!!!!!!!!! V1 ir paredzēts v1 vakuumam un V2 ir paredzēts v2 vakuumam (Roborock S50) !!!!!!! Ja mirgo nepareiza FW - dodieties uz saiti 4pda (vispirms šajā solī) un izlasiet, kā atgūties.
Arter Vacuum atsāknēšana - jūs esat veiksmīgi iesakņojis vakuumu un tagad jums ir piekļuve tam, izmantojot ssh!
SSH tam (ar Putty) ar tīrītāju/tīrītāju. Mainiet uz savu paroli, izmantojot passwd
2. darbība: instalējiet un konfigurējiet nepieciešamos iepakojumus zem saknes vakuumā
Priekšnoteikums
Tīmekļa āķu vietā MiVacuum izmanto miio protokolu, tāpat kā visas XiaoMi IoT ierīces. Tāpēc mums tas ir jāiemācās, lai saprastu tīmekļa āķus. Mums ir vajadzīgs vidus cilvēks, kurš var noķert tīmekļa āķi un pārvērst to miio protokolā ierīcē. Ir python bibliotēka (https://github.com/rytilahti/python-miio), taču mēs to nevaram izmantot vakuumā, jo vakuumā nav pietiekami daudz vietas Python 3.5+.
Bet par laimi ir php-miio bibliotēka (https://github.com/skysilver-lab/php-miio), kas ir salīdzinoši ļoti viegla, un to mēs arī izmantosim (btw to izmanto arī win-mirobo iepriekš)). Tas, kurš noķer tīmekļa āķi, ir webhook dēmons (https://github.com/adnanh/webhook), kurš palaiž php skriptu ienākošajā tīmekļa āķī.
SSH jūsu vakuumam (ar špakteli):
#Dari zem saknes. Jā, es zinu, ka tas nav droši..whatevs.sudo su #Šeit mēs instalējam visas nepieciešamās lietas apt-get install -y wget php5-cli nano
#Lejupielādēt php-miio
#Pārbaudiet jaunāko informāciju vietnē github. Labojiet zemāk esošās rindas saskaņā ar jaunāko 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
#Lejupielādēt webhooks dēmonu
#Pārbaudiet jaunāko informāciju vietnē github. Pareiza rindiņa zemāk saskaņā ar jaunāko 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
#Izveidojiet tīmekļa āķa iestatījumus
nano /opt/webhook/hooks.json #Ievadiet hooks.json saturu šeit. Ar peles labo pogu noklikšķiniet uz špakteles. #Ctr+X Saglabāt Y.
#Izveidojiet skriptu php-miio izsaukšanai
nano /opt/webhook/mirobo.sh #Ievadiet mirobo.sh saturu šeit. Ar peles labo pogu noklikšķiniet uz špakteles. # Ctr +X Saglabāt Y. # Padarīt izpildāmu chmod +x /opt/webhook/mirobo.sh
#Izveidojiet automātiskās palaišanas skriptu un atjaunojiet konfigurācijas
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 noklusējuma
#Pārstartējiet sistēmu
pārstartēt
Pēc pārstartēšanas pārbaudiet iestatījumus pārlūkprogrammā:
192.168.jūsu.ip: 9000/hooks/mirobo? method = find_me
metode - komanda
params - parametri
Visas metodes (komandas) un parametrus varat atrast šeit:
github.com/marcelrv/XiaomiRobotVacuumProtocol
Hooks.json saturs
Mainiet savu-žetonu-šeit uz savu marķieri no vakuuma.
Izlabojiet vietējā tīkla ip-balto sarakstu vai pilnībā noņemiet, ja palaižat āķus no citurienes (nedroši).
[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/opt/webhook", "response-message": "Izpilde mirobo script "," include-command-output-in-response ": false," pass-environment-to-command ": [{" source ":" string "," envname ":" token "," name ": "your-token-here"}], "pass-argumentus-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 faila saturs. Vienkārši kopējiet un ielīmējiet. Ir tikai divas rindiņas (nevis 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 ']}'
3. darbība: iestatiet Amazon domuzīmju pogas
Atveriet savu Amazon lietotni. Dodieties uz Dash Devices. Pievienojiet jaunu domuzīmes pogu kā parasti. Lūgumā izvēlēties produktu NEDRĪKST. Aizveriet lietotni. Tu esi pabeidzis.
4. solis: iestatiet maršrutētāju, lai pieprasītu pogu un kontrolētu MiVacuum
Tas darbojas šādi.
Nospiežot pogu, tas tiek saistīts ar jūsu tīklu un lūdz dhcp serverim piešķirt tā adresi. Mums ir jānoķer šis pieprasījums un jāizpilda tīmekļa āķis vakuumā. Kā papildu drošības līdzeklis mēs bloķēsim savienojumu ar Amazon, lai Amazon neuzzinātu, ka mēs pat nospiedām pogu, un mums nav iespējas nospiest programmaparatūras atjauninājumu vai kaut ko citu.
Pārsvarā es izmantoju WinBox, bet dažkārt terminālis ir vienkārši vienkāršāks.
#Izveidojiet ugunsmūra atmešanas noteikumu ar bloķējamo adrešu sarakstu
/ip ugunsmūra filtrs pievienot ķēdi = pārsūtīt src-address-list = blockdash action = drop comment = "Drop Amazon Dash"
Tad mums katrai pogai ir jāizveido dhcp nomas noteikums. Ļoti viegli izdarīt winbox.
DHCP serveris - noma
Nospiežot pogu, tiek parādīts jaunais nomas līgums. Mēs noklikšķinām uz tā kā statiskas un iestatām adrešu sarakstu uz “blockdash”, nomas laiku iestatām uz 5 sekundēm (lai nomas termiņš beigtos pirms nākamās nospiešanas) un nokopējam mac adresi vēlāk.
#Šī komanda ir tikai atsaucei, ja Winbox pievienojāt nomu, vienkārši izlaidiet to.
/ip dhcp-servera noma noma add address-list = blockdash mac-address = XXXXXXXXXX address = 192.168.x.x nomas laiks = 5 s
Tagad mums ir jānorāda uz nomas skriptu.
Atveriet cilni DHCP un pievienojiet “myLeaseScript” kā nomas skriptu savā dhcp serverī.
Tagad atveriet sistēmu - skriptus un pievienojiet “myLeaseScript” ar lasīšanas, pārbaudes atļaujām.
MyLeaseScript saturs:
#Script tiek izsaukts divreiz nomā (1) un izlaišanas laikā (0): ja ($ leaseBound = 1) do = { /log info ("Running myLeaseScript. Kāds nospiedis domuzīmes pogu?")
#Masīvs visu jūsu pogu un url zvanīšanai
: vietējās pogas {"XX: XX: XX: XX: XX: XX" = "https://192.168.jūsu.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"; };
#Pārbaudiet nospiesto pogu un acl URL
: foreach mac, url in = $ pogas do = {: if ($ mac = $ leaseActMAC) do = { /žurnāla informācija ("Nospiests". $ mac. "poga") /rīks ielādēt saglabāšanas rezultātu = bez režīma = https http-metode = ziņas URL = $ url}}}
Tagad jūs esat automatizējis tīrīšanu, nospiežot Amazon Dash pogu. Izklaidējieties
Lūdzu, pievērsiet uzmanību: ir ļoti nedroši sūtīt tīmekļa āķus nešifrētus. Webhook var izmantot šifrēšanu, bet tomēr es centos panākt, lai tas darbotos, tas vienkārši nenotika. Tā kā es to izmantoju tikai savā vietējā tīklā, es neesmu pārāk noraizējies. Bet, ja vēlaties to izmantot internetā, lai izveidotu savienojumu ar IFTTT ar Google palīga integrāciju, lūdzu, pievērsiet uzmanību šim faktam! Es neesmu pārliecināts, kas manā gadījumā bija iemesls šifrēšanas neveiksmei. Pašparakstīti sertifikāti, ar kuriem es uzvarēju, ir izdevuši letencrypt. Pārāk sarežģīts tīkls ar daudziem NAT, kurus es pārsitu ar ipv6. Bet man šķiet, ka tīmekļa āķi ar sertifikātiem darbojas ļoti slikti un patiesībā ir ļoti slikti dokumentēti. Un izskatās, ka IFTTT nedarbojas ar ipv6. Es centos visu iespējamo, bet neizdevās. Iespējams, jums veiksies labāk. Neaizmirstiet izveidot ziņu.
update: Man ir ideja, kā to padarīt drošāku bez šifrēšanas. Jūs izveidojat dažus skriptus katrai darbībai, kuru vēlaties veikt. Jūs maināt mirobo.sh, lai izsauktu skriptu ar norādīto parametru, kas nosūtīts tīmekļa hookā, piemēram. tīra_gulta. Tieši tā. Lielākā daļa cilvēku, kas izmanto āķi, darīs jūsu guļamistabu atkal un atkal…)) Kad es to izdarīšu, es atjaunināšu pamācību
5. darbība. Kā uzzīmēt savu karti
Kad esat sagatavojis pilnu karti savā MiHome lietotnē, nosūtiet vakuumu uz noteiktu atrašanās vietu, izmantojot komandu app_goto.
Izveidojiet pilnas kartes ekrānuzņēmumu ar nosūtīto atrašanās vietu un bāzi. Bāzes punkts pēc vakuuma atsāknēšanas ir pozīcija [25500, 25500] TĀ NAV LĪDZES BĀZES POZĪCIJA, bet, ja atsāknējat vakuumu uzlādes bāzē, tad uzlādes bāzes pozīcija būs 25500, 25500. Tātad no zināmās pozīcijas nosūtīts un bāzes pozīciju, jūs varat uzzīmēt savu karti jebkurā CAD programmā, izmantojot uzņemto ekrānuzņēmumu. Es izmantoju bezmaksas QCAD.
Pēc attēla ievietošanas režģī es izmantoju līniju pāri telpai, lai izmērītu zonas sākuma un beigu punktu.
Ieteicams:
Bezvadu durvju zvans - (Raspberry PI un Amazon Dash): 4 soļi (ar attēliem)
Bezvadu durvju zvans - (Raspberry PI un Amazon Dash): ko tas dara? (skat. video) Nospiežot pogu, Raspberry atklāj jaunu ierīču reģistrēšanu bezvadu tīklā. Tādā veidā tā var atpazīt nospiestu pogu un nodot informāciju par šo faktu jūsu mobilajam tālrunim (vai jūsu ierīcei
Amazon Dash Button Silent Doorbell: 10 soļi (ar attēliem)
Amazon Dash Button Silent Doorbell: Pastāvīga skatīšanās pa logu, lai jūs varētu pārtvert apmeklētājus, pirms viņi zvana pie durvīm? Vai esat noguris no suņu un mazuļa trakošanas, kad tas zvana? Nevēlaties tērēt bagātību " gudram " risinājums? Klusa durvju zvana izdarīšana ir tikpat
Amazon Fire Remote TV tālvadības pults: 3 soļi (ar attēliem)
Paslīdēšana uz Amazon Fire Remote TV tālvadības pulti: Ak, Amazon, jūsu Fire TV ir tik pārsteidzošs, kāpēc jūs nedevāt mums skaļuma kontroli tālvadības pultī? Nu, par mazāk nekā 5 ASV dolāriem Amazon, jūs varat iegādāties šo jauko mazo tālvadības pulti, jaudu, izslēgt skaņu , apjoms un kanāls viss nelielā iepakojumā. Ievadiet 3D printeri un
Kā kontrolēt gaismu/mājas apgaismojumu, izmantojot Arduino un Amazon Alexa: 16 soļi (ar attēliem)
Kā kontrolēt gaismu/mājas apgaismojumu, izmantojot Arduino un Amazon Alexa: Esmu paskaidrojis, kā kontrolēt gaismu, kas ir savienota ar UNO un ko kontrolē Alexa
Paša Amazon Echo versija: 8 soļi (ar attēliem)
Paša Amazon Echo versija: Sveiki, puiši, es domāju, ka visi zina par Amazon jaunāko produktu Amazon Echo, kas ir balss vadīta ierīce, t.i., mēs varam kontrolēt ierīci ar savu balsi, un tā var pat runāt ar mums. Tā iedvesmojoties no šīs idejas, esmu izveidojis savu versiju, kas var