תוכן עניינים:
- שלב 1: השג את אבק האסימון והשורש
- שלב 2: התקן והגדר את החבילות הדרושות תחת שורש על ואקום
- שלב 3: הגדר את לחצני המקף של אמזון
- שלב 4: הגדרת נתב לבקשת לחצן בקשה ושליטה ב- MiVacuum
- שלב 5: כיצד לתכנן את המפה שלך
וִידֵאוֹ: ואקום XiaoMi + לחצן אמזון = ניקוי מקף: 5 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
הוראה זו תסביר כיצד להשתמש בלחצני המקף הזמינים של אמזון לשליטה בוואקום של XiaoMi.
קיבלתי חבורה של לחצני אמזון כשהם עולים $ 1 ולא היה לי שום שימוש בהם. אבל עם קבלת ואקום רובוט חדש החלטתי שיהיה נוח מאוד להשתמש בכפתורים אלה כבקרה לשואב.
לחץ על כפתור ה- Ziploc וזה יישאב את חדר השינה.
לחץ על כפתור Glad וזה יביא לשואב את הסלון.
תלחץ על פיג'י.. טוב הבנת את הרעיון.
בפרויקט זה יש שילוב פריצות רבות מהאינטרנט. אני באמת מעריך את העבודה שכל כך הרבה אנשים עשו וחושבים שאני חייב לשתף את התכשיר הקטן שלי על סמך המחקר שלהם.
כתב ויתור: כל הצעדים למטה שאתה עושה על אחריותך בלבד! אם תעקוב אחר הצעדים בזהירות, הסיכוי שאתה עלול לפגוע במשהו קטן מאוד. אבל זה לא קורה! ואני לא לוקח אחריות על זה. BTW ניתן לשנות את כל השלבים כך שאולי אין הפרת אחריות. אבל כמובן - YMMV
העיקרון הבסיסי הוא ללכוד את הלחיצה על כפתור המקף על הנתב ולשלוח את וו הוק ל- Vac במקום לקנות דברים מאמזון.
מה שאתה תצטרך:
- נתב עם קושחה מותאמת אישית שיכול לשלוט ב- DHCP, להריץ סקריפטים ולמלא שאילתות קבלה. מיקרוטיק, DD-WRT, OpenWRT, עגבניות וכו '.
- ואקום של XiaoMi. v1 או v2
- לחצני Dash של אמזון
ספציפית במה השתמשתי:
- מיקרוטיק
- XiaoMi v2 ואקום רובורוק S50
- חבורה של לחצני דאש של אמזון
להלן ההליך
- אנו שורשים ואקום
- התקן והגדר את החבילות הדרושות תחת שורש בוואקום
- הגדר את לחצן Dash של אמזון
- נתב התקנה כדי ללכוד את בקשת הכפתורים ולשלוט בוואקום
שים לב: למעשה אינך צריך לשרש את הוואקום שלך כדי לשלוט בו. אם יש לך שרת אחר ברשת שלך (או בכל מקום שהוא) שיכול להריץ פייתון או 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
זה עובד כדלקמן.
כאשר לוחצים על כפתור הוא מתחבר לרשת שלך ומבקש משרת 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 בחינם.
לאחר התאמת התמונה לרשת אני משתמש בקו לרוחב החדר כדי למדוד את נקודת ההתחלה והסיום של האזור.
מוּמלָץ:
לחצן הקסם 4k: 20USD BMPCC 4k (או 6k) שלט רחוק אלחוטי: 4 שלבים (עם תמונות)
כפתור הקסם 4k: השלט הרחוק האלחוטי של 20USD BMPCC 4k (או 6k): אנשים רבים ביקשו ממני לשתף כמה פרטים על הבקר האלחוטי שלי עבור BMPCC4k. רוב השאלות היו על בקרת ה- Bluetooth, אז אזכיר כמה פרטים על זה. אני מניח שאתה מכיר את הסביבה ESP32 Arduino
מדריך Arduino - לחצן בסגנון BLYNK ומודול ממסר ESP -01: 3 שלבים (עם תמונות)
Arduino Tutorial - BLYNK Styled Button ו- ESP -01 Relay Module: ברוכים הבאים להדרכה נוספת בערוץ שלנו, זו ההדרכה הראשונה של העונה שתוקדש למערכות IoT, כאן נתאר כמה מהתכונות והפונקציונליות של המכשירים בשימוש במערכות מסוג זה. ליצירת
יישום של לחצן הניתן להרחבה עם משוב על רטט: 7 שלבים (עם תמונות)
יישום של לחצן הניתן להרחבה עם משוב על רטט: במדריך זה נציג לך לראשונה כיצד להשתמש ב- Arduino Uno לשליטה במנוע רטט באמצעות כפתור מורחב. רוב ההדרכות על כפתורי לחיצה כרוכות בלחצן בלוח הלחם הפיזי, בעוד שבמדריך זה הכפתור היה
לחצן בטיחות אלחוטי לבטיחות PLC: 6 שלבים (עם תמונות)
לחצן בטיחות אלחוטי לבטיחות PLC: פרויקט זה הוא הוכחת הרעיון שלי לשימוש ב- IoT ובסופו של דבר ברובוטיקה ליצירת שכבת בטיחות נוספת למתקני ייצור מסוכנים. ניתן להשתמש בלחצן זה כדי להתחיל או לעצור תהליכים מרובים, כולל שליטה באות
בקר מיקרו AVR. החלף נוריות LED באמצעות מתג לחצן. הפעלת לחצן לחיצה: 4 שלבים
בקר מיקרו AVR. החלף נוריות LED באמצעות מתג לחצן. הפעלת לחצני לחיצות: בפרק זה נלמד כיצד ליצור קוד C של תוכנית ATMega328PU כדי להחליף את מצב שלוש נוריות הלדים בהתאם לקלט ממתג כפתורים. כמו כן, חקרנו פתרונות לבעיה של 'Switch Bounce'. כרגיל, אנו יכולים