תוכן עניינים:

ואקום XiaoMi + לחצן אמזון = ניקוי מקף: 5 שלבים (עם תמונות)
ואקום XiaoMi + לחצן אמזון = ניקוי מקף: 5 שלבים (עם תמונות)

וִידֵאוֹ: ואקום XiaoMi + לחצן אמזון = ניקוי מקף: 5 שלבים (עם תמונות)

וִידֵאוֹ: ואקום XiaoMi + לחצן אמזון = ניקוי מקף: 5 שלבים (עם תמונות)
וִידֵאוֹ: ANKER EUFY WETVAC W31 שואב אבק אלחוטי מומלץ 2024, נוֹבֶמבֶּר
Anonim
ואקום XiaoMi + לחצן אמזון = ניקוי מקף
ואקום XiaoMi + לחצן אמזון = ניקוי מקף

הוראה זו תסביר כיצד להשתמש בלחצני המקף הזמינים של אמזון לשליטה בוואקום של XiaoMi.

קיבלתי חבורה של לחצני אמזון כשהם עולים $ 1 ולא היה לי שום שימוש בהם. אבל עם קבלת ואקום רובוט חדש החלטתי שיהיה נוח מאוד להשתמש בכפתורים אלה כבקרה לשואב.

לחץ על כפתור ה- Ziploc וזה יישאב את חדר השינה.

לחץ על כפתור Glad וזה יביא לשואב את הסלון.

תלחץ על פיג'י.. טוב הבנת את הרעיון.

בפרויקט זה יש שילוב פריצות רבות מהאינטרנט. אני באמת מעריך את העבודה שכל כך הרבה אנשים עשו וחושבים שאני חייב לשתף את התכשיר הקטן שלי על סמך המחקר שלהם.

כתב ויתור: כל הצעדים למטה שאתה עושה על אחריותך בלבד! אם תעקוב אחר הצעדים בזהירות, הסיכוי שאתה עלול לפגוע במשהו קטן מאוד. אבל זה לא קורה! ואני לא לוקח אחריות על זה. BTW ניתן לשנות את כל השלבים כך שאולי אין הפרת אחריות. אבל כמובן - YMMV

העיקרון הבסיסי הוא ללכוד את הלחיצה על כפתור המקף על הנתב ולשלוח את וו הוק ל- Vac במקום לקנות דברים מאמזון.

מה שאתה תצטרך:

  • נתב עם קושחה מותאמת אישית שיכול לשלוט ב- DHCP, להריץ סקריפטים ולמלא שאילתות קבלה. מיקרוטיק, DD-WRT, OpenWRT, עגבניות וכו '.
  • ואקום של XiaoMi. v1 או v2
  • לחצני Dash של אמזון

ספציפית במה השתמשתי:

  • מיקרוטיק
  • XiaoMi v2 ואקום רובורוק S50
  • חבורה של לחצני דאש של אמזון

להלן ההליך

  1. אנו שורשים ואקום
  2. התקן והגדר את החבילות הדרושות תחת שורש בוואקום
  3. הגדר את לחצן Dash של אמזון
  4. נתב התקנה כדי ללכוד את בקשת הכפתורים ולשלוט בוואקום

שים לב: למעשה אינך צריך לשרש את הוואקום שלך כדי לשלוט בו. אם יש לך שרת אחר ברשת שלך (או בכל מקום שהוא) שיכול להריץ פייתון או php אתה יכול להפנות אליהם אתרי אינטרנט. אבל אני לא. ורציתי לשמור אותו מסודר וקומפקטי על הוואקום עצמו. אז אם אתה לא אוהב את הגישה שלי אני מניח שאתה יכול להבין איך להגדיר שרת איש הביניים שלך מתוך קריאה זו. פשוט לך ישר לנקודה 2.

אוקיי הנה אנחנו הולכים…

שלב 1: השג את אבק האסימון והשורש

השג את אבק האסימון והשורש
השג את אבק האסימון והשורש
להשיג את אבק האסימון והשורש
להשיג את אבק האסימון והשורש
להשיג את אבק האסימון והשורש
להשיג את אבק האסימון והשורש
השג את אבק האסימון והשורש
השג את אבק האסימון והשורש

כל התוכנות, תוכנות fim והוראות השתרשות התקבלו מ: https://4pda.ru/forum/index.php? Showtopic = 881982

אם יש לך מערכת הפעלה שאינה חלונות וטלפון שאינו אנדרואיד (אתה יכול להשתמש בוירטואלי עם 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 שלך. עליך להגדיר את סין היבשתית בחשבונך ולהוסיף לו ואקום).

הקש על סמל ואקום הגדרות (שלוש נקודות בצד ימין למעלה) הגדרות כלליות פרטי רשת

מלא את כתובת ה- IP וסימן win-mirobo/win-mirobo.ini

השבת חומת אש בחלונות. הפעל win-mirobo.bat והבהב את הקושחה.

!!!!!!!!! V1 מיועד לאקום v1 ו- V2 הוא עבור ואקום v2 (Roborock S50) !!!!!!! אם הבזקת FW לא נכון - עבור לקישור 4pda (ראשון בשלב זה) וקרא כיצד להתאושש.

Arter Vacuum reboots - השתרשת בהצלחה את הוואקום שלך ועכשיו יש לך גישה אליו באמצעות ssh!

SSH אליו (עם מרק) עם המנקה/מנקה. שנה את הסיסמה שלך באמצעות passwd

שלב 2: התקן והגדר את החבילות הדרושות תחת שורש על ואקום

הַנָחַת יְסוֹד

במקום webhooks MiVacuum משתמש בפרוטוקול miio כמו כל מכשירי IoT של XiaoMi. אז עלינו ללמוד את זה כדי להבין הוקי אינטרנט. אנו זקוקים לאיש אמצעי שיכול לתפוס ווהוק ולתרגם אותו לפרוטוקול miio למכשיר. יש ספריית פייתון (https://github.com/rytilahti/python-miio) אך איננו יכולים להשתמש בה על הוואקום מכיוון שאין מספיק מקום ל- Python 3.5+ בוואקום.

אך למרבה המזל יש ספריית php-miio (https://github.com/skysilver-lab/php-miio) שהיא יחסית מאוד קלה וזה מה שנשתמש בה (btw היא משמשת גם ב- win-mirobo למעלה). מי שתופס את webhook הוא daemon webhook (https://github.com/adnanh/webhook) שמפעיל את הסקריפט ל- php ב- webhook נכנס.

SSH לאקום שלך (עם מרק):

#לעשות תחת שורש. כן אני יודע שזה לא בטוח..איזה סדנאות su #כאן אנו מתקינים את כל הדרוש apt-get install -y wget php5-cli nano #כל דבר אחר הולך /opt cd /opt

#הורד 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

#הורד שד של 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 שמור 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/hooks/mirobo? method = find_me

שיטה - פקודה

מצלמות - פרמטרים

כל השיטות (הפקודות) והפרמטרים שתוכלו למצוא כאן:

github.com/marcelrv/XiaomiRobotVacuumProtocol

תוכן ה hooks.json

שנה את האסימון שלך כאן לאסימון שלך מאקום.

תקן את רשימת ההיתרים של ה- ip לרשת המקומית שלך או הסר אותה לחלוטין אם אתה מפעיל את הקרסים ממקומות אחרים (לא בטוח).

[{"id": "mirobo", "execute-command": "/opt/webhook/mirobo.sh", "command-working-directory": "/opt/webhook", "response-message": "ביצוע script mirobo "," include-command-output-in-response ": false," pass-environment-to-command ": [{" source ":" string "," envname ":" token "," name ": "your-token-here"}], "pass-argument-to-command": [{"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'-אסימון $ אסימון --sendcmd '{"id":' $ RANDOM ', "method": "' $ 1 '", "params": [' $ 2 ']}'

שלב 3: הגדר את לחצני המקף של אמזון

פתח את אפליקציית אמזון שלך. עבור אל התקני דאש. הוסף כפתור מקף חדש כרגיל. בהנחה לבחור מוצר אל תעשה. סגור את האפליקציה. אתה גמור.

שלב 4: הגדרת נתב לבקשת לחצן בקשה ושליטה ב- MiVacuum

הגדרת נתב לבקשת לחצני שליטה ובקרה על MiVacuum
הגדרת נתב לבקשת לחצני שליטה ובקרה על MiVacuum
הגדרת נתב לבקשת לחצני שליטה ובקרה על MiVacuum
הגדרת נתב לבקשת לחצני שליטה ובקרה על MiVacuum
הגדרת נתב לבקשת לחצני שליטה ובקרה על MiVacuum
הגדרת נתב לבקשת לחצני שליטה ובקרה על MiVacuum

זה עובד כדלקמן.

כאשר לוחצים על כפתור הוא מתחבר לרשת שלך ומבקש משרת dhcp להקצות כתובת זה. עלינו לתפוס את הבקשה הזו ולבצע ווהוק לשואב. כאמצעי אבטחה נוסף נחסום את החיבור לאמזון כדי שאמזון לא תדע שאפילו לחצנו על הכפתור ואין לנו יכולת לדחוף עדכון קושחה או משהו אחר.

לרוב אני משתמש ב- WinBox, אך לפעמים מסוף פשוט יותר קל.

#צור כלל ירידת חומת אש עם רשימת כתובות לחסימה

/ip מסנן חומת אש הוסף שרשרת = קדימה src-address-list = blockdash action = drop comment = "זרוק אמזון דאש"

לאחר מכן עלינו ליצור כלל חכירת dhcp לכל כפתור. קל מאוד לביצוע ב- winbox.

שרת DHCP - חכירות

אלה שאנו לוחצים על הכפתור ההשכרה החדשה מופיעה. אנו לוחצים עליו כסטטי ומגדירים את רשימת הכתובות ל'בלוקדאש ', מגדירים את זמן החכירה ל -5 שניות (כך שתוקף החכירה יפוג לפני הלחיצה הבאה) ועתק את כתובת ה- mac להמשך.

#פקודה זו מיועדת רק לעיון אם הוספת חכירה ב- winbox פשוט דלג עליה.

/ip dhcp-server lease להוסיף כתובת-רשימת = blockdash mac-address = XXXXXXXXXX כתובת = 192.168.x.x זמן חכירה = 5 שניות

כעת עלינו להצביע על חכירת סקריפט.

פתח את כרטיסיית DHCP והוסף 'myLeaseScript' כתסריט חכירה בשרת ה- dhcp שלך.

כעת פתח את מערכת - סקריפטים והוסף 'myLeaseScript' עם הרשאות קריאה, בדיקה.

תוכן myLeaseScript:

#Script נקרא פעמיים בחכירה (1) ובמהדורה (0): אם ($ leaseBound = 1) do = { /log info ("הפעלת myLeaseScript. מישהו לחץ על לחצן מקף?")

#מערך של כל הכפתורים שלך וכתובת האתר להתקשרות

: לחצנים מקומיים {"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/ווים/מירובו? שיטה = 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 של acll

: foreach mac, url in = $ buttons do = {: if ($ mac = $ leaseActMAC) do = { /log info ("לחץ". $ mac. "button") /tool fetch keep-result = אין מצב = https http-method = כתובת אתר = $ url}}}

כעת הפכת את הניקיון לאוטומטי בלחיצת כפתור מקף של אמזון. תעשה חיים

אנא שימו לב: זה מאוד לא בטוח לשלוח אתרי אינטרנט לא מוצפנים. Webhook יכול להשתמש בהצפנה, אך עם זאת ניסיתי לגרום לזה לעבוד זה פשוט לא קרה. מכיוון שאני משתמש בו רק ברשת המקומית שלי אני לא מודאג יותר מדי. אבל אם אתה רוצה להשתמש בו דרך האינטרנט כדי להתחבר ל- IFTTT עם שילוב של Google Assistant, שים לב לעובדה זו! אני לא בטוח מה הייתה הסיבה לכישלון קריפטו במקרה שלי. אישורים בחתימה עצמית שהנצחתי איתם שהונפקו על ידי letsencrypt. רשת מסובכת מדי עם חבורת NAT בהן ניצחתי עם ipv6. אבל נראה לי ש- webhooks עובד רע מאוד עם תעודות ולמעשה מתועד מאוד גרוע. ונראה ש- IFTTT לא עובד עם ipv6. ניסיתי כל מה שיכולתי, אך לא הצלחתי. אולי יהיה לך מזל טוב יותר. אל תשכח לכתוב פוסט.

עדכון: יש לי מושג כיצד להפוך אותו לאבטח יותר ללא הצפנה. אתה יוצר כמה סקריפטים לכל פעולה שאתה רוצה לבצע. אתה משנה את mirobo.sh כדי לקרוא לתסריט עם הפרמטר הנתון שנשלח ב- webhook למשל. חדר נקי. זהו זה. האדם ביותר שינצל את הקרס יעשה הוא לנקות את חדר השינה שלך שוב ושוב …)) ברגע שאעשה זאת אעדכן את ההנחיה

שלב 5: כיצד לתכנן את המפה שלך

כיצד לתכנן את המפה שלך
כיצד לתכנן את המפה שלך

לאחר שהמפה המלאה שלך מוכנה באפליקציית MiHome שלך שלח את הוואקום שלך למיקום ספציפי באמצעות הפקודה 'app_goto'.

צלם צילום מסך של מפה מלאה עם המיקום שנשלח והבסיס. נקודת הבסיס לאחר אתחול מחדש של הוואקום היא המיקום [25500, 25500] זו לא העמדה של בסיס הטעינה, אבל אם תאתחל מחדש את הוואקום בבסיס הטעינה אז המיקום של בסיס הטעינה יהיה 25500, 25500. אז מהמיקום הידוע נשלח ואת מיקום הבסיס אתה יכול לשרטט את המפה שלך על כל תוכנית CAD בעזרת צילום המסך שצילמת. השתמשתי ב- QCAD בחינם.

לאחר התאמת התמונה לרשת אני משתמש בקו לרוחב החדר כדי למדוד את נקודת ההתחלה והסיום של האזור.

מוּמלָץ: