قم بتضمين جهاز Smart Home الخاص بك في النظام البيئي SmartThings

تسمح لك منصات المنزل الذكي بدمج الأجهزة وإنشاء سيناريوهات جديدة لتفاعلها. تأثير النظام الأساسي معروف: من المرجح أن يختار المستخدمون الجهاز الذي تتوافق معه أجهزتهم الحالية ، بدلاً من التبديل إلى أي جهاز جديد. لذلك ، قد يكون أكثر ربحية لمطوري الأجهزة الذكية الجديدة الاندماج في منصة منتهية بالفعل ، مع التركيز على المنتج "الحديدي" ، بدلاً من تطوير "دراجاتهم" الخاصة في شكل أنظمة بيئية سحابية وحسابات شخصية.

دعونا نرى كيفية دمج جهازك الخاص مع منصة Samsung SmartThings Smart Home. نحن ننفذ خيار اتصال مباشر للتحكم في جهاز Smart Home باستخدام مثال مفتاح زر ومصباح إضاءة ثلاثي الألوان. 




لماذا نحتاج إلى منصات المنزل الذكي؟


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

علاوة على ذلك ، أود أن أرى "جهاز كمبيوتر مذاب في الحياة اليومية" ، كما حلم مارك وايزر من Xerox PARC: لا تتحكم من خلال تطبيق خاص ، ولا ترش تركيز انتباهك. أرغب في تفاعل طبيعي مع بيئة ذكية لا تغير عاداتنا. كيفية تنفيذ هذا تقنيا؟ على سبيل المثال ، قد تكون سيناريوهات تتعلق بالأجهزة غير المتجانسة في المنزل: استيقظت - اكتشف الجهاز القابل للارتداء هذا وتم تشغيل الغلاية ؛ عدت إلى المنزل - سجل المستشعر الموجود على الباب هذا ، مع مراعاة الوقت من اليوم ، وستائر مغلقة ، وتشغيل المصباح ، وتشغيل تكييف الهواء مع مراعاة درجة الحرارة.

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

تم تصميم منصة المنزل الذكي لكل هذا. ضع في اعتبارك ما يمكن أن تفعله منصة Samsung SmartThings.

الخلفية - ما هي SmartThings؟


بدأت SmartThings كشركة ناشئة. في الوقت الذي ظهر فيه في عام 2012 في الولايات المتحدة الأمريكية ، لم يكن موضوع "المنزل الذكي" في قمة الضجيج بعد ، ولم يكن هناك حتى الآن مكبرات صوت ذكية ومجموعة متنوعة من الأدوات في المتاجر. جاءت الفكرة إلى مؤسس الشركة الناشئة ، أليكس هوكينسون ، بعد حادثة واحدة: عانى منزل عائلته في كولورادو من حقيقة أنه بعد انقطاع مؤقت للكهرباء ، تجمدت أنابيب المياه ، انفجرت ، وغمرت الأرضية بأكملها. ثم ظن أنه كان بإمكانه منع المشكلة إذا علم بما يحدث في المنزل. 

بعد البحث غير الناجح عن حل جاهز ، قدم هوكينسون وزملاؤه نموذجًا أوليًا للجهاز وأطلقوا حملة على Kickstarter. كانت الحملة ناجحة للغاية ، حيث جمعت 1،200،000 دولار بدلاً من 250،000 دولار المخطط لها في 30 يومًا. بدأ بيع لوحة الوصل مع مجموعة صغيرة من الأجهزة في المجموعة: مقبس ذكي ، مستشعر فتح الباب ، مستشعر الحركة ، مستشعر التواجد. وفي عام 2019 ، تحت العلامة التجارية Samsung SmartThings ، تم إصدار الإصدار الثالث من المحور.


كان مفتاح النجاح في Kickstarter هو توفر نماذج أولية عاملة من الحديد والبرمجيات ، والود لمجتمع المصنّعين.

غادر مبدعو الشركة الناشئة بيئة DIY ، لذا فهم يعملون باستمرار على تطوير مفهوم واجهة برمجة التطبيقات المفتوحة لصانعي المهوسين الذين يمكنهم العمل كمستخدمين مبكرين في مرحلة مبكرة. في حملة Kickstarter ، كان هناك درع لـ Arduino ووحدات سحابية متنوعة لتوصيل جهاز الطرف الثالث بسلاسة. على الإنترنت ، يمكنك العثور على العديد من الأمثلة للأجهزة محلية الصنع المتوافقة مع SmartThings ، سواء كان ذلك بابًا متحكمًا به في حظيرة دجاج (مع حل مهمة حياة خطيرة - لإنقاذ الدجاج من المنك المفترس) ، أو التثبيت عن بعد لرمز القفل الإلكتروني للضيوف الذين لديهم Airbnb.


مصدر الصورة: https://www.hackster.io/aaronpk/auto-airbnb-entry-745799

في 2012-2013 ، مرت SmartThings بعدة جولات من الاستثمار وحصلت على 12.5 مليون دولار. وأخيرًا ، في عام 2014 ، أصبحت مهتمة بشركة Samsung وتم الحصول عليها مقابل 200 مليون دولار كجزء من استراتيجية لدخول سوق إنترنت الأشياء.
ظلت إمكانات السحابة على النظام الأساسي مجانية: يؤكد المؤلفون ، الذين يعملون الآن في شركة Samsung ، دون استبعاد الإمكانية النظرية لفرض رسوم على كميات كبيرة من حركة المرور: أنه سيكون هناك دائمًا خيار مجاني لمطوري الأجهزة. هذا أمر جيد ، لأن جميع الخدمات السحابية تقريبًا تتيح تحقيق الدخل ، وغالبًا ما تحتاج حتى لإرفاق بطاقة مصرفية حتى لفترة تجريبية. SmartThings هي منصة مجانية تمامًا.

العمارة SmartThings




دعنا ننقل النمط من اليسار إلى اليمين.

الأجهزة


أجهزة SmartThings - يمكن أن يكون هذا ليس فقط الأجهزة من مجموعة SmartThings ، ولكن أيضًا العديد من الشركاء الخارجيين من قائمة الشركاء.



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

طرق الاتصال


يمكنك توصيل الأجهزة بالمنصة بالطرق التالية:

  • متصل بلوحة وصل - من خلال لوحة وصل ، ملائم للأجهزة التي ليس لها اتصال بالإنترنت ، ولكنها متصلة عبر شبكات لاسلكية تقليدية مثل ZigBee لمثل هذه الأنظمة. 
  • متصل مباشرة - عبر الإنترنت مباشرة إلى السحابة. أصدرت SmartThings مؤخرًا كاميرا فيديو ومصباح كهربائي ومقبس ذكي ، وتعمل بدون محور - عبر WiFi. هذا هو الخيار الذي سننفذه في هذا الدليل.
  • متصل بالسحابة - من خلال سحابة طرف ثالث لتلك الأجهزة التي لديها بالفعل نظام بيئي سحابي خاص بها. هذا أكثر تعقيدًا ، لذلك لن نفكر في مثل هذا الخيار.

المركز رئيسي


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


المحور ومجموعة من الأجهزة إليه. مصدر الصورة: IXBT .

تطبيق


تطبيق SmartThings هو تطبيق يمكن تثبيته على نظام تشغيل الهاتف المحمول الأساسي وبمساعدته: إضافة أجهزة جديدة إلى النظام ، والتحكم في الأجهزة المضافة بالفعل ، وتعيين قواعد الأتمتة ، وتلقي الإخطارات عبر الدفع والرسائل القصيرة ، وأكثر من ذلك بكثير. 



التجريد


في SmartThings ، كما هو الحال في العديد من منصات المنزل الذكي الأخرى ، توجد الملخصات التالية: الغرف والمشاهد والسيناريوهات. 

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

لا تزال هناك مشاهد (مشاهد) - هذه مواقف: "نوم" ، "راحة" ، "عمل" ، "مشاهدة فيلم" - تتميز كل حالة بمجموعة حالات الجهاز الخاصة بها.


مشاهد وغرف على شاشة التطبيق

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



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

لإضافة أجهزة جديدة إلى النظام ، يتم توفير نظام إضافي. يمكن للمطور برمجة المكوّن الإضافي لجهازه الخاص - واجهة المستخدم داخل تطبيق SmartThings ومنطق الجهاز. هذا هو في الأساس تطبيق ويب. من وجهة نظر المطور ، يمكن للمكون الإضافي الاشتراك في الأحداث أو الإخطارات من الجهاز ، وإرسال رسالة له ، ومراقبة حالة الاتصال بالجهاز. هناك وثائق واضحة حول دورة حياة البرنامج المساعد.

يتم تنزيلها من قبل المستخدم من "متجر المكونات الإضافية" عند الضرورة ، حتى لا تضخم التطبيق على الهاتف.



ولكن الآن لن نقوم بأي مكونات إضافية ، ولكننا سنجعلها أبسط: سنضيف جهازًا محليًا باستخدام أدوات النظام الأساسي القياسية فقط.

جعل جهازك متوافقًا مع SmartThings


قد يكون لديك سؤال: لماذا؟ ما الفائدة من جعلها متوافقة إذا كنت مطورًا للجهاز؟

  • الميزة الرئيسية هي الزيادة في قيمة المنتج بسبب التكامل التلقائي مع النظام البيئي بأكمله.
  • في حالة اجتياز الاختبار الوظيفي ، يمكنك لصق الشعار: "متوافق مع SmartThings" في علبة المنتج ، وبالتالي ضمان تثبيت الجهاز وتكوينه في النظام البيئي SmartThings بدون مشاكل.
  • كما هو الحال مع أي نظام أساسي ، يتم تسهيل مهمتك: لم تعد بحاجة إلى تجربة وتطوير واجهة مستخدم ، على سبيل المثال ، يمكنك استخدام الأزرار القياسية والعناصر الأخرى في واجهة SmartThings.
  • تحصل على العلاقات العامة والجمهور من المستخدمين بفضل مجتمع SmartThings (فهو حي ونشط).

في الدليل أدناه ، سنقوم بتوصيل جهازنا الخاص والمخصص بالكامل.

ما هو المقترح القيام به


تم تقديم جهاز SmartThings Device SDK (STDK) مؤخرًا في مؤتمر مطوري Samsung في أكتوبر 2019. نقدم أدناه ترجمة للدليل لـ SDK. وليس مجرد ترجمة: لقد فعلنا نفس الشيء وكررناه بأيدينا ، لذلك ستكون هناك بعض التعليقات العملية التي تتجاوز الدليل الأصلي.

كيف ستبدو النتيجة النهائية موضحة في الفيديو:


مصباح RGB متصل بمنصة SmartThings عبر WiFi ، ويمكنك التحكم فيه من خلال الهاتف. يتم تنفيذ المصباح نفسه بأرخص وأسهل طريقة - على شريحة ESP8266 فائقة الشعبية. الحديد ليس مهمًا: يمكن إجراؤه على أي متحكم دقيق ، لأن SDK مكتوب بلغة C وموضعة في المجال العام ويمكن نقلها إذا رغبت في ذلك. من غير المحتمل أن يدخل ESP حيز الإنتاج (بالنسبة للمبتدئين ، من الملائم استخدام واجهات أخرى في المنزل الذكي أكثر من WiFi) ، ولكنه مناسب تمامًا للنموذج والتوضيح.

ستكون وظيفة "المصباح الذكي" الناتج كما يلي: تحكم RGB-LED باستخدام عجلة الألوان في الهاتف. وكذلك إيقاف تشغيله وتشغيله باستخدام الزر.
تظهر عملية التطوير في الرسم التخطيطي:


العملية المعروضة ليست صعبة ، يمكن عكس بعض الخطوات ، والتي سنعرضها في الدليل.

حديد


يعرض الدليل الأصلي كل شيء على سبيل المثال على لوحة WeMos D1 Mini ، وهي عبارة عن لوحة تصحيح تستند إلى ESP8266 يمكن إدخالها في لوحة التوصيل. بشكل عام ، لا يوجد شيء صعب في ذلك ، إنها مجرد وحدة من رقاقة ESP الصينية التي تحظى بشعبية كبيرة بين المعجبين ، ملحومة للراحة على لوحة أوسع في حجم اللوح. لذلك ، يمكنك القيام بكل شيء على أي لوحة أخرى.


اليسار: WeMos D1 ، اليمين - Troyka WiFi Shield

ناعم


ما تحتاجه لبناء المثال:

  • إصدار Ubuntu Linux لا يقل عن 18.04 (يمكنك بناء مثال لكل من Windows و MacOS ، ولكن من أجل التحديد حددنا Linux)
  • Android 1.7.39, iOS 1.6.41-343. Play Market SmartThings, Samsung Account. Samsung, .
  • ESP8266 SDK. , , , :

    git clone https://github.com/espressif/ESP8266_RTOS_SDK.git

    SDK IDF_PATH:

    nano ~/.bashrc
    export IDF_PATH="~/git/ESP8266_RTOS_SDK:$IDF_PATH"
  • :

    sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools

    ():

    sudo mkdir /opt/Espressif
    sudo chown username /opt/Espressif/
    cd /opt/Espressif
    wget https://dl.espressif.com/dl/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
    tar -xzf ./xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
    cd xtensa-lx106-elf
    export PATH="/opt/Espressif/xtensa-lx106-elf/bin:$PATH"

  • Smart Things Device SDK C – . github, , , .

    git clone https://github.com/SmartThingsCommunity/st-device-sdk-c-ref.git
    cd st-device-sdk-c-ref
    ./setup.sh esp8266



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

الخطوة 1. تسجيل جهازك.


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



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



سيتم منح الخيار ثلاثة خيارات لدمج الجهاز: 

  • موصل SmartThings Cloud - لتوصيل الأجهزة التي لديها سحابة خاصة بها والتي سيتم توصيلها بسحابة SmartThings
  • SmartThings Hub غير متاح لأجهزة ZigBee و Z-Wave و Bluetooth ، وفي وقت كتابة هذا التقرير ، حيث لم يتم بيع الموزع رسميًا في روسيا
  • الاتصال المباشر هو أسهل خيار للاتصال مباشرة ، دون أي وسطاء. 

حدد الخيار الثالث. فكر في اسم مشروع ، على سبيل المثال ، من أجل البساطة - SmartSwitch.



أضف ملف تعريف الجهاز. يتحدث من حيث OOP ، ملف تعريف الجهاز هو "فئة" ، وجهاز معين هو "مثيل فئة".

نحن بحاجة إلى تحديد الخصائص الوظيفية للجهاز من حيث القدرة على SmartThings. يمكنك أن تقرأ عن "القدرات" العامة للجهاز في الدليل.



نملأ الحقول بقيمنا. على سبيل المثال ، يمكن إدخال اسم ملف التعريف Test Profile Profile ، والوصف - أي نص ، ونوع الجهاز - Switch ، ومعرف البائع - أي نص. يؤثر "نوع الجهاز" على رمز جهازك وواجهة المستخدم. لا توجد العديد من أنواع الأجهزة المحتملة في القائمة (على الرغم من وجود أجهزة غريبة ، على سبيل المثال WineCellar - خزانة نبيذ) ، لذلك إذا لم تعثر على جهازك ، فلا تثبط عزيمتك واختر الجهاز الأقرب والأقرب. في الشاشة الأخيرة (Dashboard Control) لا يمكنك تغيير أي شيء.

بعد إنشاء ملف التعريف ، لا تنس النقر على زر "إضافة ملف تعريف الجهاز إلى المشروع" في الجزء العلوي الأيمن.



  • هام: الفحص الصحي مطلوب لجميع الأجهزة المتصلة مباشرة. أضفه إلى ملف تعريف الجهاز. 
  • « » : Switch, Health Check.

أضف الآن ملف المصادقة (ملف تعريف Onboarding). باختصار ، في هذا الملف الشخصي ، يمكنك تخصيص الشاشات التي تظهر عند الاتصال وتسجيل الدخول لأول مرة. أدخل أي اسم وأي رقم مكون من ثلاثة أرقام. يمكنك تخطي الشاشتين الأخريين في الوقت الحالي. في الشاشة الأخيرة ، حدد خيار التأكيد - زر تأكيد - بالضغط على الزر الموجود على الجهاز. في هذا الدليل ، نفترض أنك حصلت على لوحة بها زر مدمج. إذا لم يكن هناك زر فجأة (على سبيل المثال ، كنت تستخدم وحدة ESP أخرى) ، فيمكنك تحديد الخيار بدون مصادقة على الإطلاق - يطلق عليه Just Works ، أي أنه "يعمل فقط" دون أي أسئلة.

ومرة أخرى ، بالقياس بالمثال السابق ، لا تنس النقر على الزر "إضافة جهاز إلى المشروع".



كل ما تبقى هو النقر على زر النشر. بعد ذلك ، يمكنك رؤية جهازك في تطبيق SmartThings - ولكن فقط في وضع المطور. إذا لم يتم الضغط على النشر ، ويقولون "الرجاء إضافة اسم طراز" - هذا يعني أنك لم تحدد معرف Onboarding للجهاز ، قم بالتمرير لأسفل الصفحة أدناه وقم بذلك - أدخل أي اسم من اختيارك.



الآن يمكنك البدء في اختبار جهازك الافتراضي على هاتفك.

يتم عرض الخطوة الأولى بأكملها بالتفصيل في الفيديو:


قم بتسجيل جهاز في السحابة


قبل البدء في العمل مع الجهاز الفعلي ، تحتاج إلى القيام بشيء آخر. بعد الضغط على زر النشر ، ستبدو الشاشة مختلفة: سيظهر حقل هوية الجهاز الجديد هناك. 


لمصادقة جهازك في سحابة SmartThings ، تحتاج إلى إدخال الرقم التسلسلي والمفتاح العام (باستخدام مخطط توقيع ED25519). هذا سهل بما فيه الكفاية.

يوضح هذا المثال كيفية إنشاء زوج من مفاتيح ED25519 باستخدام أداة في SDK. ستحصل على ملف device_info.json كنتيجة للبرنامج في مجلد الأدوات / keygen / linux / output_ {serialNumber}

يوجد إصدار لينكس من كجن في st-iot-device-sdk-c-Reference / iot-core / tools / keygen / linux أو في st-device-sdk-c / tools / keygen / linux

سيتم إنشاء الرقم التسلسلي لجهاز الاختبار بشكل عشوائي بتنسيق STDK + [MNID] + تنسيق أبجدي رقمي (8 أحرف). يمكنك العثور على MNID الخاص بك في ملف تعريف المطور في قسم إدارة الحساب. 





بعد ذلك ، لإنشاء الجزء الأبجدي الرقمي ، تحتاج إلى إدخال MNID الخاص بك (4 أحرف) كمعلمة كجن. في المثال أدناه ، MNID هو fJ * c.


    cd ~/Workspace/st-iot-device-sdk-c-ref/iot-core/tools/keygen
    ./stdk-keygen -m fJ*c
    Go Device Identity of Developer Workspace.
    
    Serial Number:
    ┌──────────┬──────────┐
    │ STDKfJ*c    │ abed**5c   │
    └──────────┴──────────┘
    
    Public Key:
    waGgyjWIvHhF1LU***FG2hx/4u***ADFHr/ry0j5jbk=

انسخ "abed ** 5c" من إصدار keygen ، والصقه في حقول XXXXXXXX في قسم تسجيل هوية الجهاز. ستظهر نافذة تطلب منك إدخال المفتاح العام.


انسخ المفتاح العام من إصدار keygen ("waGgyjWIvHhF1LU *** FG2hx / 4u *** ADFHr / ry0j5jbk =" في هذا المثال) والصقه في حقل "Public Public Key".



الخطوة 2. البرامج الثابتة للجهاز


تحدث عن الرمز الذي ستقوم بتنزيله على الجهاز.
توجد أمثلة على البرامج الثابتة في المجلد st-device-sdk-c-ref / apps / esp8266 / . سنكون مهتمين بمثال st_switch .

  • قم بتنزيل onboarding_profile.json في نافذة نظرة عامة على جهازك في مكتب المطور.


  • انسخ ملف onboarding_profile.json الذي تم تنزيله إلى دليل تطبيقك - في حالتنا apps / esp8266 / st_switch / main .

    cd ~/Workspace/st-device-sdk-c-ref/apps/esp8266/st_switch/main/
    cp ~/Downloads/onboarding_profile.json .
    

    يوجد بالفعل مثال لمثل هذا الملف - فقط استبدله بملفك.
  • وبالمثل ، انسخ ملف device_info.json من المجلد tools / keygen / linux / output_ {serialNumber} ، حيث توجد المعلومات الخاصة بالجهاز ، إلى نفس المجلد ، مع استبدال الملف الموجود.

    cd ~/Workspace/st-device-sdk-c-ref/iot-core/tools/keygen/linux/
    cp output_{serialNumber}/device_info.json ~/Workspace/st-device-sdk-c-ref/apps/esp8266/st_switch/main/

    في هذا الملف ، بالإضافة إلى المفاتيح والرقم التسلسلي ، يوجد السطر "firmwareVersion" - يمكن استبداله بإصدار البرنامج.
  • الآن قم بتجميع البرنامج وميضه.

    cd ~/Workspace/st-device-sdk-c-ref
    ./build.sh esp8266 st_switch
    ./build.sh esp8266 st_switch flash
    ./build.sh esp8266 st_switch monitor

    أو نفس الشيء ، ولكن أقصر:

    cd ~/Workspace/st-device-sdk-c-ref
    ./build.sh esp8266 st_switch flash monitor


! إذا لم تتمكن من وميض البرنامج بأي طريقة - على الأرجح ، نسيت أن تضع لوحة ESP8266 في وضع البرمجة. يتم ذلك عادة بالضغط على زر على اللوحة نفسها. على سبيل المثال ، يمكن ترجمة وحدة Wi-Fi Troyka عن طريق الضغط باستمرار على زر PROG ، ثم الضغط على زر RESET وإطلاقه.

بعد تنزيل البرنامج الثابت ، لا تنس إعادة تشغيل اللوحة.

الخطوة 3. الاتصال والتحكم من الهاتف


قم بتشغيل وضع المطور في تطبيق SmartThings على هاتفك. يتم كتابة كيفية القيام بذلك على الموقع الرسمي ، ولكن من الأسهل شرحه بالكلمات: أدخل الإعدادات من خلال "الترس" واضغط على زر "تفاصيل SmartThings" لمدة 20 ثانية. تظهر قائمة "وضع المطور" أدناه.



يجب أن يكون جهازنا مرئيًا في القائمة في تطبيق SmartThings: قم بتشغيل التطبيق ، وانقر فوق زر علامة الجمع وإضافة جهاز. مرر حتى نهاية قائمة الموردين وشاهد أيقونة "أجهزة الاختبار الخاصة بي". اضغط عليها واختر جهازك.



علاوة على ذلك: إذا كنت قد قمت بالفعل بتنشيط وضع المطور وتشغيل الجهاز ، فسيكون لديك قائمة منبثقة تقدم إضافة هذا الجهاز المعين! يبدأ

الاتصال:


إدارة الجهاز من تطبيق SmartThings. 

في البداية ، يظهر الجهاز كنقطة وصول ، لأنه لا يعرف حتى الآن كلمة مرور شبكة WiFi الخاصة بك. أثناء عملية الاتصال ، يمكنك تحديد الشبكة التي يجب أن يتصل بها الجهاز. إذا كانت لديك نقطة وصول مخفية ، فلن يكون ESP قادرًا على الاتصال بها ، لذا اختر نقطة مفتوحة.

ستكون النتيجة كما يلي:



في هذا المثال ( مفتاح التبديل ) ، يمكنك التحكم في مؤشر LED المضمن على اللوحة بالضغط على الزر الموجود على اللوحة نفسها. كما ترى ، في هذا المثال ، لا تحتاج حتى إلى أي ملحقات إضافية ، فقط لوحة ESP8266 نفسها.

يمكنك أيضًا تشغيل / إيقاف تشغيل الجهاز باستخدام الزر الموجود على لوحة التحكم في تطبيق الهاتف المحمول:



وبالطبع ، إذا قمت بالضغط على الزر الفعلي ، فسيتم أيضًا تحديث حالة المصباح الكهربائي في التطبيق.

مثال الضوء الذكي


بعد الانتهاء من مثال Smart Switch ، دعنا نحاول تعقيد الأمور قليلاً. سيكون هناك RGB LED ، وسنقوم بتشغيل / إيقاف زر خارجي ، وكذلك تحديد لون من خلال التطبيق.

حديد


سيكون مخطط الاتصال بسيطًا:

ولا يضر مخطط الدائرة أيضًا:



إذا نظرت إلى المصدر (الموجود في: st-device-sdk-c-ref / apps / esp8266 / st_lamp) ، فإن الاتصال هناك هو التالي: يمكنك إعادة تعيين الاستنتاجات وفقًا لذلك هذا هو نموذج اللوحة التي لديك. يرجى ملاحظة أن هناك نظامًا للتدوين (D1 ، D2 ...) على اللوحة ، وآخر في الرمز ، ولكن من السهل اكتشاف ذلك بمجرد النظر إلى الوثائق الخاصة بلوحك.

#define GPIO_OUTPUT_NOTIFICATION_LED 2
#define GPIO_INPUT_BUTTON 5
#define GPIO_OUTPUT_COLORLED_R 16
#define GPIO_OUTPUT_COLORLED_G 14
#define GPIO_OUTPUT_COLORLED_B 12
#define GPIO_OUTPUT_COLORLED_0 13 




جزء البرنامج


وفقًا لجزء البرنامج ، سنقوم بتغيير عدة خطوات:

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





ستبدو الواجهة في التطبيق كما يلي: كيف تبدو في العمل - مرة أخرى GIF:



استنتاج


لذا ، لديك مثال عملي جاهز. ترى أن معظم التعليمات البرمجية قد تم إجراؤها لك بالفعل - كل ما يتعلق بالاتصال والمصادقة وواجهة الجهاز. يعتبر مثال SmartThings ذو قيمة لأنه لا يرتبط بأي جهاز ، ويمكنك مشاهدة وتقييم وظيفة النظام الأساسي المطلوبة في 2k20 إذا كنت تقوم بتطوير المنزل الذكي.


تاتيانا فولكوفا - مؤلفة منهج مسار إنترنت الأشياء التابع لأكاديمية تكنولوجيا المعلومات من سامسونج ، والمتخصصة في برامج المسؤولية الاجتماعية للشركات في مركز أبحاث سامسونج

All Articles