Мазмұны:

XiaoMi вакуум + Амазон батырмасы = Диск тазалау: 5 қадам (суреттермен)
XiaoMi вакуум + Амазон батырмасы = Диск тазалау: 5 қадам (суреттермен)

Бейне: XiaoMi вакуум + Амазон батырмасы = Диск тазалау: 5 қадам (суреттермен)

Бейне: XiaoMi вакуум + Амазон батырмасы = Диск тазалау: 5 қадам (суреттермен)
Бейне: Blackview Airbuds 1 - TWS ГАРНИТУРА / ОБЗОР и ТЕСТ МИКРОФОНА 2024, Қараша
Anonim
XiaoMi вакуум + Amazon батырмасы = сызықты тазалау
XiaoMi вакуум + Amazon батырмасы = сызықты тазалау

Бұл нұсқаулық Amazon Dash түймелерін XiaoMi вакуумды басқару үшін қалай пайдалану керектігін түсіндіреді.

Менде 1 доллар болған кезден бастап Amazon батырмалары көп болды, мен оларды қолданған жоқпын. Бірақ жаңа роботтық вакуумды алған кезде мен бұл түймелерді вакуумды басқару құралы ретінде пайдалану өте ыңғайлы деп шештім.

Ziploc түймесін басыңыз, сонда ол жатын бөлмені сорып алады.

Glad түймесін басыңыз, сонда қонақ бөлмесі шаңсорылады.

Фиджиді басыңыз … сізде бұл идея бар.

Бұл жобада интернеттен көптеген бұзушылықтар бар. Мен көптеген адамдардың жұмысын бағалаймын және олардың зерттеулеріне сүйене отырып, менің кішігірім келіспеушілігіммен бөлісуім керек деп ойлаймын.

Жауапкершіліктен бас тарту: Төмендегі барлық қадамдар сіз үшін қауіпті! Егер сіз қадамдарды мұқият орындасаңыз, сіз бір нәрсені зақымдауы мүмкін. Бірақ бұл болмайды! Ал мен бұл үшін жауапкершілікті өз мойныма алмаймын. BTW барлық қадамдарын кері қайтаруға болады, сондықтан кепілдік бұзылуы мүмкін емес. Бірақ, әрине - YMMV

Негізгі принцип - біз маршрутизатордағы сызықша түймесін басып, Amazon -дан тауар сатып алудың орнына веб -ілмекті вакуумға жібереміз.

Сізге не қажет болады:

  • DHCP басқаратын, сценарийлерді іске қосатын және get | пост сұрауларын орындай алатын реттелетін микробағдарламасы бар маршрутизатор. Mikrotik, DD-WRT, OpenWRT, Tomato және т.
  • XiaoMi вакуумы. v1 немесе v2
  • Amazon Dash түймелері

Атап айтқанда, мен қолдандым:

  • Микротик
  • XiaoMi v2 вакуумдық Roborock S50
  • Amazon Dash түймелерінің жиынтығы

Міне, рәсім

  1. Біз вакуумды жоямыз
  2. Вакуумда тамырға қажетті пакеттерді орнатыңыз және конфигурациялаңыз
  3. Amazon Dash батырмасын орнату
  4. Түймешік сұрауды алу және вакуумды басқару үшін маршрутизаторды орнатыңыз

Ескерту: Шындығында, оны басқару үшін вакуумды түбірлеудің қажеті жоқ. Егер сіздің тіліңізде (немесе кез келген жерде) python немесе php іске қосатын басқа сервер болса, оларға веб -хуктарды бағыттауға болады. Бірақ мен жоқ. Мен оны таза және жинақы етіп вакуумда ұстағым келді. Егер сізге менің көзқарасым ұнамаса, менің ойымша, сіз осы оқудан жеке орта серверді қалай орнатуға болатынын біле аласыз. Дәл 2 -ші нүктеге өтіңіз.

Жарайды, кеттік …

1 -қадам: Токен мен түбірлік вакуумды алыңыз

Токен мен түбірлік вакуумды алыңыз
Токен мен түбірлік вакуумды алыңыз
Токен мен түбірлік вакуумды алыңыз
Токен мен түбірлік вакуумды алыңыз
Токен мен түбірлік вакуумды алыңыз
Токен мен түбірлік вакуумды алыңыз
Токен мен түбірлік вакуумды алыңыз
Токен мен түбірлік вакуумды алыңыз

Барлық бағдарламалық жасақтама, бағдарламалық жасақтама және тамырлау бойынша нұсқаулық мына жерден алынды: https://4pda.ru/forum/index.php? Showtopic = 881982

Егер сізде Windows жүйесінен басқа ОЖ және Android -ден басқа телефон болса (сіз nox -пен виртуалды қолдана аласыз), жоғарыдағы сілтемені орындаңыз (Google Translate -ті қолданыңыз) және нұсқауларды оқыңыз, әйтпесе осы нұсқаулықты орындаңыз.

Түбірлеу үшін бізге вакуумнан ip -адрес пен токен алу керек.

7z түбірін ашыңыз.

Mihome -ді Vevs -тен Android -ке орнатыңыз. Сіз оны Мұрағаттан пайдалана аласыз немесе егер бұл нұсқаулығы болса, соңғы нұсқаны оның веб-сайтынан (https://www.kapiba.ru/2017/11/mi-home.html) немесе оның Google Drive-тан алуға болады (https://drive.google.com/drive/folders/1IyjvIWiGaeD7iLWWtBlb6jSEHTLg9XGj)

MiHome -ге кіріңіз. Сіз есептік жазбаңызға China Mainland орнатып, оған вакуум қосуыңыз керек).

Вакуум белгішесінің параметрлері тармағын түртіңіз (жоғарғы оң жақта үш нүкте) Жалпы параметрлер Желі туралы ақпарат

Win-mirobo/win-mirobo.ini мекенжайы мен токенді енгізіңіз

Терезелердегі брандмауэрды өшіру. Win-mirobo.bat іске қосыңыз және микробағдарламаны жарқылдатыңыз.

!!!!!!!!! V1 - V1 вакуумға арналған, ал V2 - вакуумға арналған (Roborock S50) !!!!!!! Егер сіз FW қатесін дұрыс көрсетпесеңіз - 4pda сілтемесіне өтіңіз (бірінші қадамда) және қалай қалпына келу керектігін оқыңыз.

Arter Vacuum қайта жүктеледі - сіз вакуумды сәтті жойдыңыз, енді оған ssh арқылы қол жеткізе аласыз!

SSH оған (Putty бар) тазартқышпен/тазартқышпен. Құпия сөзді passwd көмегімен өзгертіңіз

2 -қадам: Вакуумға тамыр астындағы қажетті пакеттерді орнатыңыз және конфигурациялаңыз

Бөлме

WebHooks орнына MiVacuum барлық XiaoMi IoT құрылғылары сияқты miio протоколын қолданады. Сондықтан біз веб -ілмектерді түсіну үшін оны үйренуіміз керек. Бізге веб -ілмекті ұстап, оны құрылғыға miio протоколына аудара алатын орта адам қажет. Python кітапханасы бар (https://github.com/rytilahti/python-miio), бірақ біз оны вакуумда қолдана алмаймыз, себебі вакуумда Python 3.5+ үшін орын жеткіліксіз.

Бақытымызға орай, PHP-miio кітапханасы бар (https://github.com/skysilver-lab/php-miio), ол салыстырмалы түрде өте жеңіл және біз оны қолданамыз (btw ол жоғарыдағы win-mirobo-да қолданылады)). Веб -ілмекті ұстайтын адам - кіретін веб -ілмекте php сценарийін жүргізетін webhook демоны (https://github.com/adnanh/webhook).

SSH сіздің вакуумға (Putty көмегімен):

#Түбір астында жасаңыз. Ия, мен бұл қауіпсіз емес екенін білемін..whatevs.sudo su #Мұнда біз барлық қажеттіліктерді орнатамыз apt-get install -y wget php5-cli nano #Қалғанының бәрі /opt cd /opt

#Php-miio жүктеп алыңыз

#Github -тың соңғы нұсқаларын тексеріңіз. Https://github.com/skysilver-lab/php-miio/archive/v.0.2.6.tar.gz tar -xzvf v.0.2.6.tar.gz mv php- соңғы wget бойынша төмендегі түзетулер miio-v.0.2.6 php-miio rm -f v.0.2.6.tar.gz

#Webhooks демонын жүктеп алыңыз

#Github -тың соңғы нұсқаларын тексеріңіз. Соңғы 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

#Webhook үшін параметрлер жасаңыз

nano /opt/webhook/hooks.json #hooks.json мазмұнын осында енгізіңіз. Шпатлевкада тінтуірдің оң жақ түймешігімен нұқыңыз. #Ctr+X сақтау Y.

#Php-miio шақыру үшін сценарий жасаңыз

nano /opt/webhook/mirobo.sh #mirobo.sh мазмұнын осында енгізіңіз. Шпатлевкада тінтуірдің оң жақ түймешігімен нұқыңыз. # Ctr +X Save Y. # chmod +x /opt/webhook/mirobo.sh орындалатын етіп жасаңыз.

#Автоматты түрде іске қосу сценарийін жасаңыз және конфигурацияларды жаңартыңыз

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 әдепкі мәндері

#Жүйені қайта жүктеңіз

қайта жүктеу

Қайта жүктеуден кейін шолғышта параметрлерді тексеріңіз:

192.168.your.ip: 9000/ілгектер/mirobo? әдісі = find_me

әдіс - бұйрық

параметрлер - параметрлер

Барлық әдістер (командалар) мен параметрлерді мына жерден табуға болады:

github.com/marcelrv/XiaomiRobotVacuumProtocol

Ілмектердің мазмұны.json

Бұл жерде таңбалауышты вакуумнан таңбалауышқа өзгертіңіз.

Жергілікті желі үшін ip-ақ тізімді түзетіңіз немесе ілгектерді басқа жерден іске қоссаңыз (қауіпті) толығымен жойыңыз.

[{«id»: «mirobo», «execute-command»: «/opt/webhook/mirobo.sh», «command-working-directory»: «/opt/webhook», «answer-message»: «Орындалуда mirobo сценарийі «,» қосу-командалық-шығару-жауап «: жалған,» өту ортасы-командаға «: [{» дереккөз «:» жол «,» envname «:» жетон «,» атау «: «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 файлының мазмұны. Тек көшіру-қою. Тек екі жол бар (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 -қадам: Amazon Dash түймелерін орнату

Amazon қосымшасын ашыңыз. Dash Devices бөліміне өтіңіз. Әдеттегідей жаңа сызықша түймесін қосыңыз. Тауарды таңдауға НАЗАР АУДАРЫҢЫЗ. Қолданбаны жабыңыз. Сіз аяқталды.

4 -қадам: маршрутизаторды MiVacuum түймесін сұрауды бақылауға орнатыңыз

Маршрутизаторды MiVacuum түймесін сұрау және бақылау үшін орнатыңыз
Маршрутизаторды MiVacuum түймесін сұрау және бақылау үшін орнатыңыз
Маршрутизаторды MiVacuum түймесін сұрау және бақылау үшін орнатыңыз
Маршрутизаторды MiVacuum түймесін сұрау және бақылау үшін орнатыңыз
Маршрутизаторды MiVacuum түймесін сұрау және бақылау үшін орнатыңыз
Маршрутизаторды MiVacuum түймесін сұрау және бақылау үшін орнатыңыз

Бұл келесідей жұмыс істейді.

Түйме басылғанда, ол сіздің желімен байланысады және dhcp серверінен адресті тағайындауды сұрайды. Біз бұл сұранысты қабылдап, вакуумға веб -ілмекті орындауымыз керек. Қосымша қауіпсіздік шарасы ретінде біз Amazon -ға қосылуды бұғаттайтын боламыз, осылайша Amazon біздің түймені басқанымызды білмеуі үшін және микробағдарламаны жаңартуды немесе басқа нәрсені басуға мүмкіндігі жоқ.

Мен көбінесе WinBox қолданамын, бірақ кейде терминал оңайырақ.

#Блоктау үшін мекенжайлар тізімімен брандмауэр түсіру ережесін жасаңыз

/ip брандмауэр сүзгісі тізбекті қосады = алға src-address-list = blockdash әрекеті = пікірді тастау = «Amazon Dash тастау»

Содан кейін біз әр түйме үшін dhcp жалдау ережесін жасауымыз керек. Winbox -те жасау өте оңай.

DHCP сервері - жалдау

Біз батырманы басамыз, жаңа жалдау пайда болады. Біз оны статикалық деп таңдаймыз және мекенжайлар тізімін 'blockdash' етіп қоямыз, жалға алу уақытын 5 секундқа орнатамыз (жалға беру келесі басудан бұрын аяқталуы үшін) және Mac мекенжайын кейінірек көшіреміз.

#Бұл пәрмен тек сілтеме үшін, егер сіз winbox -та жалдауды қоссаңыз, оны өткізіп жіберіңіз.

/ip dhcp-server lease add address-list = blockdash mac-address = XXXXXXXXXX address = 192.168.x.x жалға алу уақыты = 5s

Енді біз сценарийді көрсетуді көрсетуіміз керек.

DHCP қойындысын ашыңыз және dhcp серверінде жалға алу сценарийі ретінде 'myLeaseScript' қосыңыз.

Енді Жүйе - Сценарийлерді ашып, оқу, тексеру рұқсаттары бар 'myLeaseScript' қосыңыз.

MyLeaseScript мазмұны:

#Script екі рет жалдау кезінде (1) және шығарылымда (0) шақырылады: if ($ leaseBound = 1) do = { /log info («myLeaseScript іске қосылады. Біреу сызықша түймесін басқан ба?»)

#Қоңырау шалу үшін барлық түймелер мен url жиыны

: жергілікті түймелер {«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/ілгектер/mirobo? Әдісі = 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»; };

#Басылған түймені тексеріңіз және URL мекенжайын енгізіңіз

: foreach mac, url in = $ түймелері do = {: if ($ mac = $ leaseActMAC) do = { /log info («Басылды». $ mac. «түймесі») /tool fethe keep-result = no mode = https http-әдіс = пост URL = $ url}}}

Енді сіз Amazon Dash батырмасын басу арқылы тазалауды автоматтандырдыңыз. Масайрау

Назар аударыңыз: вебхуктарды шифрламай жіберу өте қауіпті. Webhook шифрлауды қолдана алады, бірақ мен оны жұмыс істеуге тырыстым, бұл ешқашан болған емес. Мен оны жергілікті желіде қолданатындықтан, мен онша алаңдамаймын. Егер сіз оны интернетте Google Assistant интеграциясымен IFTTT -ге қосылу үшін қолданғыңыз келсе, осы фактке назар аударыңыз! Менің жағдайда крипто сәтсіздігінің себебі неде екенін білмеймін. Letsencrypt берген өзім қол қойған куәліктер. Мен IPv6 арқылы ұрған көптеген NAT -мен күрделі желі. Бірақ маған webhooks сертификаттармен өте нашар жұмыс істейді және іс жүзінде өте нашар құжатталған сияқты. IFTTT ipv6 -мен жұмыс істемейтін сияқты. Мен қолдан келгеннің бәрін жасадым, бірақ сәтсіз болды. Сізде сәттілік болуы мүмкін. Пост жасауды ұмытпаңыз.

жаңарту: Мен оны шифрламай -ақ қалай қауіпсіз етуге болатынын білемін. Сіз орындағыңыз келетін әр әрекет үшін бірнеше сценарий жасайсыз. Сіз mirobo.sh файлын webhook -та жіберілген берілген параметрі бар сценарийге қоңырау шалу үшін өзгертесіз. таза төсек. Міне бітті. Ілмекті пайдаланатын адам - сіздің жатын бөлмеңізді қайта -қайта тазалау …)) Мен мұны жасағаннан кейін мен нұсқаулықты жаңартамын

5 -қадам: Картаны қалай салу керек

Картаны қалай салуға болады
Картаны қалай салуға болады

MiHome қосымшасында толық картаны дайындағаннан кейін вакуумды 'app_goto' пәрмені арқылы белгілі бір жерге жіберіңіз.

Жіберілген орны мен негізі бар толық картаның скриншотын жасаңыз. Вакуумды қайта жүктегеннен кейінгі негізгі нүкте - [25500, 25500] - бұл зарядтау базасының орны емес, бірақ егер сіз вакуумды зарядтау базасында қайта жүктесеңіз, онда зарядтау негізінің орны 25500, 25500 болады. және сіз алған скриншотпен картаны кез келген АЖЖ бағдарламасына орналастыра аласыз. Мен тегін QCAD қолдандым.

Кескінді торға орнатқаннан кейін мен бөлменің бойымен сызықтың көмегімен аймақтың басталуы мен аяқталуын өлшеймін.

Ұсынылған: