Isi kandungan:
- Langkah 1: Dapatkan Vakum Token dan Akar
- Langkah 2: Pasang dan Konfigurasikan Pakej Yang Perlu Di Bawah Root on Vacuum
- Langkah 3: Sediakan Butang Dash Amazon
- Langkah 4: Siapkan Router untuk Menangkap Permintaan Butang dan Mengawal MiVacuum
- Langkah 5: Cara Memetakan Peta Anda
Video: XiaoMi Vacuum + Amazon Button = Dash Cleaning: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Arahan ini akan menerangkan cara menggunakan Amazon Dash Buttons untuk Mengawal XiaoMi Vacuum.
Saya mendapat sebilangan besar Tombol Amazon dari masa mereka $ 1 dan saya tidak menggunakannya. Tetapi semasa menerima Robot Vakum baru, saya memutuskan bahawa sangat mudah untuk menggunakan butang ini sebagai kawalan ke vakum.
Tekan butang Ziploc dan ia akan mengosongkan Bilik Tidur.
Tekan butang Senang dan ia akan mengosongkan Ruang Tamu.
Tekan Fiji.. baik anda ada idea.
Projek ini terdapat banyak peretasan dari internet. Saya sangat menghargai karya yang telah dilakukan oleh banyak orang dan berpendapat bahawa saya harus berkongsi alat kecil saya berdasarkan kajian mereka.
Penafian: Semua langkah di bawah anda lakukan dengan risiko anda sendiri! Sekiranya anda mengikuti langkah-langkahnya dengan teliti, kemungkinan anda akan merosakkan sesuatu. Tetapi sh # t berlaku! Dan saya tidak bertanggungjawab. BTW semua langkah dapat diterbalikkan sehingga berpotensi tidak ada pelanggaran jaminan. Tetapi sudah tentu - YMMV
Prinsip asasnya ialah kita menekan butang dash tekan pada penghala dan menghantar webhook ke Vacuum dan bukannya membeli barang dari Amazon.
Apa yang anda perlukan:
- Router dengan firmware tersuai yang dapat mengawal DHCP, menjalankan skrip dan memenuhi permintaan get | post. Mikrotik, DD-WRT, OpenWRT, Tomato dll.
- Vakum XiaoMi. v1 atau v2
- Butang Dash Amazon
Terutama apa yang saya gunakan:
- Mikrotik
- XiaoMi v2 Vacuum Roborock S50
- Sekumpulan Butang Dash Amazon
Inilah prosedurnya
- Kami membasmi kekosongan
- Pasang dan konfigurasikan pakej yang diperlukan di bawah root pada vakum
- Sediakan butang Dash Amazon
- Siapkan Router untuk menangkap permintaan butang dan mengawal Vacuum
NB: Sebenarnya anda tidak perlu mengosongkan kekosongan anda untuk mengendalikannya. Sekiranya anda mempunyai pelayan lain di lan anda (atau di mana sahaja) yang boleh menjalankan python atau php, anda boleh mengarahkan webhooks kepada mereka. Tetapi saya tidak. Dan saya mahu memastikannya kemas dan padat pada kekosongan itu sendiri. Oleh itu, jika anda tidak menyukai pendekatan saya, saya anggap anda dapat mengetahui cara menyediakan pelayan orang tengah anda sendiri dari bacaan ini. Langsung ke titik 2.
Ok di sini kita pergi …
Langkah 1: Dapatkan Vakum Token dan Akar
Semua perisian, perisian perisian dan arahan untuk rooting diperoleh dari: https://4pda.ru/forum/index.php? Showtopic = 881982
Sekiranya anda mempunyai OS selain Windows dan telefon selain Android (anda boleh menggunakan maya dengan nox) ikuti pautan di atas (gunakan Google Translate) dan baca arahan sebaliknya ikuti manual di sini.
Untuk melakukan root, kami perlu mendapatkan alamat ip dan token dari ruang kosong anda.
Buka root.7z.
Pasang Mihome dari Vevs pada Android anda. Anda boleh menggunakannya dari Arkib atau jika arahan ini bertarikh maka versi terbaru boleh didapati dari laman webnya (https://www.kapiba.ru/2017/11/mi-home.html) atau Google Drive-nya (https://drive.google.com/drive/folders/1IyjvIWiGaeD7iLWWtBlb6jSEHTLg9XGj)
Log masuk ke MiHome anda. Anda harus menetapkan China Daratan pada akaun anda dan menambahkan Vacuum ke dalamnya).
Ketik pada Tetapan ikon Vakum (Tiga titik di kanan atas) Maklumat Rangkaian Tetapan Umum
Isi alamat ip dan token di win-mirobo / win-mirobo.ini
Lumpuhkan firewall di tingkap. Lancarkan win-mirobo.bat dan flash firmware.
!!!!!!!!! V1 adalah untuk v1 Vacuum dan V2 adalah untuk v2 Vacuum (Roborock S50) !!!!!!! Sekiranya anda salah FW - pergi ke pautan 4pda (pertama dalam langkah ini) dan baca cara memulihkannya.
Arter Vacuum reboot - anda berjaya mengosongkan kekosongan anda dan sekarang anda boleh mengaksesnya melalui ssh!
SSH kepadanya (dengan Putty) dengan pembersih / pembersih. Tukar kata laluan anda dengan passwd
Langkah 2: Pasang dan Konfigurasikan Pakej Yang Perlu Di Bawah Root on Vacuum
Premis
Daripada webhooks MiVacuum menggunakan protokol miio seperti juga setiap peranti XiaoMi IoT. Oleh itu, kita harus mempelajarinya untuk memahami webhooks. Kami memerlukan orang tengah yang dapat menangkap webhook dan menerjemahkannya ke protokol miio ke peranti. Terdapat python library (https://github.com/rytilahti/python-miio) tetapi kami tidak dapat menggunakannya di ruang hampa kerana tidak ada ruang yang cukup untuk Python 3.5+ di Vacuum.
Tetapi untungnya ada perpustakaan php-miio (https://github.com/skysilver-lab/php-miio) yang relatif sangat ringan dan inilah yang akan kita gunakan (btw ia juga digunakan dalam win-mirobo di atas). Orang yang menangkap webhook adalah webhook daemon (https://github.com/adnanh/webhook) yang menjalankan skrip untuk php pada webhook masuk.
SSH ke vakum anda (dengan Putty):
#Jangan di bawah akar. Ya saya tahu ia tidak selamat..whatevs.sudo su # Di sini kita memasang semua keperluan apt-get install -y wget php5-cli nano #Segala perkara lain akan / pilih cd / opt
#Muat turun php-miio
#Semak terkini di github. Garis betul di bawah mengikut wget terkini 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
#Muat turun daemon webhooks
#Semak terkini di github. Garis betul di bawah mengikut wget terkini 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
#Buat tetapan untuk webhook
nano /opt/webhook/hooks.json #Masukkan kandungan hooks.json di sini. Klik kanan di dempul. # Ctr + X Jimat Y.
#Buat skrip untuk memanggil php-miio
nano /opt/webhook/mirobo.sh #Masukkan kandungan mirobo.sh di sini. Klik kanan di dempul. # Ctr + X Simpan Y. # Buat chmod yang boleh dilaksanakan + x /opt/webhook/mirobo.sh
#Buat skrip autostart dan perbaharui konfigurasi
echo "/ opt / webhook / webhook -hooks /opt/webhook/hooks.json" >> /etc/init.d/webhook.sh chmod ugo + x /etc/init.d/webhook.sh kemas kini-rc.d lalai webhook.sh
#Mulakan semula sistem
but semula
Selepas but semula, tetapkan tetapan anda di penyemak imbas:
192.168.your.ip: 9000 / hooks / mirobo? kaedah = find_me
kaedah - arahan
parameter - parameter
Semua kaedah (perintah) dan parameter yang anda dapati di sini:
github.com/marcelrv/XiaomiRobotVacuumProtocol
Kandungan hooks.json
Tukar token anda-di sini menjadi token anda dari kekosongan.
Betulkan ip-senarai putih untuk rangkaian tempatan anda atau hapus sepenuhnya jika anda menggunakan mata kail dari tempat lain (tidak selamat).
[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/ opt / webhook", "respons-message": "Melaksanakan skrip mirobo "," include-command-output-in-respons ": false," pass-environment-to-command ": [{" source ":" string "," envname ":" token "," name ": "your-token-here"}], "pass-argument-to-command": [{"source": "url", "name": "method"}, {"sumber": "url", "nama ":" params "}]," trigger-rule ": {" match ": {" type ":" ip-whitelist "," ip-range ":" 192.168.1.0/24 "}}}]
kandungan fail mirobo.sh. Cukup copy-paste. Hanya ada dua baris (bukan 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 ']}'
Langkah 3: Sediakan Butang Dash Amazon
Buka Aplikasi Amazon anda. Pergi ke Dash Devices. Tambahkan butang tanda hubung baru seperti biasa. Pada janji untuk memilih produk JANGAN. Tutup aplikasinya. Anda sudah selesai.
Langkah 4: Siapkan Router untuk Menangkap Permintaan Butang dan Mengawal MiVacuum
Ini berfungsi seperti berikut.
Apabila butang ditekan, alat ini bergaul dengan rangkaian anda dan meminta pelayan dhcp memberikan alamatnya. Kita harus memenuhi permintaan itu dan melakukan webhook hingga hampa. Sebagai langkah keselamatan tambahan, kami akan menyekat sambungan ke Amazon sehingga Amazon tidak mengetahui bahawa kami bahkan menekan butang dan tidak mempunyai kemampuan untuk mendorong kemas kini firmware atau yang lain.
Selalunya saya menggunakan WinBox, tetapi kadang-kadang terminal lebih mudah.
# Buat peraturan drop firewall dengan senarai alamat untuk disekat
/ ip firewall filter add chain = maju src-address-list = blockdash action = drop comment = "Jatuhkan Amazon Dash"
Maka kita harus membuat peraturan sewa dhcp untuk setiap butang. Sangat mudah dilakukan di winbox.
Pelayan DHCP - Pajakan
Kami menekan butang pajakan baru muncul. Kami mengkliknya sebagai statik dan menetapkan senarai alamat ke 'blockdash', menetapkan masa sewa menjadi 5 saat (sehingga sewa berakhir sebelum akhbar berikutnya) dan menyalin alamat mac untuk kemudian.
# Perintah ini hanya untuk rujukan sekiranya anda menambahkan pajakan di winbox langkau saja.
/ ip dhcp-server lease add-list-list = blockdash mac-address = XXXXXXXXXX = 192.168.x.x lease-time = 5s
Sekarang kita harus menunjukkan untuk menyewa skrip.
Buka tab DHCP dan tambahkan 'myLeaseScript' sebagai skrip sewa pada pelayan dhcp anda.
Sekarang buka Sistem - Skrip dan tambahkan 'myLeaseScript' dengan kebenaran membaca, ujian.
Kandungan myLeaseScript:
#Script dipanggil dua kali pada sewa (1) dan pada pelepasan (0): if ($ leaseBound = 1) do = {/ log info ("Menjalankan myLeaseScript. Seseorang menekan Dash Button?")
#Susun semua butang dan url untuk dihubungi
: butang tempatan {"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? Kaedah = 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"; };
#Semak butang yang ditekan dan url semua
: foreach mac, url dalam = butang $ do = {: if ($ mac = $ leaseActMAC) do = {/ log info ("Ditekan". $ mac. "butang") / alat ambil simpan-hasil = tiada mod = https http-kaedah = url pos = $ url}}}
Sekarang anda telah mengotomatiskan pembersihan anda dengan menekan Amazon Dash Button. Berseronok
Perhatikan: Sangat tidak selamat untuk menghantar webhooks yang tidak disulitkan. Webhook boleh menggunakan enkripsi, tetapi bagaimanapun saya berusaha untuk membuatnya tidak pernah berlaku. Oleh kerana saya menggunakannya hanya di rangkaian tempatan saya, saya tidak terlalu prihatin. Tetapi jika anda ingin menggunakannya melalui internet untuk menghubungkan IFTTT dengan integrasi Pembantu Google, sila perhatikan fakta ini! Saya tidak pasti apa sebab kegagalan crypto dalam kes saya. Sijil yang ditandatangani sendiri dengan saya dikeluarkan oleh letsencrypt. Rangkaian yang terlalu rumit dengan sekumpulan NAT saya dipukul dengan ipv6. Tetapi menurut saya webhooks berfungsi sangat buruk dengan sijil dan sebenarnya sangat teruk didokumentasikan. Dan nampaknya IFTTT tidak berfungsi dengan ipv6. Saya cuba sedaya mungkin, tetapi gagal. Anda mungkin mempunyai nasib yang lebih baik. Jangan lupa membuat catatan.
upd: Saya mempunyai idea bagaimana menjadikannya lebih selamat tanpa penyulitan. Anda membuat beberapa skrip untuk setiap tindakan yang ingin anda laksanakan. Anda mengubah suai mirobo.sh untuk memanggil skrip dengan parameter tertentu yang dihantar dalam webhook, misalnya. bilik bersih. Itu sahaja. Orang yang paling banyak menggunakan cangkuk adalah membersihkan bilik tidur anda berulang kali …)) Setelah saya melakukannya, saya akan mengemas kini arahan
Langkah 5: Cara Memetakan Peta Anda
Setelah peta lengkap anda siap di aplikasi MiHome anda, hantarkan kekosongan anda ke lokasi tertentu melalui perintah 'app_goto'.
Buat tangkapan skrin peta penuh dengan kedudukan yang dihantar dan pangkalan. Titik asas selepas reboot vakum adalah kedudukan [25500, 25500] INI BUKAN KEDUDUKAN Pangkalan Pengecasan, tetapi jika anda menghidupkan semula vakum di pangkalan pengecasan maka kedudukan pangkalan pengisian akan menjadi 25500, 25500. Jadi dari kedudukan yang diketahui dihantar dan kedudukan asas anda dapat memetakan peta anda di mana-mana program CAD dengan tangkapan skrin yang telah anda ambil. Saya menggunakan QCAD percuma.
Setelah memasang gambar ke grid saya menggunakan garis di seberang bilik untuk mengukur titik permulaan dan akhir zon.
Disyorkan:
Pintu Tanpa Wayar - (Raspberry PI & Amazon Dash): 4 Langkah (dengan Gambar)
Pintu Tanpa Wayar - (Raspberry PI & Amazon Dash): Apa yang dilakukannya? (lihat video) Apabila butang ditekan, Raspberry menemui log masuk peranti baru di rangkaian tanpa wayar. Dengan cara ini - ia dapat mengenali butang yang ditekan dan menyampaikan maklumat mengenai fakta ini ke telefon bimbit anda (atau peranti
Amazon Dash Button Silent Doorbell: 10 Langkah (dengan Gambar)
Amazon Dash Button Silent Doorbell: Sentiasa melihat ke luar tingkap sehingga anda dapat memintas pengunjung sebelum mereka membunyikan bel pintu? Bosan dengan anjing dan bayi menjadi gila bila-bila masa ia berdering? Tidak mahu mengeluarkan banyak wang untuk " pintar " penyelesaian? Membuat bel pintu senyap adalah seperti
Slip di Amazon Fire Remote Remote TV: 3 Langkah (dengan Gambar)
Slip pada Jarak Jauh TV Jauh Api Amazon: Oh Amazon, TV Api anda sangat mengagumkan, mengapa anda tidak memberi kami kawalan kelantangan pada alat kawalan jauh anda? Nah, dengan harga kurang dari $ 5 di Amazon, anda boleh membeli alat kawalan jauh yang comel ini, berkuasa, bisu , isipadu dan salurkan semua dalam pakej kecil. Masukkan pencetak 3d dan
Cara Mengawal Lampu Cahaya / Rumah Menggunakan Arduino dan Amazon Alexa: 16 Langkah (dengan Gambar)
Cara Mengawal Lampu / Lampu Rumah Menggunakan Arduino dan Amazon Alexa: Saya telah menerangkan cara mengawal cahaya yang disambungkan ke UNO dan dikendalikan oleh Alexa
Versi Sendiri Amazon Echo: 8 Langkah (dengan Gambar)
Versi Sendiri Amazon Echo: Hai kawan-kawan, saya rasa semua orang tahu mengenai produk terbaru Amazon Echo yang merupakan alat kawalan suara iaitu kita dapat mengawal peranti dengan suara kita dan bahkan boleh bercakap dengan kita. Oleh kerana terinspirasi oleh idea ini, saya telah membuat versi saya sendiri, yang dapat