Mundarija:
- 1 -qadam: Token va ildiz vakuumini oling
- 2 -qadam: Vakuumda ildiz ostida kerakli paketlarni o'rnating va sozlang
- 3 -qadam: Amazon Dash tugmalarini o'rnating
- 4 -qadam: Routerni sozlash tugmachasini so'rash va MiVacuum -ni boshqarish
- 5 -qadam: Xaritangizni qanday chizish kerak
Video: XiaoMi vakuum + Amazon tugmasi = Dash tozalash: 5 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Ushbu yo'riqnoma XiaoMi vakuumini boshqarish uchun zaxira Amazon Dash tugmalaridan qanday foydalanishni tushuntiradi.
Menda 1 dollar bo'lgan paytlarda Amazon tugmachalari bor edi va men ulardan hech qanday foyda ko'rmadim. Ammo yangi robotli vakuumni qabul qilib, men bu tugmalarni vakuumni boshqarish vositasi sifatida ishlatish juda qulay deb qaror qildim.
Ziploc tugmachasini bosing va u yotoqxonani tozalaydi.
"Glad" tugmachasini bosing, shunda yashash xonasi tozalanadi.
Fidjini bosing.. sizda bu fikr bor.
Bu loyihada Internetda ko'plab buzilishlar mavjud. Men juda ko'p odamlarning ishini juda qadrlayman va men o'z tadqiqotimga asoslanib, o'z fikrlarim bilan bo'lishishim kerak deb o'ylayman.
Ogohlantirishlar: Siz quyida keltirilgan barcha qadamlarni o'zingizning xavfingiz ostida qilasiz! Agar siz qadamlarni diqqat bilan bajarsangiz, biror narsaga zarar etkazish ehtimoli juda kam. Lekin bu sodir bo'lmaydi! Va men bunga hech qanday javobgarlikni olmayman. BTW barcha qadamlarini qaytarish mumkin, shuning uchun kafolat buzilishi mumkin emas. Lekin, albatta - YMMV
Asosiy printsip shundaki, biz yo'riqnoma ustidagi tugmachani bosamiz va Amazondan mahsulot sotib olish o'rniga veb -kukni Vakuumga yuboramiz.
Sizga nima kerak bo'ladi:
- DHCP -ni boshqaradigan, skriptlarni ishga tushiradigan va get | post so'rovlarini bajaradigan maxsus dasturiy ta'minoti bo'lgan yo'riqnoma. Mikrotik, DD-WRT, OpenWRT, Pomidor va boshqalar.
- XiaoMi vakuum. v1 yoki v2
- Amazon Dash tugmalari
Xususan, men nimani ishlatganman:
- Mikrotik
- XiaoMi v2 vakuumli Roborock S50
- Amazon Dash tugmalar to'plami
Mana, protsedura
- Biz vakuumni ildiz otamiz
- Vakuumda ildiz ostida kerakli paketlarni o'rnating va sozlang
- Amazon Dash tugmachasini o'rnating
- Tugma so'rovini qabul qilish va vakuumni boshqarish uchun marshrutizatorni o'rnating
Eslatma: Aslida, uni boshqarish uchun vakuumni yo'q qilish shart emas. Agar sizning tarmog'ingizda (yoki qayerda bo'lsa ham) python yoki php -ni ishlata oladigan boshqa server bo'lsa, ularga veb -kuklarni yo'naltirishingiz mumkin. Lekin men unday emasman. Va men uni toza va ixcham saqlashni xohlardim. Agar siz mening yondashuvimni yoqtirmasangiz, menimcha, siz o'qishdan o'zingizning o'rta serveringizni qanday o'rnatishni bilib olasiz. Faqat 2 -bandga o'ting.
Xo'sh, ketyapmiz …
1 -qadam: Token va ildiz vakuumini oling
Barcha dasturiy ta'minot, dasturiy ta'minot va payini qirqish bo'yicha ko'rsatmalarni https://4pda.ru/forum/index.php? Showtopic = 881982 dan olish mumkin.
Agar sizda Windows -dan boshqa OS va Android -dan boshqa telefon bo'lsa (siz nox bilan virtualdan foydalanishingiz mumkin), iltimos yuqoridagi havolaga o'ting (Google Tarjimonidan foydalaning) va ko'rsatmalarni o'qing, aks holda bu erda qo'llanmani bajaring.
Ildizni o'chirish uchun biz vakuumdan ip manzilini va tokenni olishimiz kerak.
7z ildizini oching.
Iltimos, Android -ga Vevs -dan Mihome -ni o'rnating. Siz arxivdan foydalanishingiz mumkin yoki agar bu ko'rsatma sanasi bo'lsa, uning eng so'nggi versiyasini uning veb-saytidan (https://www.kapiba.ru/2017/11/mi-home.html) yoki uning Google Diskidan (https://drive.google.com/drive/folders/1IyjvIWiGaeD7iLWWtBlb6jSEHTLg9XGj)
MiHome -ga kiring. Hisobingizga China Mainland -ni o'rnatishingiz va unga Vakuum qo'shishingiz kerak).
Vakuum belgisi sozlamalarini bosing (yuqori o'ngdagi uchta nuqta) Umumiy sozlamalar Tarmoq ma'lumoti
Win-mirobo/win-mirobo.ini-da ip-manzil va tokenni to'ldiring
Derazalarda xavfsizlik devorini o'chiring. Win-mirobo.bat-ni ishga tushiring va dasturiy ta'minotni yoqing.
!!!!!!!!! V1 - V1 Vakuum uchun, V2 - V2 Vakuum uchun (Roborock S50) !!!!!!! Agar siz noto'g'ri FWni o'chirgan bo'lsangiz - 4pda havolasiga o'ting (bu qadamda birinchi) va qanday tiklanishini o'qing.
Arter Vacuum qayta ishga tushadi - siz vakuumni muvaffaqiyatli ildiz otdingiz va endi unga ssh orqali kirishingiz mumkin!
Tozalashtiruvchi/tozalovchi bilan unga SSH (Putty bilan). Parolni passwd yordamida o'zgartiring
2 -qadam: Vakuumda ildiz ostida kerakli paketlarni o'rnating va sozlang
Bino
MiVacuum veb -kancalar o'rniga, har bir XiaoMi IoT qurilmasi kabi, miio protokolidan foydalanadi. Shunday qilib, biz veb -kancalarni tushunish uchun uni o'rganishimiz kerak. Bizga veb -krujkani ushlab, uni miio protokoliga qurilmaga tarjima qila oladigan o'rta odam kerak. Python kutubxonasi mavjud (https://github.com/rytilahti/python-miio), lekin biz uni vakuumda ishlata olmaymiz, chunki Vakuumda Python 3.5+ uchun joy yetarli emas.
Yaxshiyamki, php-miio kutubxonasi bor (https://github.com/skysilver-lab/php-miio), bu nisbatan yengil va biz bundan foydalanamiz (btw yuqoridagi win-miroboda ham ishlatiladi)). Veb -kukni ushlaydigan kishi webhook -daemon (https://github.com/adnanh/webhook) bo'lib, u kiruvchi veb -krujkada php uchun skriptni boshqaradi.
Vakuumga SSH (Putty bilan):
#Ildiz ostida qiling. Ha, bilaman, bu xavfsiz emas..whatevs.sudo su #Bu erda biz barcha kerakli narsalarni o'rnatamiz apt-get install -y wget php5-cli nano #Boshqa hamma narsa /opt cd /opt bo'ladi
#Php-miio-ni yuklab oling
#Github -ning so'nggi yangiliklarini tekshiring. Oxirgi wget bo'yicha quyida to'g'ri chiziqlar 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
#Webhooks dasturini yuklab oling
#Github -ning so'nggi yangiliklarini tekshiring. Oxirgi wget bo'yicha pastdagi to'g'ri chiziq 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
#Webhook uchun sozlamalar yarating
nano /opt/webhook/hooks.json #hooks.json tarkibini shu yerga kiriting. Mastikada sichqonchaning o'ng tugmachasini bosing. #Ctr+X Y ni saqlang.
#Php-miio-ga qo'ng'iroq qilish uchun skript yarating
nano /opt/webhook/mirobo.sh #Mirobo.sh tarkibini bu erga kiriting. Mastikada sichqonchaning o'ng tugmachasini bosing. # Ctr +X Y ni saqlang. # Chmod +x /opt/webhook/mirobo.sh bajariladigan faylini yarating.
#Avtomatik ishga tushirish skriptini yarating va konfiguratsiyalarni yangilang
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 standartlari
#Tizimni qayta yoqing
qayta yuklash
Qayta ishga tushirgandan so'ng, sozlamalarni brauzerda sinab ko'ring:
192.168.your.ip: 9000/ilgaklar/mirobo? usuli = find_me
usul - buyruq
parametrlar - parametrlar
Bu erda topishingiz mumkin bo'lgan barcha usullar (buyruqlar) va parametrlar:
github.com/marcelrv/XiaomiRobotVacuumProtocol
Hooks.json mazmuni
Vakuumdan tokeningizni bu erdagi token-ga o'zgartiring.
Mahalliy tarmog'ingiz uchun IP-oq ro'yxatni to'g'rilang yoki agar siz ilgaklaringizni boshqa joydan (xavfli) ishlatsangiz, butunlay olib tashlang.
[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/opt/webhook", "answer-message": "Bajarilmoqda mirobo skript "," o'z ichiga-buyruq-chiqish-javob ": noto'g'ri," o'tish-muhit-buyruq ": [{" manba ":" satr "," envname ":" token "," ism ": "your-token-here"}], "buyruqdan-o'tish": [{"source": "url", "name": "method"}, {"source": "url", "name" ":" params "}]," trigger-rule ": {" match ": {" type ":" ip-whitelist "," ip-range ":" 192.168.1.0/24 "}}}}]
mirobo.sh fayl tarkibi. Faqat nusxa ko'chiring. Faqat ikkita qator bor (3 emas).
#!/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 -qadam: Amazon Dash tugmalarini o'rnating
Amazon ilovasini oching. Dash qurilmalariga o'ting. Odatdagidek yangi tugmachani qo'shing. Taqdimotda mahsulot tanlamang. Ilovani yoping. Siz tugadingiz.
4 -qadam: Routerni sozlash tugmachasini so'rash va MiVacuum -ni boshqarish
Bu quyidagicha ishlaydi.
Tugma bosilganda, u sizning tarmog'ingizga ulanadi va dhcp serveridan unga manzil tayinlashni so'raydi. Biz bu so'rovni qabul qilib, veb -kukni vakuumga o'tkazishimiz kerak. Qo'shimcha xavfsizlik chorasi sifatida biz Amazon bilan aloqani to'sib qo'yamiz, shunda Amazon bizning tugmani bosganimizni bilmaydi va dasturiy ta'minotni yangilash yoki boshqa biror narsani bosish qobiliyatiga ega emas.
Ko'pincha men WinBox -dan foydalanaman, lekin ba'zida terminal osonroq.
#Bloklash uchun manzillar ro'yxati bilan xavfsizlik devorini tushirish qoidasini yarating
/ip xavfsizlik devori filtri qo'shing zanjir = oldinga src-address-list = blockdash harakati = sharhni tushirish = "Amazon Dash-ni tushirish"
Keyin biz har bir tugma uchun dhcp lizing qoidasini yaratishimiz kerak. Winbox -da buni qilish juda oson.
DHCP serveri - ijaraga olish
Biz tugmani bosganimizda, yangi ijara paydo bo'ladi. Biz uni statik sifatida bosamiz va manzillar ro'yxatini 'blockdash' qilib belgilaymiz, ijara vaqtini 5 soniya qilib belgilaymiz (ijara keyingi bosishdan oldin tugaydi) va keyinroq mak manzilini nusxalash.
#Bu buyruq faqat ma'lumot uchun, agar siz winbox -ga ijara qo'shgan bo'lsangiz, uni o'tkazib yuboring.
/ip dhcp-server ijarasi manzillar ro'yxatini qo'shish = blockdash mac-manzil = XXXXXXXXXX manzil = 192.168.x.x ijara vaqti = 5s
Endi biz skriptni ijaraga berishni ko'rsatishimiz kerak.
DHCP yorlig'ini oching va "myLeaseScript" ni dhcp serveringizda ijara skriptiga qo'shing.
Endi tizim - skriptlarni oching va o'qish, test ruxsatnomalari bilan "myLeaseScript" ni qo'shing.
MyLeaseScript mazmuni:
#Script ijaraga (1) va chiqarilishida (0) ikki marta chaqiriladi: if ($ leaseBound = 1) do = { /log info ("myLeaseScript ishlayapti. Kimdir chiziq tugmachasini bosganmi?")
#Qo'ng'iroq qilish uchun barcha tugmalar va urllar qatori
: mahalliy tugmalar {"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/ilgaklar/mirobo? Usuli = app_zoned_clean¶ms = [24000, 21500, 26100, 22900, 1]"; "ZZ: ZZ: ZZ: ZZ: ZZ: ZZ" = "https://192.168.your.ip: 9000/ilgaklar/mirobo? Usuli = 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"; };
#Bosilgan tugmachani va url -ni tekshiring
: foreach mac, url in = $ tugmalari do = {: if ($ mac = $ leaseActMAC) do = { /log ma'lumoti ("Bosildi". $ mac. "tugmasi") /tool get keep-result = no mode = https http-method = post url = $ url}}}
Endi siz Amazon Dash tugmachasini bosib tozalashni avtomatlashtirdingiz. Maza qiling
E'tibor bering: veb -kuklarni shifrlanmagan holda yuborish juda xavfli. Webhook shifrlashdan foydalanishi mumkin, lekin men uni ishlashga harakat qildim, hech qachon bunday bo'lmagan. Men uni faqat mahalliy tarmog'imda ishlatganim uchun, men bundan xavotirlanmayman. Agar siz Internet orqali IFTTT -ni Google Assistant bilan birlashtirish uchun ishlatmoqchi bo'lsangiz, bunga e'tibor bering! Menimcha, kripto muvaffaqiyatsizligining sababi nima edi. Letsencrypt tomonidan berilgan o'zim imzolangan sertifikatlar. IPv6 bilan mag'lubiyatga uchragan ko'plab NAT -lar bilan murakkab tarmoq. Menimcha, webhooks sertifikatlar bilan juda yomon ishlaydi va aslida juda yomon hujjatlashtirilgan. IFTTT ipv6 bilan ishlamaydi. Men qo'limdan kelganicha harakat qildim, lekin muvaffaqiyatsiz bo'ldi. Ehtimol, sizga omad kulib boqadi. Xabar yozishni unutmang.
yangilash: Men uni qanday shifrlashsiz yanada xavfsizroq qilish haqida fikrim bor. Siz bajarmoqchi bo'lgan har bir harakat uchun bir nechta skriptlar yaratasiz. Siz webhook -da yuborilgan parametr uchun skriptni chaqirish uchun mirobo.sh -ni o'zgartirasiz. toza_xona. Bo'ldi shu. Kancadan foydalanadigan odam, yotoqxonangizni qayta -qayta tozalashdir …)) Men buni qilsam, men ko'rsatmalarni yangilayman
5 -qadam: Xaritangizni qanday chizish kerak
MiHome ilovasida to'liq xaritangiz tayyor bo'lgach, vakuumni "app_goto" buyrug'i orqali ma'lum joyga yuboring.
To'liq xaritaning skrinshotini joylashuvi va joylashuvi ko'rsatilgan holda yarating. Vakuum qayta ishga tushirilgandan so'ng asosiy nuqta - bu pozitsiya [25500, 25500] Bu zaryad bazasining o'rni emas, lekin agar siz zaryad bazasida vakuumni qayta ishga tushirsangiz, zaryad bazasining holati 25500, 25500 bo'ladi. va siz olgan skrinshot yordamida xaritangizni SAPR dasturining istalgan joyiga joylashtirishingiz mumkin. Men bepul QCADdan foydalanardim.
Rasmni tarmoqqa o'rnatgandan so'ng, men zonaning boshlanish va tugash nuqtasini o'lchash uchun xona bo'ylab chiziqdan foydalanaman.
Tavsiya:
Simsiz eshik qo'ng'irog'i - (Raspberry PI va Amazon Dash): 4 qadam (rasmlar bilan)
Simsiz eshik qo'ng'irog'i - (Raspberry PI va Amazon Dash): Bu nima qiladi? (videoga qarang) Tugma bosilganda, Raspberry simsiz tarmoqqa kiruvchi yangi qurilmani topadi. Shunday qilib, u bosilgan tugmani taniy oladi va bu ma'lumotni mobil telefoningizga (yoki sizning qurilmangizga) uzatishi mumkin
Amazon Dash tugmasi jim eshik qo'ng'irog'i: 10 qadam (rasmlar bilan)
Amazon Dash tugmachasi jim eshik qo'ng'irog'i: Doimiy ravishda derazaga qarayapsizmi, shunda siz mehmonlarni eshik qo'ng'irog'ini bosishdan oldin ushlab tura olasizmi? Itlar va chaqaloq qachon jiringlasa, aqldan ozishdan charchadingizmi? &Quot; Aqlli " ga boylik sarflashni xohlamang. Yechim? Eshikka jim qo'ng'iroq qilish - bu
Amazon Fire Remote TV masofadan boshqarish pultiga o'ting: 3 qadam (rasmlar bilan)
Amazon Fire Remote TV masofadan boshqarish pultiga o'ting: Oh Amazon, sizning olovli televizoringiz juda ajoyib, nega bizga masofadan boshqarish pultining ovozini boshqarish moslamasini bermadingiz? Xo'sh, Amazonda 5 dollardan kam bo'lsa, siz bu kichkina masofadan boshqarish pultini, kuchini, ovozini o'chirib qo'yishingiz mumkin. , hajmi va kanali hammasi kichik paketda. 3d printerga kiriting
Arduino va Amazon Alexa yordamida yorug'lik/uy chiroqlarini qanday boshqarish kerak: 16 qadam (rasmlar bilan)
Arduino va Amazon Alexa yordamida yorug'lik/uy chiroqlarini qanday boshqarish kerak: Men UNO ga ulangan va Alexa tomonidan boshqariladigan nurni qanday boshqarishni tushuntirdim
Amazon Echo -ning o'z versiyasi: 8 qadam (rasmlar bilan)
Amazon Echo -ning o'z versiyasi: Salom bolalar, menimcha, hamma Amazon -ning so'nggi mahsuloti Amazon Echo -ni biladi, bu ovozli qurilma, ya'ni biz qurilmani ovozimiz bilan boshqaramiz va u hatto biz bilan gaplasha oladi. Bu g'oyadan ilhomlanib, men o'z versiyamni yaratdim, u