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

زر الباب الافتراضي باستخدام نظام Mongoose OS و XinaBox: 10 خطوات
زر الباب الافتراضي باستخدام نظام Mongoose OS و XinaBox: 10 خطوات

فيديو: زر الباب الافتراضي باستخدام نظام Mongoose OS و XinaBox: 10 خطوات

فيديو: زر الباب الافتراضي باستخدام نظام Mongoose OS و XinaBox: 10 خطوات
فيديو: اكثر من 16 معلومة لازم تعرفها اذا انت مستخدم للايباد... 2024, شهر نوفمبر
Anonim
زر الباب الافتراضي باستخدام Mongoose OS و XinaBox
زر الباب الافتراضي باستخدام Mongoose OS و XinaBox

باستخدام Mongoose وبعض xChips ، قمنا بعمل زر باب افتراضي. فبدلاً من زر مادي لجذب الموظفين ، يمكنهم الآن القيام بذلك بأنفسهم.

الخطوة 1: الأشياء المستخدمة في هذا المشروع

مكونات الأجهزة

  • XinaBox CW02 x 1 يمكنك استخدام CW01 بدلاً من ذلك
  • XinaBox IP01 x 1
  • XinaBox PU01 x 1 يمكنك فقط استخدام IP01 للطاقة ، إذا كنت لا تنوي برمجة المزيد من الوحدات.
  • XinaBox OC03 × 1
  • XinaBox XC10 x 1 "الغراء" الذي يجعل كل شيء يعمل!

تطبيقات البرمجيات والخدمات عبر الإنترنت

Mongoose OS أداة تطوير إنترنت الأشياء رائعة وسهلة حقًا … ومجانية

الخطوة الثانية: القصة

في استقبالنا ، كان موظفونا بحاجة إلى الانخراط ، لذلك قررنا تناول الأدوية الخاصة بنا وإنشاء زر افتراضي يسمح لك هذا الرمز بإرسال RPC (استدعاء الإجراء البعيد) ، والذي يبدو وكأنه مكالمة HTTP عادية من أي متصفح. استخدمنا Mongoose ، نظرًا لأنه من السهل والسريع حقًا العمل مع تحديث OTA (عبر الهواء) المدمج ، يعني أنه يمكننا تثبيت تقنيتنا ومع مرور الوقت ، نقوم بترقية البرامج الثابتة ، دون تفكيكها لإعادة البرمجة.

الخطوة الثالثة: التحضير

  • قم بتثبيت Mongoose-OS: مباشرة إلى الأمام ، ما عليك سوى اتباع هذه الخطوات السهلة جدًا لنظام التشغيل الخاص بك هنا:
  • انقر فوق IP01 و CW02 معًا باستخدام موصل XC10. انظر الصورة أدناه:
صورة
صورة
  • أدخل IP01 في منفذ USB الخاص بك
  • تأكد من أن مفاتيح IP01 في الموضع B و DCE.
  • قم بتفليش Mongoose-OS إلى CW02 من سطر الأوامر. مثله:

قرص مضغوط

تصدير MOS_PORT = بن / موس فلاش esp32

يمكنك أيضًا الدخول إلى وحدة التحكم والقيام بالكثير من هناك ، ولكن هنا نقوم بذلك من سطر الأوامر ، لذلك يتم إنجاز العمل بسرعة. للدخول إلى وحدة التحكم:

قرص مضغوط

بن / موس

الخطوة 4: التكوين

بينما يمكن تنفيذ هذه الخطوات في بيان طويل واحد ، فقد قررنا تقسيمها ، وبما أنك ستقوم بنسخها ولصقها بأي طريقة ، فلنجعل الأمر سهلاً:

اضبط دبابيس I2C على معيار xChips:

bin / mos config-set i2c.scl_gpio = 14 i2c.sda_gpio = 2

قم بتوصيل CW02 بشبكة WiFi الخاصة بك:

بن / موس واي فاي

افصل WiFi في وضع AP وقم بإعداد اسم مجال ، حتى تتمكن من الاتصال بـ CW01 عن طريق اسم المضيف بدلاً من العثور على عنوان IP الصحيح. لن يعمل هذا إلا إذا:

  • تقوم بقطع اتصال WiFi في وضع AP كما نفعل أدناه.
  • إما أن تستخدم جهاز Mac أو قم بتثبيت Bonjour على جهاز Windows الخاص بك.

bin / mos call Config. Set '{"config": {"wifi": {"ap": {"enable": false}}}}'

bin / mos call Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin / mos call Config. Set '{"config": {"dns_sd": {"host- الاسم ":" xinabox_switch "}}}

وأخيرًا ، يتعين عليك إعادة تشغيل CW02 حتى يعمل التكوين

bin / mos استدعاء Config. Save '{"reboot": true}'

بسرعة كبيرة بعد ذلك يجب أن تكون قادرًا على تنفيذ الأمر ping xinabox_switch.local

الخطوة 5: التثبيت

افصل IP01 من جهاز الكمبيوتر الخاص بك وقم بتجميع دائرة وفقًا للصورة العلوية.

قم بتوصيل PU01 (أو إذا قررت التمسك بـ IP01) بمصدر طاقة USB. قم بتوصيل الأسلاك المتوازية من مفتاحك الحالي (اترك ذلك ، فقط في حالة) إلى OC03 (لا يهم القطبية). انظر الرسم فريتزينج.

بمجرد تشغيل الطاقة ومعرفة أنك تتحدث بالفعل إلى xCW02 الخاص بك ، ماذا عن مسح BUS ، المعروف أيضًا باسم ناقل I2C:

bin / mos --port ws: //xinabox_switch.local/rpc call I2C. Scan

إذا كان كل شيء يعمل وتم تثبيت xOC03 الخاص بك بشكل صحيح ، يجب أن ترى الرقم "56" يتم إرجاعه. هذا هو عنوان I2C الخاص بالرقم OC03 بالتدوين العشري (في النظام الست عشري يكون 0x38).

الخطوة السادسة: البرمجة

  • افتح الآن Mongoose في وضع وحدة التحكم ، انظر أعلاه. يجب أن تفتح مع نافذة حيث تطلب رقم منفذ ، أدخل: ws: //xinabox_switch.local/rpc
  • سيتواصل مع CW02 ، ويدرك أن الوحدة تومض بالفعل ومتصلة بشبكة WiFi ، لذلك ستعطي فقط 3 علامات اختيار. أغلق النافذة وقم بتحديث قائمة الملفات
  • انسخ والصق الكود أدناه في init.js ، وانقر فوق save + reboot
  • أنت الدائرة الآن مبرمجة.

الخطوة 7: الاختبار

لقد قمت الآن بتنفيذ مكالمة RPC أخرى ، لذا من جهازك الطرفي يمكنك إدخال:

bin / mos --port ws: //xinabox_switch.local/rpc Call Switch

… ويجب أن يستمر الجرس لمدة ثانيتين. يمكنك أيضًا القيام بذلك من - تقريبًا - أي متصفح:

xinabox_switch.local/rpc/Switch

… بنفس التأثير.

الخطوة 8: الخطوة التالية

يمكنك استخدام أي أداة يمكنها إطلاق عنوان URL. أفعل ذلك من تطبيق Apple يسمى Workflow ، والذي يسمح لي بالقيام بذلك من هاتفي أو كتعقيد من Apple Watch ، ولكن هناك العديد من الخيارات الأخرى المتاحة. هذا هو برنامج Workflow الخاص بي ، ولكن مع عنوان IP مشفر: استمتع!

صورة
صورة

تطبيق Apple: Workflow - هنا مع عنوان IP الثابت

الخطوة 9: المخططات

دارة الجرس قم بتثبيت OC03 بالتوازي مع زر الضغط الموجود.

قم بتنزيله هنا.

دائرة OC03 قم بتثبيت OC03 بالتوازي مع زر الضغط الموجود.

قم بتنزيله هنا.

صورة
صورة

الخطوة 10: الكود

init.js JavaScript رمزك الرئيسي والوحيد لهذا المشروع.

تحميل ('api_config.js') ؛

تحميل ('api_gpio.js') ؛ تحميل ('api_i2c.js') ؛ تحميل ('api_net.js') ؛ تحميل ('api_sys.js') ؛ تحميل ('api_timer.js') ؛ تحميل ("api_rpc.js") ؛ اسمحوا led = Cfg.get ('pin.led') ؛ دع adr = 0x38 ؛ دع الحافلة = I2Cget () ؛ I2C.writeRegB (حافلة ، adr ، 3 ، 0) ؛ I2C.writeRegB (حافلة ، adr ، 1 ، 0) ؛ / * قم بإيقاف التشغيل فقط للتأكد * / دع التأخير = 2000 ؛ GPIO.set_mode (led ، GPIO. MODE_OUTPUT) ؛ RPC.addHandler ('Switch'، function (args) {GPIO.toggle (led)؛ I2C.writeRegB (bus، adr، 3، 0)؛ / * في حالة إعادة توصيل OC03 * / I2C.writeRegB (bus، adr ، 1 ، 1) ؛ Timer.set (تأخير ، خطأ ، وظيفة () {GPIO.toggle (led) ؛ I2C.writeRegB (ناقل ، adr ، 1 ، 0) ؛} ، فارغ) ؛ إرجاع صحيح ؛}) ؛

موصى به: