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

أساسيات إنترنت الأشياء: توصيل إنترنت الأشياء الخاص بك بالسحابة باستخدام نظام تشغيل Mongoose: 5 خطوات
أساسيات إنترنت الأشياء: توصيل إنترنت الأشياء الخاص بك بالسحابة باستخدام نظام تشغيل Mongoose: 5 خطوات

فيديو: أساسيات إنترنت الأشياء: توصيل إنترنت الأشياء الخاص بك بالسحابة باستخدام نظام تشغيل Mongoose: 5 خطوات

فيديو: أساسيات إنترنت الأشياء: توصيل إنترنت الأشياء الخاص بك بالسحابة باستخدام نظام تشغيل Mongoose: 5 خطوات
فيديو: CHC v2 - 13 IoT Security أمن انترنت الأشياء 2024, يوليو
Anonim
أساسيات إنترنت الأشياء: توصيل إنترنت الأشياء الخاص بك بالسحابة باستخدام نظام تشغيل Mongoose
أساسيات إنترنت الأشياء: توصيل إنترنت الأشياء الخاص بك بالسحابة باستخدام نظام تشغيل Mongoose
أساسيات إنترنت الأشياء: توصيل إنترنت الأشياء الخاص بك بالسحابة باستخدام نظام تشغيل Mongoose
أساسيات إنترنت الأشياء: توصيل إنترنت الأشياء الخاص بك بالسحابة باستخدام نظام تشغيل Mongoose

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

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

في Instructable ، على سبيل المثال ، سأوضح كيفية رسم الرسم البياني لقراءات مستشعر درجة الحرارة الداخلية للوحة تطوير ESP32 والتي يجب أن تعطي القراء فكرة جيدة عن العملية.

على الرغم من أن Instructable يستخدم ESP32 و Mongoose OS ، إلا أنه يمكن تمديد الإجراء ليشمل جميع IoTs والبرامج الثابتة الموجودة!

اللوازم

لتتمكن من تنفيذ Instructable بنفسك ، ستحتاج فقط إلى الحد الأدنى من الأجهزة ، وهي:

  • إنترنت الأشياء (IoT): لقد استخدمت نسخة رخيصة من لوحة تطوير ESP32. إذا كنت تخطط لشراء لوحة تطوير ESP32 جديدة ، فيجب عليك التحقق من لوحة DFRobot's ESP32.
  • كبل البيانات: استخدم الكبل الذي يتطلبه إنترنت الأشياء الخاص بك للوميض وما إلى ذلك.
  • بطارية (اختيارية): اشترِ هذا فقط إذا كنت تنوي تشغيل إنترنت الأشياء الخاص بك لفترات طويلة.
  • لوح توصيل صغير (اختياري)

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

الخطوة 1: مقدمة إلى MQTT

مقدمة إلى MQTT
مقدمة إلى MQTT

ما هو MQTT؟

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

كيف يعمل MQTT؟

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

في MQTT ، العناصر الأساسية المشاركة في التبادل هي الناشر (Laurel) ، والمشترك (أنت) ، والوسيط (Tom). يشبه سير العمل الخاص به أيضًا مثال العالم الحقيقي المذكور أعلاه ، باستثناء اختلاف واحد كبير! في MQTT ، يتم بدء التبادل من قبل الوسيط ، أي أن Laurel ستكون أول من يصل إلى Tom لتخبره أنها تريد بيع مجموعة البطاقات الخاصة بها. إذا قارنا عمل MQTT بمثالنا الواقعي ، فسيكون كالتالي:

  1. أخبرت لوريل توم بأنها تريد بيع مجموعة بطاقاتها (بيانات أو حمولة) وتمنحه البطاقات.
  2. يأخذ توم تلك البطاقات في حوزته وهو مفتوح لعروض جمع البطاقات. عندما تلتقي أنت وتوم ويكتشف أنك مهتم بالبطاقات (يشترك في موضوع). ثم يعطيك توم البطاقات.

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

الخطوة الثانية: مقدمة إلى منصة إنترنت الأشياء

ما هي منصة إنترنت الأشياء؟

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

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

في Instructable ، نخطط لدفع قراءات درجة حرارة ESP32 الخاصة بنا عبر الإنترنت. سيعمل ESP32 الخاص بنا كناشر MQTT وسيكون الوسيط MQTT منصة إنترنت الأشياء التي نختارها. لاحظ أنه في مشروعنا ، لا يوجد دور لمشترك MQTT حيث يتم تمثيل البيانات بواسطة النظام الأساسي نفسه بشكل مباشر. ستكون منصة إنترنت الأشياء مسؤولة عن تخزين بياناتنا المنشورة وتمثيلها بشكل جيد ، هنا ، كرسم بياني خطي. سأستخدم Losant كمنصة إنترنت الأشياء الخاصة بي هنا نظرًا لأنه مجاني للاستخدام ويقدم بعض الطرق الجيدة لتمثيل البيانات. بعض الأمثلة الأخرى لمنصات إنترنت الأشياء هي Google Cloud و Amazon AWS و Adafruit و Microsoft Azure وما إلى ذلك. وأود أن أنصح القارئ بالرجوع إلى الوثائق الخاصة بمنصة إنترنت الأشياء التي اختاروها.

إعداد Losant:

  1. تسجيل الدخول إلى Losant
  2. إنشاء جهاز (نوع مستقل)
  3. أضف بعض أنواع البيانات إلى الجهاز 1. الاسم: درجة الحرارة ، نوع البيانات: رقم 2. الاسم: الإزاحة ، نوع البيانات: رقم 3. الاسم: الوحدة ، نوع البيانات: سلسلة
  4. قم بإنشاء مفتاح وصول وقم بتدوين معرف الجهاز ومفتاح الوصول
  5. قم بإنشاء رسم بياني 1. إنشاء لوحة القيادة 2. أضف كتلة "Time Series Graph" إليها باستخدام متغير درجة الحرارة والجهاز الذي تم إنشاؤه.

يخدم "معرف الجهاز" الغرض من العمل كبصمة فريدة للجهاز. تسمح "مفاتيح الوصول" ، كما يوحي الاسم ، لإنترنت الأشياء بالنشر إلى Losant تحت هوية الجهاز.

الخطوة 3: قم بإعداد الناشر MQTT

Image
Image

الآن بعد أن أعددنا منصة إنترنت الأشياء لتلقي البيانات وتمثيلها ، نحتاج إلى إعداد ناشر MQTT سيكون مسؤولاً عن جمع البيانات وإرسالها إلى النظام الأساسي.

الخطوط العريضة لإعداد ناشر MQTT هي كما يلي:

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

في هذا Instructable ، نظرًا لأنني أستخدم ESP32 سهل الاستخدام ، فسوف أقوم بوميض البرامج الثابتة لنظام التشغيل Mongoose OS ، والتي تقبل البرامج المكتوبة C و JavaScript على حد سواء. بصرف النظر عن توافق JS ، لا يزال لدى Mongoose OS الكثير لتقدمه ، مثل التحديثات عبر الهواء ، لتعديل برنامجك عبر الإنترنت ، ولوحة تحكم مخصصة للأجهزة (mDash) وما إلى ذلك.

لقد قمت بتطوير تطبيق مفتوح المصدر لنظام التشغيل Mongoose من أجل Instructable. إنه تطبيق بسيط يسمى losant-temp-sensor ، والذي يستخدم MQTT لإرسال قراءات درجة الحرارة المحيطة التقريبية ، بناءً على قراءات درجة الحرارة الداخلية لـ ESP32 ، إلى Losant (منصة إنترنت الأشياء مجانية الاستخدام). يُنصح بالاطلاع على رمز التطبيق لفهم أفضل. سنومض هذا التطبيق من أجل Instructable.

إذا كنت من النوع المغامر ، فيمكنك محاولة تحقيق نفس الهدف باستخدام برنامج Arduino-ESP32 الثابت الذي يتيح استخدام ESP32 كأردوينو (مع إمكانية WiFi).

ملخص سريع لتطبيق وامض مع نظام تشغيل Mongoose:

  1. تثبيت أداة mos لنظام التشغيل الخاص بك.
  2. افتح الأداة وقم بتنفيذ الأوامر التالية:

    1. استنساخ موس
    2. جهاز استشعار درجة حرارة القرص المضغوط
    3. بناء موس - منصة esp32
    4. موس فلاش
  3. بعد الوميض الناجح ، اسمح للجهاز بإعادة التشغيل ثم قم بتنفيذ الأوامر التالية:

    1. mos wifi "wifi ssid" "كلمة مرور wifi" على سبيل المثال. mos wifi "الصفحة الرئيسية" "home @ 123"
    2. موس درجة الحرارة مجموعة التكوين. أساس =

      وحدة درجة الحرارة ="

      "على سبيل المثال. mos config-set temperature.basis = 33 / temperature.unit =" celsius"

    3. mos config-set device.id = mqtt.client_id = mqtt.user = mqtt.pass =

بعد الانتهاء من كل هذه الخطوات بشكل صحيح ، ستحصل على ESP32 الذي يرسل قراءات درجة الحرارة إلى Losant بشكل دوري ، بعد كل 10 دقائق. تتم الإشارة إلى النشر الناجح بواسطة مؤشر LED الأزرق ، كما هو موضح في الفيديو أعلاه.

الخطوة 4: الحاشية السفلية

Image
Image
هامش
هامش

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

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

تم تحسين تطبيق losant-temp-sensor-app لاستهلاك الطاقة ، حيث يستخدم ميزة النوم العميق لـ ESP32 ، وبالتالي يمكنك استخدامه لفترات طويلة من الوقت دون القلق بشأن البطارية على الإطلاق. يمكنك زيادة كفاءة الطاقة عن طريق إزالة LED على لوحة التطوير. تم عرض السحب الحالي للإعداد بالكامل أعلاه.

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

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

الخطوة 5: الاعتمادات والدعم

يتكون هذا Instructable من الرسوم التوضيحية ، على سبيل المثال الذي يشرح تبادل MQTT ، والذي قمت به شخصيًا. لم تكن هذه الرسوم ممكنة إلا بفضل حزم SVG المجانية التالية:

  • ناقلات Infographic التي أنشأتها freepik - www.freepik.com
  • ناقلات Infographic التي أنشأتها Starline - www.freepik.com
  • ناقلات الناس التي أنشأتها pikisuperstar - www.freepik.com
  • ناقلات مجردة تم إنشاؤها بواسطة macrovector - www.freepik.com
  • ناقلات مجردة تم إنشاؤها بواسطة macrovector - www.freepik.com
  • ناقل Infographic تم إنشاؤه بواسطة pikisuperstar - www.freepik.com

تمت رعاية هذا Instructable بواسطة DFRobot. يحتوي DFRobot على مجموعة إلكترونيات رائعة ، لذا تأكد من التحقق منها.

إذا كنت تشعر أنك أحببت هذا Instructable وتريد المزيد من Instructables مثل هذا ، فيمكنك دعمني على Patreon. إذا لم تتمكن من الذهاب إلى هذا الحد ، فيمكنك متابعتي هنا على Instructables.

موصى به: