Mündəricat:

XiaoMi Vakum + Amazon Button = Tire Təmizləmə: 5 Addım (Şəkillərlə)
XiaoMi Vakum + Amazon Button = Tire Təmizləmə: 5 Addım (Şəkillərlə)

Video: XiaoMi Vakum + Amazon Button = Tire Təmizləmə: 5 Addım (Şəkillərlə)

Video: XiaoMi Vakum + Amazon Button = Tire Təmizləmə: 5 Addım (Şəkillərlə)
Video: 4 nömrəli bir avtomobil sahibi üçün əlverişli olacaq Aliexpress -dən 40 faydalı avtomobil məhsulları 2024, Noyabr
Anonim
XiaoMi Vakum + Amazon Button = Tire Təmizləmə
XiaoMi Vakum + Amazon Button = Tire Təmizləmə

Bu təlimat ehtiyat Amazon Dash Düymələrinizi XiaoMi Vakumunu İdarə etmək üçün necə istifadə edəcəyinizi izah edəcək.

1 dollarlıq vaxtlardan başlayaraq bir çox Amazon düymələri aldım və onlardan istifadə etmədim. Ancaq yeni bir Robot Vakum alarkən, bu düymələri vakuum üçün bir nəzarət olaraq istifadə etməyin çox rahat olacağına qərar verdim.

Ziploc düyməsini basın və yataq otağını boşaltın.

Glad düyməsini basın və oturma otağını boşaltın.

Fici düyməsini basın.. fikriniz var.

Bu layihədə internetdən bir çox hack var. Bir çox insanın gördüyü işi həqiqətən yüksək qiymətləndirirəm və araşdırmalarına əsaslanaraq kiçik ziddiyyətimi bölüşmək məcburiyyətində olduğumu düşünürəm.

İmtina: Aşağıdakı bütün addımlar öz riskiniz altında edilir! Adımlara diqqətlə əməl etsəniz, bir şeyə zərər verə biləcəyiniz ehtimalı çox azdır. Amma belə olmaz! Və heç bir məsuliyyət daşımıram. BTW bütün addımları geri qaytarıla bilər, buna görə heç bir zəmanət pozuntusu yoxdur. Ancaq əlbəttə - YMMV

Əsas prinsip, marşrutlaşdırıcının üzərindəki tire düyməsini basmağımız və Amazon -dan məhsul almaq əvəzinə Vacuum -a webhook göndərməyimizdir.

Nə lazımdır:

  • DHCP -ni idarə edə bilən, skriptləri işlədə bilən və get | post sorğularını yerinə yetirən xüsusi proqram təminatı olan yönləndirici. Mikrotik, DD-WRT, OpenWRT, Pomidor və s.
  • XiaoMi Vakuum. v1 və ya v2
  • Amazon Dash Düymələri

Xüsusilə istifadə etdiyim şey:

  • Mikrotik
  • XiaoMi v2 Vakuum Roborock S50
  • Amazon Dash Butonlarının dəstəsi

Budur prosedur

  1. Vakumu kökləyirik
  2. Vakuumda kök altında lazımi paketləri quraşdırın və konfiqurasiya edin
  3. Amazon Dash düyməsini qurun
  4. Düymə tələbini tutmaq və Vakumu idarə etmək üçün Router qurun

NB: Əslində onu idarə etmək üçün boşluğunuzu kök salmağa ehtiyac yoxdur. Dilinizdə (və ya hər hansı bir yerdə) python və ya php işlədə bilən başqa bir serveriniz varsa, onlara webhookları yönləndirə bilərsiniz. Amma etmirəm. Vakumun üzərində səliqəli və yığcam saxlamaq istədim. Mənim yanaşmamı sevmirsinizsə, bu oxuduqdan sonra orta adam serverinizi necə quracağınızı anlaya biləcəyinizi düşünürəm. Sadəcə 2 -ci nöqtəyə keçin.

Tamam bura gedirik…

Addım 1: Token və Kök Vakuum əldə edin

Token və Kök Vakumunu əldə edin
Token və Kök Vakumunu əldə edin
Token və Kök Vakumunu əldə edin
Token və Kök Vakumunu əldə edin
Token və Kök Vakumunu əldə edin
Token və Kök Vakumunu əldə edin
Token və Kök Vakumunu əldə edin
Token və Kök Vakumunu əldə edin

Bütün proqram təminatı, proqram təminatı və kökləmə təlimatı: https://4pda.ru/forum/index.php? Showtopic = 881982

Windows -dan başqa bir OS və Android -dən başqa bir telefonunuz varsa (nox ilə virtual istifadə edə bilərsiniz), yuxarıdakı linki izləyin (Google Translate -dən istifadə edin) və təlimatları oxuyun, əks halda təlimatı buradan oxuyun.

Köklənmək üçün vakuumunuzdan ip ünvanı və token almalıyıq.

7.7 kökünü açın.

Zəhmət olmasa Android -də Vevs -dən Mihome qurun. Arxivdən birini istifadə edə bilərsiniz və ya bu təlimat tarixlidirsə, son versiyasını onun veb saytından (https://www.kapiba.ru/2017/11/mi-home.html) və ya Google Diskindən (https://drive.google.com/drive/folders/1IyjvIWiGaeD7iLWWtBlb6jSEHTLg9XGj)

MiHome -a daxil olun. Hesabınıza China Mainland qurmalı və ona Vakuum əlavə etməlisiniz).

Vakuum simvolu Ayarlarına (yuxarı sağdakı üç nöqtə) vurun Ümumi Ayarlar Şəbəkə məlumatı

Win-mirobo/win-mirobo.ini-də ip ünvanını və işarəni daxil edin

Pəncərələrdəki təhlükəsizlik divarını deaktiv edin. Win-mirobo.bat proqramını işə salın və firmware proqramını yandırın.

!!!!!!!!! V1 v1 Vacuum üçün, V2 isə V2 Vacuum (Roborock S50) üçündür !!!!!!! Səhv FW yandırmısınızsa - 4pda linkinə keçin (bu addımda ilk) və necə bərpa olunacağını oxuyun.

Arter Vacuum reboots - vakuumunuzu uğurla kökləndirdiniz və indi ssh vasitəsi ilə əldə edə bilərsiniz!

Təmizləyici/təmizləyici ilə SSH (Putty ilə). Şifrənizi passwd ilə dəyişdirin

Addım 2: Vakuumda Kök Altında Lazımi Paketləri Qurun və Konfiqurasiya edin

Mənzil

MiVacuum webhooks əvəzinə, hər XiaoMi IoT cihazı kimi miio protokolundan istifadə edir. Buna görə webhookları başa düşmək üçün bunu öyrənməliyik. Webhook tuta bilən və onu miio protokoluna cihaza çevirə bilən orta adam lazımdır. Python kitabxanası var (https://github.com/rytilahti/python-miio), lakin Vakumda Python 3.5+ üçün kifayət qədər yer olmadığı üçün vakuumda istifadə edə bilmərik.

Ancaq şükürlər olsun ki, nisbətən çox yüngül olan bir php-miio kitabxanası var (https://github.com/skysilver-lab/php-miio) və istifadə edəcəyimiz budur (btw yuxarıdakı win-miroboda da istifadə olunur)). Veb kancasını tutan, gələn webhookda php üçün skript işlədən webhook daemonudur (https://github.com/adnanh/webhook).

Vakuumunuza SSH (Putty ilə):

#Kök altında edin. Bəli, təhlükəsiz olmadığını bilirəm.. whatevs.sudo su #Burada biz bütün ehtiyacları apt-get install -y wget php5-cli nano qururuq #Qalan hər şey /cd /opt olacaq

#Php-miio yükləyin

#Github -da ən son xəbərləri yoxlayın. Ən son 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- görə aşağıdakı xətləri düzəldin. miio-v.0.2.6 php-miio rm -f v.0.2.6.tar.gz

#Webhooks daemonunu yükləyin

#Github -da ən son xəbərləri yoxlayın. Ən son wget https://github.com/adnanh/webhook/releases/download/2.6.8/webhook-linux-arm.tar.gz tar -xzvf webhook-linux-arm.tar.gz mv-ə əsasən aşağıdakı xətti düzəldin. webhook-linux-arm webhook rm -f webhook-linux-arm.tar.gz

#Webhook üçün parametrlər yaradın

nano /opt/webhook/hooks.json #Burada hooks.json məzmununu daxil edin. Macun içərisində sağ basın. #Ctr+X Y saxla.

#Php-miio-ya zəng etmək üçün skript yaradın

nano /opt/webhook/mirobo.sh #Mirobo.sh məzmununu bura daxil edin. Macun içərisində sağ basın. # Ctr +X Save Y. # İcra edilə bilən chmod +x /opt/webhook/mirobo.sh edin

#Avtomatik başlatma skriptini yaradın və konfiqurasiyaları yeniləyin

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 standartları

#Sistemi yenidən başladın

yenidən başladın

Yenidən başladıqdan sonra brauzerdə parametrlərinizi sınayın:

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

üsul - əmr

parametrlər - parametrlər

Burada tapa biləcəyiniz bütün üsullar (əmrlər) və parametrlər:

github.com/marcelrv/XiaomiRobotVacuumProtocol

Kancaların məzmunu. Json

Buradakı işarənizi vakuumdan olan tokeninizə dəyişdirin.

Yerli şəbəkəniz üçün ip-ağ siyahısını düzəldin və ya çəngəllərinizi başqa yerdən idarə edirsinizsə (təhlükəli) tamamilə silin.

[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/opt/webhook", "response-message": "İcra olunur mirobo script "," include-command-output-in-response ": false," pass-environment-to-command ": [{" source ":" string "," envname ":" token "," name ": "your-token-here"}], "command-to-pass": [{"source": "url", "name": "method"}, {"source": "url", "name" ":" params "}]," trigger-rule ": {" match ": {" type ":" ip-whitelist "," ip-range ":" 192.168.1.0/24 "}}}}]

mirobo.sh fayl məzmunu. Yalnız kopyalayın-yapışdırın. Yalnız iki xətt var (3 deyil).

#!/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 ']}'

Addım 3: Amazon Dash Düymələrini Qurun

Amazon Tətbiqinizi açın. Dash Cihazlarına gedin. Həmişə olduğu kimi yeni tire düyməsini əlavə edin. Bir məhsul seçmək üçün promo etməyin. Tətbiqi bağlayın. Bitirdin

Addım 4: MiVacuum düyməsini istəmək və nəzarət etmək üçün marşrutlaşdırıcı qurun

Düymə İstəyini Tutmaq və MiVacuum İdarə etmək üçün Router qurun
Düymə İstəyini Tutmaq və MiVacuum İdarə etmək üçün Router qurun
Düymə İstəyini Tutmaq və MiVacuum İdarə etmək üçün Router qurun
Düymə İstəyini Tutmaq və MiVacuum İdarə etmək üçün Router qurun
Düymə İstəyini Tutmaq və MiVacuum İdarə etmək üçün Router qurun
Düymə İstəyini Tutmaq və MiVacuum İdarə etmək üçün Router qurun

Bu aşağıdakı kimi işləyir.

Düymə basıldıqda, şəbəkənizlə əlaqələndirilir və dhcp serverindən bir ünvan təyin etməsini xahiş edir. Bu istəyi tutmalı və bir boşluq üçün bir webhook etməliyik. Əlavə bir təhlükəsizlik tədbiri olaraq Amazon ilə əlaqəni kəsəcəyik ki, Amazon düyməni basdığımızı bilməsin və firmware yeniləməsini və ya başqa bir şeyi basmaq qabiliyyətimiz yoxdur.

Çox vaxt mən WinBox -dan istifadə edirəm, amma bəzi vaxtlarda terminal daha asandır.

#Bloklamaq üçün ünvan siyahısı ilə təhlükəsizlik duvarı açma qaydası yaradın

/ip firewall filtri əlavə et zəncir = irəli src-address-list = blockdash hərəkəti = şərh burax = "Amazon Dashini burax"

Sonra hər düymə üçün bir dhcp icarə qaydası yaratmalıyıq. Winbox -da bunu etmək çox asandır.

DHCP Server - İcarə

Düyməni basaraq yeni kirayə verilir. Statik olaraq tıklayırıq və ünvan siyahısını 'blockdash' olaraq təyin edirik, icarə müddətini 5 saniyəyə qoyuruq (kirayə sonrakı mətbuatdan əvvəl bitər) və sonra mac ünvanını kopyalayın.

#Bu komanda yalnız istinad üçündür, əgər winbox -a icarə əlavə etsəniz, atlayın.

/ip dhcp-server icarəsi ünvanı-siyahısını əlavə et = blockdash mac-ünvanı = XXXXXXXXXX ünvanı = 192.168.x.x icarə müddəti = 5s

İndi ssenarini icarəyə götürməliyik.

DHCP sekmesini açın və dhcp serverinizə icarə skripti olaraq 'myLeaseScript' əlavə edin.

İndi Sistem - Skriptləri açın və oxumaq, test icazələri ilə 'myLeaseScript' əlavə edin.

MyLeaseScript məzmunu:

#Script kirayədə (1) və buraxılışda (0) iki dəfə çağırılır: if ($ leaseBound = 1) do = { /log info ("myLeaseScript işlədilir. Kimsə Tire Düyməsinə basdı?")

#Zəng etmək üçün bütün düymələrinizin və urllarınızın sırası

: yerli düymələr {"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"; };

#Basılan düyməni və url -ni yoxlayın

: foreach mac, url in = $ düymələri do = {: if ($ mac = $ leaseActMAC) do = { /log info ("Basıldı". $ mac. "düyməsi") /tool fethe keep-result = no mode = https http-metod = post url = $ url}}}

İndi Amazon Dash Buttonuna basaraq təmizliyinizi avtomatlaşdırdınız. Əylənin

Zəhmət olmasa diqqət yetirin: Veb qarmaqlarını şifrəsiz göndərmək çox təhlükəlidir. Webhook şifrələmədən istifadə edə bilər, amma çalışmağa çalışdım ki, heç belə olmadı. Yalnız yerli şəbəkəmdə istifadə etdiyim üçün çox narahat deyiləm. Google Assistant inteqrasiyası ilə IFTTT -ə qoşulmaq üçün internet üzərindən istifadə etmək istəyirsinizsə, bu fakta diqqət yetirin! Mənim vəziyyətimdə kriptovalyutanın uğursuzluğunun səbəbinin nə olduğunu bilmirəm. Letsencrypt tərəfindən verdiyim öz-özünə imzalanmış sertifikatlar. IPv6 ilə döydüyüm bir çox NAT ilə çox çətin bir şəbəkə. Ancaq mənə elə gəlir ki, webhooks sertifikatlarla çox pis işləyir və əslində çox pis sənədləşdirilmişdir. Və IFTTT -nin ipv6 ilə işləmədiyi görünür. Əlimdən gələni etdim, amma bacarmadım. Daha yaxşı şansınız ola bilər. Bir yazı yazmağı unutmayın.

upd: Şifrələmədən daha təhlükəsiz etmək üçün bir fikrim var. İcra etmək istədiyiniz hər hərəkət üçün bir neçə skript yaradırsınız. Mirobo.sh -i, məsələn, webhook -da göndərilən parametr üçün skriptə zəng etmək üçün dəyişdirin. təmiz yataq otağı. Bu belədir. Çəngəldən istifadə edən ən çox adam, yataq otağınızı təkrar -təkrar təmizləməkdir …)) Bunu etdikdən sonra təlimatı yeniləyəcəyəm

Addım 5: Xəritənizi necə düzəltmək olar

Xəritənizi necə qurmaq olar
Xəritənizi necə qurmaq olar

Tam xəritənizi MiHome tətbiqinizdə hazırladıqdan sonra vakuumunuzu 'app_goto' əmri ilə müəyyən bir yerə göndərin.

Göndərilən mövqe və baza ilə tam xəritənin ekran görüntüsünü yaradın. Vakuum yenidən başladıqdan sonra baza nöqtəsi mövqedir [25500, 25500] BU ŞARJ BAZININ MÖVQESİ DEYİL, ancaq vakuumu şarj bazasında yenidən işə salırsınızsa, şarj bazasının mövqeyi 25500, 25500 olacaq. Beləliklə, məlum mövqedən göndərildi və çəkdiyiniz ekran görüntüsü ilə xəritənizi hər hansı bir CAD proqramında qura bilərsiniz. Pulsuz QCAD istifadə etdim.

Şəkili şəbəkəyə bağladıqdan sonra zonanın başlanğıc və bitiş nöqtəsini ölçmək üçün otaq boyunca bir xətt istifadə edirəm.

Tövsiyə: