جدول المحتويات:
- الخطوة 1: الحصول على فراغ الرمز والجذر
- الخطوة 2: تثبيت الحزم الضرورية وتكوينها ضمن الجذر على الفراغ
- الخطوة 3: إعداد أزرار Amazon Dash
- الخطوة 4: قم بإعداد جهاز التوجيه للقبض على طلب الزر والتحكم في MiVacuum
- الخطوة 5: كيفية رسم خريطتك
فيديو: مكنسة شياومي + زر أمازون = تنظيف داش: 5 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
ستوضح هذه التعليمات كيفية استخدام أزرار Amazon Dash الاحتياطية للتحكم في فراغ XiaoMi.
لقد حصلت على مجموعة من أزرار أمازون من الأوقات التي كانت فيها دولارًا واحدًا ولم أستخدمها. ولكن عند استلام مكنسة روبوت جديدة ، قررت أنه سيكون من الملائم جدًا استخدام هذه الأزرار كعنصر تحكم في الفراغ.
اضغط على زر Ziploc وسيقوم بالمكنسة الكهربائية لغرفة النوم.
اضغط على زر Glad وسيقوم بالمكنسة الكهربائية لغرفة المعيشة.
اضغط على فيجي.. حسنًا ، لديك الفكرة.
لقد تم دمج العديد من المتسللين من الإنترنت في هذا المشروع. إنني أقدر حقًا العمل الذي قام به الكثير من الأشخاص وأعتقد أنه يجب أن أشاركهم في عملتي الصغيرة بناءً على أبحاثهم.
إخلاء المسؤولية: كل الخطوات أدناه تقوم بها على مسؤوليتك الخاصة! إذا اتبعت الخطوات بعناية ، فهناك احتمال ضئيل للغاية في إتلاف شيء ما. لكن ش # ر يحدث! وأنا لا أتحمل أي مسؤولية عن ذلك. راجع للشغل يمكن عكس جميع الخطوات لذلك يحتمل عدم وجود انتهاك الضمان. لكن بالطبع - YMMV
المبدأ الأساسي هو أننا نضغط على زر اندفاعة على جهاز التوجيه ونرسل webhook إلى Vacuum بدلاً من شراء أشياء من Amazon.
ما سوف تحتاجه:
- جهاز توجيه مزود ببرنامج ثابت مخصص يمكنه التحكم في DHCP وتشغيل البرامج النصية وتنفيذ استعلامات get | post. Mikrotik ، DD-WRT ، OpenWRT ، الطماطم ، إلخ.
- مكنسة شياومي. v1 أو v2
- أزرار أمازون داش
على وجه التحديد ما استخدمته:
- ميكروتيك
- شياومي v2 مكنسة كهربائية روبوروك S50
- مجموعة من أزرار Amazon Dash
هنا هو الإجراء
- نحن جذر الفراغ
- تثبيت وتكوين الحزم اللازمة تحت الجذر على الفراغ
- إعداد زر Amazon Dash
- قم بإعداد جهاز التوجيه للقبض على طلب الزر والتحكم في الفراغ
ملحوظة: في الواقع ليس عليك استئصال فراغك للسيطرة عليه. إذا كان لديك أي خادم آخر على الشبكة المحلية (أو في أي مكان) يمكنه تشغيل python أو php ، فيمكنك توجيه خطافات الويب إليهم. لكني لا أفعل. وأردت أن أبقيه مرتبًا ومضغوطًا على المكنسة نفسها. لذلك إذا كنت لا تحب أسلوبي ، أفترض أنه يمكنك معرفة كيفية إعداد خادم الوسيط الخاص بك من هذه القراءة. ما عليك سوى الانتقال مباشرة إلى النقطة 2.
حسنا يلا بينا نبدأ…
الخطوة 1: الحصول على فراغ الرمز والجذر
تم الحصول على جميع البرامج والبرامج الخبيثة والتعليمات الخاصة بالتجذير من:
إذا كان لديك نظام تشغيل بخلاف Windows وهاتف آخر غير Android (يمكنك استخدام ظاهري مع nox) ، فيرجى اتباع الرابط أعلاه (استخدم الترجمة من Google) وقراءة التعليمات وإلا اتبع الدليل هنا.
من أجل الوصول إلى الجذر ، نحتاج إلى الحصول على عنوان 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 Vacuum و V2 مخصص لـ v2 Vacuum (Roborock S50) !!!!!!! إذا تومض خطأ FW - انتقل إلى رابط 4pda (أولاً في هذه الخطوة) واقرأ كيفية الاسترداد.
يعيد تشغيل Arter Vacuum - لقد نجحت في تجذير فراغك والآن يمكنك الوصول إليه عبر ssh!
SSH عليها (مع المعجون) مع المنظف / المنظف. التغيير إلى كلمة المرور الخاصة بك مع passwd
الخطوة 2: تثبيت الحزم الضرورية وتكوينها ضمن الجذر على الفراغ
فرضية
بدلاً من خطافات الويب ، يستخدم MiVacuum بروتوكول miio كما تفعل كل أجهزة XiaoMi IoT. لذلك علينا أن نتعلمها لفهم الخطافات على الويب. نحتاج إلى وسيط يمكنه التقاط خطاف الويب وترجمته إلى بروتوكول miio إلى الجهاز. توجد مكتبة python (https://github.com/rytilahti/python-miio) لكن لا يمكننا استخدامها في الفراغ نظرًا لعدم وجود مساحة كافية لـ Python 3.5+ في الفراغ.
لكن لحسن الحظ ، توجد مكتبة php-miio (https://github.com/skysilver-lab/php-miio) وهي خفيفة جدًا نسبيًا وهذا ما سنستخدمه (راجع للشغل يتم استخدامه أيضًا في win-mirobo أعلاه). الشخص الذي يمسك webhook هو webhook daemon (https://github.com/adnanh/webhook) الذي يقوم بتشغيل البرنامج النصي لـ php على webhook الوارد.
SSH إلى المكنسة الكهربائية الخاصة بك (مع المعجون):
# هل تحت الجذر. نعم ، أعلم أنه ليس آمنًا..ماذا يجب أن نفعل ذلك؟
# تنزيل php-miio
# تحقق من الأحدث على جيثب. قم بتصحيح الأسطر أدناه وفقًا لأحدث 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
#Download webhooks daemon
# تحقق من الأحدث على جيثب. السطر الصحيح أدناه وفقًا لأحدث 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
#Create settings for webhook
nano /opt/webhook/hooks.json #Input hooks.json content هنا. انقر بزر الماوس الأيمن في المعجون. # Ctr + X احفظ Y.
#Create script لاستدعاء php-miio
nano /opt/webhook/mirobo.sh # إدخال محتوى mirobo.sh هنا. انقر بزر الماوس الأيمن في المعجون. # Ctr + X احفظ Y. # إنشاء chmod قابل للتنفيذ + x /opt/webhook/mirobo.sh
#Create autostart script وتجديد التكوينات
صدى "/ 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
محتوى الخطافات
قم بتغيير الرمز المميز الخاص بك هنا إلى رمزك المميز من الفراغ.
قم بتصحيح قائمة IP البيضاء لشبكتك المحلية أو قم بإزالتها تمامًا إذا قمت بتشغيل الخطافات الخاصة بك من مكان آخر (غير آمن).
[{"id": "mirobo"، "تنفيذ الأمر": "/opt/webhook/mirobo.sh"، "command-working-directory": "/ opt / webhook"، "response-message": "Executing برنامج 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 ": {" 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 --sendcmd '{"id":' $ RANDOM '، "method": "' $ 1 '"، "params": [' $ 2 ']}'
الخطوة 3: إعداد أزرار Amazon Dash
افتح تطبيق أمازون الخاص بك. انتقل إلى أجهزة داش. أضف زر شرطة جديد كالمعتاد. في برومت لاختيار منتج لا تفعل ذلك. أغلق التطبيق. انتهيت.
الخطوة 4: قم بإعداد جهاز التوجيه للقبض على طلب الزر والتحكم في MiVacuum
هذا يعمل على النحو التالي.
عند الضغط على الزر ، يتم ربطه بشبكتك ويطلب من خادم dhcp تعيين عنوان له. علينا أن نلتقط هذا الطلب وننفذ خطاف الويب إلى الفراغ. كإجراء أمني إضافي ، سنقوم بحظر الاتصال بـ Amazon حتى لا تعرف Amazon أننا ضغطنا على الزر وليس لدينا القدرة على دفع تحديث البرامج الثابتة أو أي شيء آخر.
في الغالب أستخدم WinBox ، لكن في بعض الأحيان تكون المحطة الطرفية أسهل.
#Create firewall drop rule مع قائمة العناوين لحظرها
/ ip firewall filter add chain = forward src-address-list = blockdash action = إسقاط التعليق = "Drop Amazon Dash"
ثم يتعين علينا إنشاء قاعدة إيجار dhcp لكل زر. من السهل جدا القيام به في winbox.
خادم DHCP - عقود الإيجار
نضغط على الزر يظهر عقد الإيجار الجديد. نقوم بالنقر فوقه كعنوان ثابت وقمنا بتعيين قائمة العناوين على "blockdash" ، وقمنا بتعيين وقت التأجير على 5 ثوانٍ (بحيث ينتهي عقد الإيجار قبل الضغط التالي) ونسخ عنوان mac في وقت لاحق.
# هذا الأمر هو للإشارة فقط إذا أضفت عقد إيجار في winbox فقط تخطيه.
/ ip dhcp-server lease-add address-list = blockdash mac-address = XXXXXXXXXX العنوان = 192.168.x.x lease-time = 5s
الآن علينا أن نشير إلى برنامج نصي للإيجار.
افتح علامة التبويب DHCP وأضف "myLeaseScript" كبرنامج نصي للتأجير على خادم dhcp.
افتح الآن System - Scripts وأضف "myLeaseScript" بأذونات القراءة والاختبار.
محتوى myLeaseScript:
يتم استدعاء #Script مرتين عند الإيجار (1) وفي الإصدار (0): إذا ($ leaseBound = 1) do = {/ 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" ؛ } ؛
#Check الزر المضغوط وعنوان URL لـ ACll
: foreach mac، url in = أزرار $ do = {: if ($ mac = $ leaseActMAC) do = {/ log info ("Pressed". $ mac. "button") / tool fetch keep-result = no mode = https http-method = عنوان url للنشر = $ url}}}
لقد أتممت التنظيف تلقائيًا بضغطة زر Amazon Dash Button. استمتع
يرجى الانتباه: من غير الآمن إرسال خطاطيف الويب غير المشفرة. يمكن أن يستخدم Webhook التشفير ، ولكن مع ذلك حاولت جعله يعمل ، لم يحدث ذلك مطلقًا. نظرًا لأنني أستخدمها فقط في شبكتي المحلية ، فأنا لست قلقًا للغاية. ولكن إذا كنت ترغب في استخدامه عبر الإنترنت للتواصل مع IFTTT مع تكامل مساعد Google ، فيرجى الانتباه إلى هذه الحقيقة! لست متأكدًا من سبب فشل التشفير في حالتي. الشهادات الموقعة ذاتيًا التي مررت بها صادرة عن Letsencrypt. شبكة معقدة للغاية مع مجموعة من NATs التي تغلبت عليها مع IPv6. لكن يبدو لي أن الخطافات على الويب تعمل بشكل سيئ للغاية مع الشهادات وفي الواقع موثقة بشكل سيئ للغاية. ويبدو أن IFTTT لا يعمل مع IPv6. حاولت كل ما بوسعي ، لكنني فشلت. قد يكون لديك حظ أفضل. لا تنس أن تنشر وظيفة.
محدث: لدي فكرة عن كيفية جعله أكثر أمانًا بدون تشفير. تقوم بإنشاء بعض البرامج النصية لكل إجراء تريد القيام به. يمكنك تعديل mirobo.sh لاستدعاء البرنامج النصي باستخدام معلمة معينة تم إرسالها في webhook على سبيل المثال. غرفة نوم نظيفة. هذا كل شيء. أكثر من يستغل الخطاف سيفعله هو تنظيف غرفة نومك مرارًا وتكرارًا …)) بمجرد أن أفعل ذلك ، سأقوم بتحديث التعليمات
الخطوة 5: كيفية رسم خريطتك
بمجرد أن تكون خريطتك الكاملة جاهزة في تطبيق MiHome ، أرسل فراغك إلى موقع محدد عبر أمر "app_goto".
قم بعمل لقطة شاشة للخريطة الكاملة مع إرسال الموقع والقاعدة. النقطة الأساسية بعد إعادة تشغيل الفراغ هي الموضع [25500 ، 25500] ليس هذا هو موضع قاعدة الشحن ، ولكن إذا أعدت تشغيل الفراغ في قاعدة الشحن ، فسيكون موضع قاعدة الشحن 25500 ، 25500. لذلك من الموضع المعروف المرسل والموقع الأساسي ، يمكنك رسم خريطتك على أي برنامج CAD باستخدام لقطة الشاشة التي التقطتها. لقد استخدمت QCAD المجاني.
بعد تركيب الصورة على الشبكة ، أستخدم خطًا عبر الغرفة لقياس نقطة البداية والنهاية للمنطقة.
موصى به:
خوذة أمان كوفيد - الجزء الأول: مقدمة إلى دوائر تينكركاد: 20 خطوة (بالصور)
Covid Safety Helmet الجزء الأول: مقدمة عن دوائر Tinkercad!: مرحبًا ، صديق! في هذه السلسلة المكونة من جزأين ، سنتعلم كيفية استخدام دوائر Tinkercad - أداة ممتعة وقوية وتعليمية للتعرف على كيفية عمل الدوائر! واحدة من أفضل طرق التعلم ، هي أن تفعل. لذلك ، سنقوم أولاً بتصميم مشروعنا الخاص: ال
راديو الإنترنت BOSEBerry Pi: 4 خطوات (بالصور)
راديو الإنترنت BOSEBerry Pi: أحب الاستماع إلى الراديو! كنت أستخدم راديو DAB في منزلي ، لكنني وجدت أن الاستقبال كان غير مكتمل قليلاً وأن الصوت يستمر في الانهيار ، لذلك قررت بناء راديو الإنترنت الخاص بي. لدي إشارة wifi قوية حول منزلي وإخوانه الرقمي
ساعة الموقع "ويزلي" بأربعة عقارب: 11 خطوة (بالصور)
ساعة موقع 'Weasley' بأربعة أيادي: لذلك ، مع Raspberry Pi الذي كان يتجول لفترة من الوقت ، أردت أن أجد مشروعًا لطيفًا يسمح لي بالاستفادة منه على أفضل وجه. جئت عبر هذه الساعة الرائعة Instructable Build Your Own Weasley Location Clock بواسطة ppeters0502 واعتقدت
محطة طقس احترافية باستخدام ESP8266 و ESP32 DIY: 9 خطوات (بالصور)
محطة طقس احترافية باستخدام ESP8266 و ESP32 DIY: LineaMeteoStazione هي محطة طقس كاملة يمكن ربطها بأجهزة استشعار احترافية من Sensirion بالإضافة إلى بعض مكونات أداة Davis (مقياس المطر ، مقياس شدة الريح)
مفتاح Cw مزدوج مجداف مطبوع ثلاثي الأبعاد (566grs.): 21 خطوة (بالصور)
3D Printed Twin Paddle Cw Key (566grs.): حتى الآن ، كان وجود مفتاح مجداف مزدوج دقيق وناعم وثقيل يعني إنفاق الكثير من المال. كانت نيتي عند تصميم هذا المفتاح القيام بمجداف: أ) - رخيص - مصنوع من البلاستيك مع طابعة ثلاثية الأبعاد قياسية ب) - متين - لقد استخدمت الكرة