Სარჩევი:

XiaoMi ვაკუუმი + ამაზონის ღილაკი = Dash წმენდა: 5 ნაბიჯი (სურათებით)
XiaoMi ვაკუუმი + ამაზონის ღილაკი = Dash წმენდა: 5 ნაბიჯი (სურათებით)

ვიდეო: XiaoMi ვაკუუმი + ამაზონის ღილაკი = Dash წმენდა: 5 ნაბიჯი (სურათებით)

ვიდეო: XiaoMi ვაკუუმი + ამაზონის ღილაკი = Dash წმენდა: 5 ნაბიჯი (სურათებით)
ვიდეო: Web Programming - Computer Science for Business Leaders 2016 2024, ნოემბერი
Anonim
XiaoMi ვაკუუმი + ამაზონის ღილაკი = ტილოს გაწმენდა
XiaoMi ვაკუუმი + ამაზონის ღილაკი = ტილოს გაწმენდა

ეს ინსტრუქცია განმარტავს, თუ როგორ გამოიყენოთ თქვენი სათადარიგო Amazon Dash ღილაკები XiaoMi ვაკუუმის გასაკონტროლებლად.

მე მივიღე რამოდენიმე Amazon ღილაკი, რომლებიც განლაგებულია იმ დროიდან, როდესაც ისინი $ 1 იყო და მე მათი გამოყენება არ მქონდა. ახალი რობოტ ვაკუუმის მიღებისას მე გადავწყვიტე, რომ ძალიან მოსახერხებელი იქნებოდა ამ ღილაკების გამოყენება ვაკუუმის კონტროლისთვის.

დააჭირეთ Ziploc ღილაკს და ის გაწმენდის საძინებელს.

დააჭირეთ ღილაკს Glad და ის გაწმენდის მისაღებს.

პრეს ფიჯი.. კარგი იდეა გაქვს.

ამ პროექტში არის ჩართული ბევრი ჰაკერი ინტერნეტიდან. მე ნამდვილად ვაფასებ იმ სამუშაოს, რომელიც ამდენი ადამიანმა გააკეთა და ვფიქრობ, რომ მე უნდა გავუზიარო ჩემი პატარა კონტრაქცია მათ კვლევებს.

პასუხისმგებლობის შეზღუდვის განაცხადი: ქვემოთ მოცემულ ყველა ნაბიჯს თქვენ აკეთებთ თქვენივე რისკით! თუ ყურადღებით მიჰყევით ნაბიჯებს, ძალიან მცირეა შანსი, რომ რამე დააზიანოთ. მაგრამ ეს არ ხდება! და მე არანაირ პასუხისმგებლობას არ ვიღებ მასზე. BTW ყველა ნაბიჯი შეიძლება შეიცვალოს, ასე რომ პოტენციურად არ არსებობს გარანტიის დარღვევა. რა თქმა უნდა - YMMV

ძირითადი პრინციპი ის არის, რომ ჩვენ ვიღებთ დაჭერით ღილაკს როუტერზე და ვაგზავნით ვებჰუკს ვაკუუმში, ნაცვლად იმისა, რომ ყიდულობთ ნივთებს ამაზონიდან.

რაც დაგჭირდებათ:

  • როუტერი მორგებული პროგრამული უზრუნველყოფით, რომელსაც შეუძლია გააკონტროლოს DHCP, გაუშვას სკრიპტები და შეასრულოს get | post მოთხოვნები. Mikrotik, DD-WRT, OpenWRT, პომიდორი და ა.
  • XiaoMi ვაკუუმი. v1 ან v2
  • Amazon Dash ღილაკები

კონკრეტულად რა გამოვიყენე:

  • მიკროტიკი
  • XiaoMi v2 ვაკუუმური Roborock S50
  • რამოდენიმე Amazon Dash ღილაკები

აქ არის პროცედურა

  1. ჩვენ ვაფუჭებთ ვაკუუმს
  2. დააინსტალირეთ და დააკონფიგურირეთ ვაკუუმზე ფესვების ქვეშ საჭირო პაკეტები
  3. დააყენეთ Amazon Dash ღილაკი
  4. დააყენეთ როუტერი ღილაკის მოთხოვნის დაჭერისა და ვაკუუმის გასაკონტროლებლად

შენიშვნა: სინამდვილეში თქვენ არ გჭირდებათ ფესვების დამყარება ვაკუუმის გასაკონტროლებლად. თუ თქვენ გაქვთ რაიმე სხვა სერვერი თქვენს რეგიონში (ან სადმე), რომელსაც შეუძლია პითონის ან php- ის გაშვება, შეგიძლიათ მიმართოთ მათ ვებ ვებგვერდებს. მაგრამ მე არა. და მინდოდა, რომ ის სუფთა და კომპაქტური ყოფილიყო ვაკუუმზე. ასე რომ, თუ თქვენ არ მოგწონთ ჩემი მიდგომა, ვივარაუდოთ, რომ თქვენ შეგიძლიათ გაარკვიოთ, თუ როგორ უნდა დააყენოთ თქვენი საშუალო მამაკაცის სერვერი ამ წაკითხვისგან. უბრალოდ გადადით 2 პუნქტზე.

კარგი, წავედით…

ნაბიჯი 1: მიიღეთ ნიშანი და ფესვების ვაკუუმი

მიიღეთ ნიშანი და ფესვების ვაკუუმი
მიიღეთ ნიშანი და ფესვების ვაკუუმი
მიიღეთ ნიშანი და ფესვების ვაკუუმი
მიიღეთ ნიშანი და ფესვების ვაკუუმი
მიიღეთ ნიშანი და ფესვები ვაკუუმი
მიიღეთ ნიშანი და ფესვები ვაკუუმი
მიიღეთ ნიშანი და ფესვების ვაკუუმი
მიიღეთ ნიშანი და ფესვების ვაკუუმი

ყველა პროგრამული უზრუნველყოფა, პროგრამული უზრუნველყოფა და დაფესვიანების ინსტრუქცია მიღებულია: https://4pda.ru/forum/index.php? Showtopic = 881982

თუ თქვენ გაქვთ Windows- ის გარდა სხვა ოპერაციული სისტემა და ტელეფონი Android- ის გარდა (შეგიძლიათ გამოიყენოთ ვირტუალური არაქსით) გთხოვთ მიჰყევით ზემოთ მოცემულ ბმულს (გამოიყენეთ Google Translate) და წაიკითხეთ ინსტრუქცია, წინააღმდეგ შემთხვევაში მიჰყევით სახელმძღვანელოს აქ.

დასაფესვიანებლად ჩვენ უნდა მივიღოთ ip მისამართი და ნიშანი თქვენი ვაკუუმიდან.

გახსენით root.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 თქვენს ანგარიშზე და დაამატეთ ვაკუუმი მას).

შეეხეთ ვაკუუმის ხატის პარამეტრებს (სამი წერტილი ზედა მარჯვნივ) ზოგადი პარამეტრები ქსელის ინფორმაცია

შეავსეთ IP მისამართი და ნიშანი win-mirobo/win-mirobo.ini

გამორთეთ firewall ფანჯარაში. გაუშვით win-mirobo.bat და გაუშვით firmware.

!!!!!!!!! V1 არის v1 ვაკუუმისთვის და V2 არის v2 ვაკუუმისთვის (Roborock S50) !!!!!!! თუ თქვენ შეცდით არასწორად FW - გადადით 4pda ბმულზე (პირველი ამ ეტაპზე) და წაიკითხეთ როგორ გამოჯანმრთელდეთ.

Arter Vacuum გადატვირთულია - თქვენ წარმატებით გაასწორეთ თქვენი ვაკუუმი და ახლა თქვენ გაქვთ წვდომა ssh– ის საშუალებით!

SSH მას (ერთად Putty) ერთად სუფთა/სუფთა. შეცვალეთ პაროლი passwd– ით

ნაბიჯი 2: დააინსტალირეთ და დააკონფიგურირეთ Root Under Package ვაკუუმზე

შენობა

Webhooks– ის ნაცვლად MiVacuum იყენებს miio პროტოკოლს, როგორც ყველა XiaoMi IoT მოწყობილობას. ასე რომ, ჩვენ უნდა ვისწავლოთ ის, რომ გავიგოთ ვებგვერდები. ჩვენ გვჭირდება საშუალო კაცი, რომელსაც შეუძლია ვებჰუკის დაჭერა და მისი თარგმნა miio პროტოკოლზე მოწყობილობაზე. არსებობს პითონის ბიბლიოთეკა (https://github.com/rytilahti/python-miio), მაგრამ ჩვენ არ შეგვიძლია გამოვიყენოთ იგი ვაკუუმზე, ვინაიდან ვაკუუმზე არ არის საკმარისი ადგილი პითონ 3.5+ –ზე.

საბედნიეროდ, არსებობს php-miio ბიბლიოთეკა (https://github.com/skysilver-lab/php-miio), რომელიც შედარებით ძალიან მსუბუქია და ეს არის ის, რასაც ჩვენ ვიყენებთ (btw ის ასევე გამოიყენება win-mirobo ზემოთ). ის, ვინც იჭერს ვებჰუკს, არის ვებჰუკ დემონი (https://github.com/adnanh/webhook), რომელიც მართავს სკრიპტს php– ს შემომავალ ვებგვერდზე.

SSH თქვენს ვაკუუმში (Putty– ით):

#გააკეთე ფესვის ქვეშ. დიახ, მე ვიცი, რომ ეს არ არის უსაფრთხო.

#ჩამოტვირთეთ php-miio

#შეამოწმეთ უახლესი github– ზე. ქვემოთ მონიშნული ხაზები უახლესი 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

#ჩამოტვირთეთ ვებჰუკსის დემონი

#შეამოწმეთ უახლესი 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

#შექმენით პარამეტრები ვებგვერდისთვის

nano /opt/webhook/hooks.json #შეიყვანეთ hooks.json შინაარსი აქ. დაწკაპუნებით მარჯვენა ღილაკით. #Ctr+X შეინახეთ Y.

#შექმენით სკრიპტი php-miio– ს გამოძახებისთვის

nano /opt/webhook/mirobo.sh #შეიყვანეთ mirobo.sh შინაარსი აქ. დაწკაპუნებით მარჯვენა ღილაკით. # Ctr +X შეინახეთ Y. # გააკეთეთ შესრულებადი chmod +x /opt/webhook/mirobo.sh

#შექმენით ავტომატური სკრიპტი და განაახლეთ კონფიგურაციები

ექო "/opt/webhook/webhook -hooks /opt/webhook/hooks.json" >> /etc/init.d/webhook.sh chmod ugo+x /etc/init.d/webhook.sh განახლება -rc.d webhook.sh ნაგულისხმევი

#გადატვირთეთ სისტემა

გადატვირთვა

გადატვირთვის შემდეგ შეამოწმეთ თქვენი პარამეტრები ბრაუზერში:

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

მეთოდი - ბრძანება

პარამი - პარამეტრები

ყველა მეთოდი (ბრძანება) და პარამეტრი შეგიძლიათ იხილოთ აქ:

github.com/marcelrv/XiaomiRobotVacuumProtocol

კაკვების შინაარსი.ჯსონი

შეცვალეთ თქვენი ნიშანი აქ თქვენი ნიშნით ვაკუუმიდან.

შეასწორეთ ip-whitelist თქვენი ადგილობრივი ქსელისთვის ან მთლიანად წაშალეთ, თუკი სხვაგან გაუშვებთ თქვენს კავებს (სახიფათო).

[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/opt/webhook", "response-message": "შესრულება mirobo სკრიპტი "," include-command-output-in-response ": false," pass-environment-to-command ": [{" source ":" string "," envname ":" token "," name ": "your-token-here"}], "pass-arguments-to-command": [{"source": "url", "name": "method"}, {"source": "url", "name ":" params "}]," trigger-rule ": {" დამთხვევა ": {" 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'-გამოწერილია $ ნიშანი-sendndcmd '{"id":' $ RANDOM ', "method": "' $ 1 '", "params": [' $ 2 ']}'

ნაბიჯი 3: დააინსტალირეთ Amazon Dash ღილაკები

გახსენით თქვენი Amazon პროგრამა. გადადით Dash მოწყობილობებზე. ჩვეულებისამებრ დაამატეთ ახალი ტირე ღილაკი. პროდუქტის არჩევისას, ნუ. დახურეთ აპლიკაცია. თქვენ დაასრულეთ.

ნაბიჯი 4: დააყენეთ როუტერი ღილაკის დაჭერის მოთხოვნის და კონტროლის MiVacuum– ისთვის

დააინსტალირეთ როუტერი ღილაკის დაჭერის მოთხოვნის და კონტროლის MiVacuum– ისთვის
დააინსტალირეთ როუტერი ღილაკის დაჭერის მოთხოვნის და კონტროლის MiVacuum– ისთვის
დააინსტალირეთ როუტერი ღილაკის დაჭერის მოთხოვნის და კონტროლის MiVacuum– ისთვის
დააინსტალირეთ როუტერი ღილაკის დაჭერის მოთხოვნის და კონტროლის MiVacuum– ისთვის
დააინსტალირეთ როუტერი ღილაკის დაჭერის მოთხოვნის და კონტროლის MiVacuum– ისთვის
დააინსტალირეთ როუტერი ღილაკის დაჭერის მოთხოვნის და კონტროლის MiVacuum– ისთვის

ეს მუშაობს შემდეგნაირად.

ღილაკზე დაჭერისას ის ასოცირდება თქვენს ქსელთან და სთხოვს dhcp სერვერს მიანიჭოს მისი მისამართი. ჩვენ უნდა მივიღოთ ეს მოთხოვნა და ვაკუუმი ვაქციოთ. როგორც უსაფრთხოების დამატებითი ზომა, ჩვენ დაბლოკავთ კავშირს ამაზონთან ისე, რომ ამაზონმა არ იცოდეს, რომ ჩვენ ღილაკსაც კი ვაჭერთ და არ აქვს შესაძლებლობა დააინსტალიროს firmware განახლება ან სხვა რამ.

ძირითადად ვიყენებ WinBox– ს, მაგრამ ზოგჯერ ტერმინალი უფრო ადვილია.

#შექმენით firewall– ის ვარდნის წესი მისამართების სიის დასაბლოკად

/ip firewall filter დაამატე ჯაჭვი = წინ src-address-list = blockdash action = drop comment = "Drop Amazon Dash"

შემდეგ ჩვენ უნდა შევქმნათ dhcp იჯარის წესი თითოეული ღილაკისთვის. ძალიან ადვილია ამის გაკეთება winbox– ში.

DHCP სერვერი - იჯარა

ჩვენ ვაჭერთ ღილაკს ახალი იჯარა გამოჩნდება. ჩვენ ვაწკაპუნებთ მას როგორც სტატიკურს და ვაყენებთ მისამართების ჩამონათვალს "ბლოკშაშს", ვაყენებთ იჯარის ვადას 5 წმ -მდე (ისე რომ იჯარა იწურება მომდევნო პრესამდე) და ვაკოპირებთ Mac მისამართს მოგვიანებით.

#ეს ბრძანება მხოლოდ მითითებისთვისაა, თუ winbox- ში დაამატეთ იჯარა, უბრალოდ გამოტოვეთ.

/ip dhcp-server ლიზინგის დამატება მისამართების სია = blockdash mac-address = XXXXXXXXXX მისამართი = 192.168.x.x იჯარის დრო = 5 წ

ახლა ჩვენ უნდა მივუთითოთ იჯარის სკრიპტს.

გახსენით DHCP ჩანართი და დაამატეთ "myLeaseScript", როგორც იჯარის სკრიპტი თქვენს DHCP სერვერზე.

ახლა გახსენით System - Scripts და დაამატეთ "myLeaseScript" წაკითხვის, ტესტის ნებართვებით.

MyLeaseScript- ის შინაარსი:

#სკრიპტი ორჯერ იძახება იჯარით (1) და გამოშვებისას (0): თუ ($ leaseBound = 1) გააკეთეთ = { /log info ("myLeaseScript გაშვებულია. ვიღაცამ დააჭირა Dash ღილაკს?")

#მასივი თქვენი ყველა ღილაკისა და 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/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"; };

#შეამოწმეთ დაჭერილი ღილაკი და acll 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}}}

ახლა თქვენ ავტომატიზირებული გაასუფთავეთ Amazon Dash Button– ის დაჭერით. Გაერთე

გთხოვთ მიაქციოთ ყურადღება: ძალიან დაუცველია ვებჰუკების გაშიფვრა. Webhook– ს შეუძლია გამოიყენოს დაშიფვრა, მაგრამ მე შევეცადე გამეკეთებინა ეს უბრალოდ არ მომხდარა. ვინაიდან მას მხოლოდ ჩემს ადგილობრივ ქსელში ვიყენებ, მე არ ვარ დაინტერესებული. მაგრამ თუ გსურთ გამოიყენოთ იგი ინტერნეტით IFTTT– ს Google Assistant ინტეგრაციისთვის, გთხოვთ მიაქციოთ ყურადღება ამ ფაქტს! მე არ ვარ დარწმუნებული, რა იყო კრიპტოვალუტის მიზეზი ჩემს შემთხვევაში. თვითმმართველობის ხელმოწერილი სერთიფიკატები მე დაცემული letsencrypt. ზედმეტად გაურთულებელი ქსელი რამოდენიმე NAT– ით I სცემეს ipv6– ით. მაგრამ მეჩვენება, რომ ვებჰუკები ძალიან ცუდად მუშაობს სერთიფიკატებით და სინამდვილეში ძალიან ცუდად არის დოკუმენტირებული. და როგორც ჩანს IFTTT არ მუშაობს ipv6– ით. მე შევეცადე რაც შემეძლო, მაგრამ უშედეგოდ. თქვენ შეიძლება გქონდეთ უკეთესი იღბალი. არ დაგავიწყდეთ პოსტის გაკეთება.

განახლება: მე მაქვს იდეა როგორ გავხადო უფრო უსაფრთხო დაშიფვრის გარეშე. თქვენ ქმნით რამდენიმე სკრიპტს თითოეული მოქმედებისთვის, რომლის შესრულებაც გსურთ. თქვენ ცვლით mirobo.sh- ს, რომ დარეკოთ სკრიპტი მოცემული პარამეტრისთვის, რომელიც გაგზავნილია ვებჰუკში, მაგ. სუფთა_საძინებელი. Ის არის. ყველაზე მეტად ვინც გამოიყენებს კაკლს, არის ის, რომ გაწმინდოს თქვენი საძინებელი ისევ და ისევ …)) მას შემდეგ რაც ამას გავაკეთებ, მე განვაახლებ ინსტრუქციას

ნაბიჯი 5: როგორ დავხატოთ თქვენი რუკა

როგორ დავხატოთ თქვენი რუკა
როგორ დავხატოთ თქვენი რუკა

მას შემდეგ რაც თქვენი სრული რუკა მზად იქნება თქვენს MiHome აპლიკაციაში გაგზავნეთ თქვენი ვაკუუმი კონკრეტულ ადგილას 'app_goto' ბრძანების საშუალებით.

გააკეთეთ სრული რუქის ეკრანის ანაბეჭდი პოზიციის გაგზავნით და ბაზით. ვაკუუმის გადატვირთვის შემდეგ საბაზისო წერტილი არის პოზიცია [25500, 25500] ეს არ არის დატენვის ბაზის პოზიცია, მაგრამ თუ ვაკუუმს გადატვირთავთ დატენვის ბაზაზე, დატენვის ბაზის პოზიცია იქნება 25500, 25500. ასე რომ ცნობილი პოზიციიდან გაიგზავნა და საბაზისო პოზიცია შეგიძლიათ ააწყოთ თქვენი რუკა ნებისმიერ CAD პროგრამაზე თქვენ მიერ გადაღებული ეკრანის ანაბეჭდით. მე გამოვიყენე უფასო QCAD.

სურათის ბადეზე მორგების შემდეგ ვიყენებ ხაზს ოთახის გასწვრივ, რათა გავზომო ზონის საწყისი და ბოლო წერტილი.

გირჩევთ: