جدول المحتويات:

مكنسة شياومي + زر أمازون = تنظيف داش: 5 خطوات (بالصور)
مكنسة شياومي + زر أمازون = تنظيف داش: 5 خطوات (بالصور)

فيديو: مكنسة شياومي + زر أمازون = تنظيف داش: 5 خطوات (بالصور)

فيديو: مكنسة شياومي + زر أمازون = تنظيف داش: 5 خطوات (بالصور)
فيديو: كاميرا مراقبه ترصد خططف فتاه الجامعه داخل سياره فيديو للتوعيه؟! الجزء الاول 2024, شهر نوفمبر
Anonim
مكنسة شياومي + زر أمازون = تنظيف اندفاعة
مكنسة شياومي + زر أمازون = تنظيف اندفاعة

ستوضح هذه التعليمات كيفية استخدام أزرار Amazon Dash الاحتياطية للتحكم في فراغ XiaoMi.

لقد حصلت على مجموعة من أزرار أمازون من الأوقات التي كانت فيها دولارًا واحدًا ولم أستخدمها. ولكن عند استلام مكنسة روبوت جديدة ، قررت أنه سيكون من الملائم جدًا استخدام هذه الأزرار كعنصر تحكم في الفراغ.

اضغط على زر Ziploc وسيقوم بالمكنسة الكهربائية لغرفة النوم.

اضغط على زر Glad وسيقوم بالمكنسة الكهربائية لغرفة المعيشة.

اضغط على فيجي.. حسنًا ، لديك الفكرة.

لقد تم دمج العديد من المتسللين من الإنترنت في هذا المشروع. إنني أقدر حقًا العمل الذي قام به الكثير من الأشخاص وأعتقد أنه يجب أن أشاركهم في عملتي الصغيرة بناءً على أبحاثهم.

إخلاء المسؤولية: كل الخطوات أدناه تقوم بها على مسؤوليتك الخاصة! إذا اتبعت الخطوات بعناية ، فهناك احتمال ضئيل للغاية في إتلاف شيء ما. لكن ش # ر يحدث! وأنا لا أتحمل أي مسؤولية عن ذلك. راجع للشغل يمكن عكس جميع الخطوات لذلك يحتمل عدم وجود انتهاك الضمان. لكن بالطبع - YMMV

المبدأ الأساسي هو أننا نضغط على زر اندفاعة على جهاز التوجيه ونرسل webhook إلى Vacuum بدلاً من شراء أشياء من Amazon.

ما سوف تحتاجه:

  • جهاز توجيه مزود ببرنامج ثابت مخصص يمكنه التحكم في DHCP وتشغيل البرامج النصية وتنفيذ استعلامات get | post. Mikrotik ، DD-WRT ، OpenWRT ، الطماطم ، إلخ.
  • مكنسة شياومي. v1 أو v2
  • أزرار أمازون داش

على وجه التحديد ما استخدمته:

  • ميكروتيك
  • شياومي v2 مكنسة كهربائية روبوروك S50
  • مجموعة من أزرار Amazon Dash

هنا هو الإجراء

  1. نحن جذر الفراغ
  2. تثبيت وتكوين الحزم اللازمة تحت الجذر على الفراغ
  3. إعداد زر Amazon Dash
  4. قم بإعداد جهاز التوجيه للقبض على طلب الزر والتحكم في الفراغ

ملحوظة: في الواقع ليس عليك استئصال فراغك للسيطرة عليه. إذا كان لديك أي خادم آخر على الشبكة المحلية (أو في أي مكان) يمكنه تشغيل 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

قم بإعداد جهاز التوجيه للقبض على زر الطلب والتحكم في MiVacuum
قم بإعداد جهاز التوجيه للقبض على زر الطلب والتحكم في MiVacuum
قم بإعداد جهاز التوجيه للقبض على زر الطلب والتحكم في MiVacuum
قم بإعداد جهاز التوجيه للقبض على زر الطلب والتحكم في MiVacuum
قم بإعداد جهاز التوجيه للقبض على زر الطلب والتحكم في MiVacuum
قم بإعداد جهاز التوجيه للقبض على زر الطلب والتحكم في 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 المجاني.

بعد تركيب الصورة على الشبكة ، أستخدم خطًا عبر الغرفة لقياس نقطة البداية والنهاية للمنطقة.

موصى به: