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

IOT123 - ASSIMILATE SENSOR HUB: ICOS10 Customization WEBSEREVER: 11 Steps
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 Customization WEBSEREVER: 11 Steps

فيديو: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 Customization WEBSEREVER: 11 Steps

فيديو: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 Customization WEBSEREVER: 11 Steps
فيديو: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 IDC PANEL ASSEMBLY 2024, يوليو
Anonim
IOT123 - مركز مستشعر متشابه: موقع ويب مخصص لتخصيص ICOS10
IOT123 - مركز مستشعر متشابه: موقع ويب مخصص لتخصيص ICOS10
IOT123 - مركز مستشعر متشابه: موقع ويب مخصص لتخصيص ICOS10
IOT123 - مركز مستشعر متشابه: موقع ويب مخصص لتخصيص ICOS10
IOT123 - مركز مستشعر متشابه: موقع ويب مخصص لتخصيص ICOS10
IOT123 - مركز مستشعر متشابه: موقع ويب مخصص لتخصيص ICOS10

تقوم ASSIMILATE SENSOR / ACTOR Slaves بتضمين البيانات الوصفية المستخدمة لتحديد المرئيات في كروتون. يضيف هذا الإصدار خادم ويب إلى ESP8266 Master ، ويخدم بعض ملفات التكوين التي يمكن تعديلها بواسطة المستخدم ، ثم يستخدم هذه الملفات لإعادة تعريف التصورات. لذلك يمكن تغيير أسماء بطاقات لوحة المعلومات ومعظم الخصائص القابلة للتكوين. كان هذا ضروريًا على سبيل المثال تنشر DHT11 خصائص درجة الحرارة والرطوبة: إذا كان الموقع يحتوي على عدة عقد مع مستشعرات DHT11 منفصلة ، فلا يمكن أن يطلق عليها جميعًا درجة الحرارة (Garage Temp. ، Yard Temp …). تقييد طول البيانات الوصفية الذي تم تعيينه بواسطة I2C Bus (16 حرفًا) غير موجود ويمكن تطبيق قيم أكثر ثراءً (حتى 64 حرفًا).

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

تم أيضًا تطوير مفتاح منخفض الجانب يعمل على إيقاف العبيد عند الضرورة على لوحة ابنة موجودة.

كملاحظة فنية ، قبل البدء في هذا البناء ، كانت مساحة الذاكرة 70٪ بسبب الرسم البياني العالمي لبيانات التعريف. أحدث مكتبة AssimilateBus بها تغييرات فاصلة تفصل المتغير العام إلى ملفات JSON أصغر محفوظة في SPIFFS. وقد أدى هذا إلى إعادة البصمة إلى حوالي 50٪ ، وهي أكثر أمانًا لجميع عمليات تحليل / بناء JSON. تظل مكتبة AssimilateBusSlave كما هي (ASSIM_VERSION 2) طوال هذه التغييرات.

الميزات والرؤية

حاليًا ، يتم احتواء العبيد (المستشعرات والممثلين) ذاتيًا ويعتمدون على رسائل I2C القائمة على الاتفاقية لقراءة الخصائص أو التصرف بناءً على الأوامر. يلتقط السيد البيانات الوصفية والخصائص من العبيد ويرسلها إلى وسيط MQTT. يبدأ أيضًا خادم ويب ويقدم ملفات JSON التي يمكن تحريرها لتكوين الرئيسي وتخصيص البيانات الوصفية / الخصائص التي يستهلكها Crouton في النهاية. تتم قراءة / توجيه أجهزة الاستشعار / الممثلين الفرديين عبر كروتون دون أن يكون لدى السيد أي معرفة مسبقة بما يفعله العبيد.

يتمثل أحد أهداف ASSIMILATE IOT NETWORK في تخصيص Crouton بحيث تتم إضافة محرري mashup الذين يتم تقديمهم من خوادم الويب IOT NODE (مثل هذا الإصدار) كمكونات ويب تمنح تحكمًا كاملاً في ما يفعله الشيء ، أي أن المعلم غير مبرمج ، العبيد لديهم مجموعات ميزات أساسية ولكن لوحة معلومات Crouton تضم جميع قواعد العمل اللازمة لتشغيل الشيء!

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

الخطوة 1: كروتون

كروتون
كروتون
كروتون
كروتون

كروتون. https://crouton.mybluemix.net/ Crouton هي لوحة تحكم تتيح لك تصور أجهزة إنترنت الأشياء والتحكم فيها مع الحد الأدنى من الإعداد. بشكل أساسي ، إنها أسهل لوحة تحكم للإعداد لأي متحمس لأجهزة IOT باستخدام MQTT و JSON فقط.

تحتوي ASSIMILATE SLAVES (المستشعرات والممثلين) على بيانات وصفية وخصائص مدمجة يستخدمها المعلم لبناء حزمة deviceInfo json التي يستخدمها Crouton لبناء لوحة القيادة. الوسيط بين ASSIMILATE NODES و Crouton هو وسيط MQTT متوافق مع مآخذ الويب: يستخدم Mosquito في العرض التوضيحي.

نظرًا لأن ASSIMILATE MASTER (هذا الإصدار) يطلب خصائص ، فإنه يقوم بتنسيق قيم الاستجابة بالتنسيق المطلوب لتحديثات Crouton.

الخطوة 2: خادم الويب / المحرر

خادم الويب / المحرر
خادم الويب / المحرر
خادم الويب / المحرر
خادم الويب / المحرر

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

عندما تتصفح للوصول إلى عنوان URL المذكور ، سيتم تحميل محرر ACE:

Ace هو محرر كود قابل للتضمين مكتوب بلغة JavaScript. إنه يطابق ميزات وأداء المحررين الأصليين مثل Sublime و Vim و TextMate.

يشتهر Ace بخوادم الويب المضمنة ويوفر واجهة جيدة لتحرير ملفات JSON وحفظها.

سيؤدي النقر فوق اسم ملف على اليسار إلى قراءة الملف من SPIFFS على ESP8266 ، وتحميل المحتوى للتحرير على اليمين. يمكن حفظ الملف من شريط الأدوات العلوي.

لتحميل ملف:

  1. اختر ملف من نظام الملفات المحلي الخاص بك.
  2. أدخل مسار المجلد (إذا لزم الأمر) في مربع النص.
  3. انقر فوق تحميل.
  4. قم بتحديث الصفحة.

الخطوة 3: تخصيص الجهاز

تخصيص الجهاز
تخصيص الجهاز

تكوين الجهاز (ESP8266) يتم تنفيذه من خلال ملف device.json.

ستحتاج بعض هذه الإدخالات (wifi_ssid ، wifi_key) إلى التعديل قبل تحميل البيانات إلى SPIFFS (ESP8266 Sketch Data Upload).

تصفح إلى جذر خادم الويب (كما هو موضح في إخراج وحدة التحكم مثل

التحرير

في محرر ACE ، اختر config / device.json.

الإدخالات هي:

  • www_auth_username: اسم مستخدم الترخيص لملفات خادم الويب (فارغ لعدم الترخيص).
  • www_auth_password: كلمة مرور التفويض لملفات خادم الويب (إذا تم تحديد اسم المستخدم).
  • www_auth_exclude_files: قائمة مسارات الملفات المحددة بفاصلة منقوطة لاستبعادها من عمليات التحقق من الترخيص (إذا تم تعريف اسم المستخدم).
  • sensor_interval: الميلي ثانية بين عمليات نشر البيانات إلى وسيط MQTT.
  • ntp_server_name: اسم خادم الوقت المراد استخدامه.
  • time_zone: الإزاحة بالساعات حسب توقيتك المحلي.
  • wifi_ssid: معرف SSID الخاص بنقطة الوصول المحلية.
  • wifi_key: المفتاح المراد استخدامه لمعرف SSID.
  • mqtt_broker: عنوان وسيط MQTT.
  • mqtt_username: اسم المستخدم المراد استخدامه للوسيط MQTT (فارغ لعدم الحاجة إلى حساب).
  • mqtt_password: كلمة المرور المستخدمة من اسم مستخدم MQTT.
  • mqtt_port: منفذ الوسيط MQTT.
  • mqtt_device_name: الاسم المراد استخدامه لموضوعات MQTT وتعريف كروتون.
  • mqtt_device_description: وصف الجهاز الموضح في كروتون.
  • viz_color: اللون الذي يميز بطاقات الجهاز في كروتون (في النسخة المتشعبة)

الخطوة 4: تخصيص الممتلكات

تخصيص الممتلكات
تخصيص الممتلكات
تخصيص الممتلكات
تخصيص الممتلكات
تخصيص الممتلكات
تخصيص الممتلكات

يحتوي كل من التابعين على مصفوفة بنية nvc المحددة في ملف التعريفات.

// --------------------------------------- العقارات المنشورة

دعائم nvc [2] = {{"الرطوبة"، ""، صواب}، {"درجة الحرارة"، ""، خطأ}}؛ // --------------------------------------- العقارات المنشورة النهائية

يحتوي كل إدخال من الإدخالات على فهرس حيث يكون الأول هو 0 (صفر).

يتم إجراء تخصيص اسم الخاصية من خلال ملف user_props.json.

تصفح إلى جذر خادم الويب (كما هو موضح في إخراج وحدة التحكم مثل

التحرير

في محرر ACE ، اختر config / user_props.json (أو قم بتحميل واحد).

الهيكل هو:

المفتاح الأول هو عنوان التابع في ملف Definitions.h كما هو محدد بواسطة:

#define ADDRESS_SLAVE XX

  • المستوى التالي من المفاتيح هو فهرس الخاصية.
  • قيمة هذا المفتاح هي اسم الخاصية المراد استخدامه في Crouton بدلاً من اسم الخاصية المحدد في ملف التعريفات.

الخطوة 5: تخصيص البيانات الوصفية

تخصيص البيانات الوصفية
تخصيص البيانات الوصفية
تخصيص البيانات الوصفية
تخصيص البيانات الوصفية
تخصيص البيانات الوصفية
تخصيص البيانات الوصفية
تخصيص البيانات الوصفية
تخصيص البيانات الوصفية

نظرًا لمقدار التخصيصات الممكنة ، كل تابع لديه ملف تعديل البيانات الوصفية الخاص به. يجب أن تكون الملفات بالتنسيق user_metas_.json.

تم العثور على عنوان التابع في ملف التعريفات. h في رسومات ATTINY85:

#define ADDRESS_SLAVE XX

يتم تعريف البيانات الوصفية في نفس الملف مثل هذا:

ثابت حرف viz1 PROGMEM = "VIZ_CARD_TYPE" ؛

const static char viz2 PROGMEM = "2: chart-donut" ؛ ثابت char viz3 PROGMEM = "1" ؛

السطر الأول هو اسم عنصر البيانات الوصفية.

السطر الثاني هو القيمة. بشكل عام لها لاحقة فهرس الملكية.

السطر الثالث هو علم الاستمرارية. 1 - متابعة ، 0 - نهاية البيانات الوصفية (VCC_MV).

تصفح إلى جذر خادم الويب (كما هو موضح في إخراج وحدة التحكم مثل

التحرير

في ACE EDITOR ، اختر config / user_metas_SLAVE_ADDRESS.json (أو قم بتحميل واحد). الهيكل هو:

  • مصفوفة من أزواج الاسم / القيمة.
  • الاسم هو اسم عنصر البيانات الوصفية المراد تغييره.
  • القيمة هي التغيير. يتم فحص لاحقة الفهرس للاستبدال.

الخطوة 6: المواد والأدوات

المواد والأدوات
المواد والأدوات
المواد والأدوات
المواد والأدوات
المواد والأدوات
المواد والأدوات

ICOS10 (IDC) فاتورة مواد شل

  1. D1M BLOCK Pin Jig (1)
  2. قاعدة D1M BLOCK والإسكان (1)
  3. وموس D1 ميني (1)
  4. وايموس D1 ميني بروتوبورد شيلد (1)
  5. 40P رأس أنثى (8P ، 8P ، 9P ، 9P)
  6. رأس ذكر 90º (3P ، 3P ، 3P ، 2P ، 1P ، 2P)
  7. 1 "لوح بروتوبورد مزدوج الجوانب (2)
  8. 2N7000 NFET (1)
  9. 6 دبوس يكتنفها رأس ذكر IDC (1)
  10. سلك ربط (~ 10)
  11. 0.5 مم سلك معلب (~ 4)
  12. 4 جرام × 15 مللي متر مسامير رئيس زر التنصت الذاتي (2)
  13. مسامير غاطسة ذاتية اللولبة 4G × 6 مم (~ 20)
  14. جندى وحديد (1)

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

Image
Image
تحضير MCU
تحضير MCU

في هذا البناء ، نستخدم Wemos D1 Mini. إذا كنت قد قمت مسبقًا بإنشاء D1M WIFI BLOCK ، فيمكنك استخدام ذلك لمكون الأجهزة المعياري. إذا لم يكن كذلك ، كحد أدنى اتبع القسم التالي.

SOLDERING THE HEADER PINS على MCU (باستخدام PIN JIG) إذا لم تتمكن من طباعة PIN JIG ، فما عليك سوى اتباع التعليمات والارتجال: ارتفاع (إزاحة) PIN JIG هو 6.5 مم.

  1. اطبع / احصل على PIN JIG من هذه الصفحة.
  2. قم بتغذية دبابيس الرأس من خلال الجزء السفلي من اللوحة (TX من اليمين إلى اليسار) وفي أداة اللحام.
  3. اضغط على المسامير لأسفل على سطح مستوٍ صلب.
  4. اضغط على اللوحة لأسفل بقوة على الرقصة.
  5. جندى 4 دبابيس الزاوية.
  6. قم بإعادة تسخين اللوح / المسامير وإعادة وضعها إذا لزم الأمر (اللوحة أو الدبابيس غير محاذية أو راسيا).
  7. جندى بقية المسامير.

تحميل البرنامج الثابت

يمكن العثور على مستودع الكود هنا (لقطة).

يمكن العثور على ملف ZIP للمكتبة هنا (لقطة).

تعليمات "استيراد مكتبة مضغوطة" هنا.

بمجرد تثبيت المكتبة ، يمكنك فتح المثال "mqtt_crouton_esp8266_customization_webserver".

تعليمات إعداد Arduino لجهاز Wemos D1 Mini هنا.

التبعيات: ArduinoJson و TimeLib و PubSubClient و NeoTimer (انظر المرفقات في حالة حدوث تغييرات في المستودعات).

تحميل إلى SPIFFS

بمجرد تحميل الكود في Arduino IDE ، افتح device.json في مجلد data / config:

  1. قم بتعديل قيمة wifi_ssid باستخدام WiFi SSID الخاص بك.
  2. قم بتعديل قيمة wifi_key باستخدام مفتاح WiFi الخاص بك.
  3. قم بتعديل قيمة mqtt_device_name بتعريف الجهاز المفضل لديك (لا يلزم الانضمام).
  4. قم بتعديل قيمة mqtt_device_description مع وصف الجهاز المفضل لديك (في كروتون).
  5. احفظ الجهاز json.
  6. قم بتحميل ملفات البيانات إلى نظام SPIFFS.

الخطوة 8: تحضير إسكان MCU

Image
Image
إعداد الإسكان MCU
إعداد الإسكان MCU
إعداد الإسكان MCU
إعداد الإسكان MCU

يعرض مبيت MCU رؤوس D1 Mini لتوصيلها ورؤوس للوحات التابعة التي تتصل بدائرة المقبس (أجهزة الاستشعار والممثلين).

رؤوس الإسكان: يعتمد هذا على لوح D1 Mini Protoboard ويفصل هذه المسامير:

  1. دبابيس D1M WIFI BLOCK / D1 Mini للاتصال بها.
  2. الاختراقات المباشرة لصفين من جهات الاتصال من D1M WIFI BLOCK / D1 Mini. هذه متاحة فقط للراحة أثناء عمل النماذج الأولية. من المتوقع أن تمنع اللوحات الفرعية كل الوصول إلى هذه الرؤوس.
  3. 4 تكسير المسامير المحددة التي تستخدمها اللوحات الفرعية.

لإضافة جهات اتصال D1M إلى HOUSING HEADER:

  1. شاهد فيديو SOLDER USING THE SOCKET JIG.
  2. قم بتغذية دبابيس الرأس من خلال الجزء السفلي من اللوحة (TX أعلى اليسار في الجانب العلوي).
  3. قم بتغذية الرقصة فوق رأس بلاستيكي وقم بتسوية كلا السطحين.
  4. اقلب الرقصة والتجميع واضغط بقوة على الرأس على سطح مستوٍ صلب.
  5. اضغط على اللوحة لأسفل بقوة على الرقصة.
  6. لحام 4 دبابيس الزاوية باستخدام الحد الأدنى من اللحام (فقط محاذاة مؤقتة للدبابيس).
  7. قم بإعادة تسخين اللوح / المسامير وإعادة وضعها إذا لزم الأمر (اللوحة أو الدبابيس غير محاذية أو راسيا).
  8. جندى بقية المسامير.
  9. قم بإزالة الرقصة.
  10. قطع دبابيس فوق الجنود.

لإضافة اختراقات لوحة الابنة:

  1. قطع 4 رؤوس أنثى 9P.
  2. في الجزء العلوي ، أدخل رؤوس 9P كما هو موضح ، وقم بإيقاف اللحام في الأسفل.

لإضافة الاختراقات المباشرة:

  1. قطع 2 من 8P رؤوس الإناث.
  2. في الجزء العلوي ، أدخل رؤوس 8P كما هو موضح ، وقم بإيقاف اللحام في الأسفل.

لتوصيل الرؤوس ، في الجزء السفلي مع توجيه دبوس TX لأعلى:

  1. تتبع ولحام من دبوس RST عبر 4 دبابيس.
  2. تتبع ولحام من دبوس A0 عبر 4 دبابيس.
  3. تتبع ولحام من دبوس D1 عبر 4 دبابيس.
  4. تتبع ولحام من دبوس D2 عبر 4 دبابيس.
  5. تتبع ولحام من D0 قم بتدبيس صفين وعبر 4 دبابيس.
  6. تتبع ولحام من دبوس D7 عبر 4 دبابيس.
  7. تتبع ولحام من دبوس GND عبر 4 دبابيس.
  8. تتبع ولحام من دبوس 5V عبر 4 دبابيس.
  9. تتبع ولحام من دبوس 3V3 لأسفل 45 درجة عبر 4 دبابيس.

تجميع المباراة

يتم لصق رؤوس الإسكان على MCU HOUSING ويتم تثبيتها على اللوحة الأساسية.

  1. مع توجيه الجانب الطويل من رؤوس الإسكان إلى الفتحة ، أدخل جهات الاتصال D1M في الفتحات الموجودة في MCU HOUSING وادفع التدفق لأسفل.
  2. أدخل MCU على جهات اتصال MCU أثناء التثبيت لضمان المحاذاة الصحيحة.
  3. ضع إطار HEADER FRAME فوق الجزء العلوي من تركيبات التجميع وألصقه ببراغي من 4 x 16mm.
  4. ضع التركيبات المجمعة مع الفتحة الموجهة نحو الجانب القصير ولصقها بمسامير 4G x 6mm.

الخطوة 9: بناء الجانب المنخفض للعبيد التبديل / إعادة ضبط لوحة الابنة

بناء جانب العبيد المنخفض التبديل / إعادة ضبط لوحة الابنة
بناء جانب العبيد المنخفض التبديل / إعادة ضبط لوحة الابنة
بناء جانب العبيد المنخفض التبديل / إعادة ضبط لوحة الابنة
بناء جانب العبيد المنخفض التبديل / إعادة ضبط لوحة الابنة
بناء جانب العبيد المنخفض التبديل / إعادة ضبط لوحة الابنة
بناء جانب العبيد المنخفض التبديل / إعادة ضبط لوحة الابنة

هذا تحسين للوحة ابنة REST التي تم تطويرها مؤخرًا. يضيف هذا مفتاحًا منخفضًا يربط العبيد بالأرض. إذا تمت إعادة تعيين الرئيسي ، فسيتم أيضًا التابعين ، وستبدأ التهيئة لنشر البيانات الوصفية مرة أخرى.

المجسم

  1. من الداخل ، أدخل رؤوس الذكور 9P 90 درجة (1) ، رأس الذكور 1P 90 درجة (2) ، 2N7000 (3) ، وقم بإيقاف اللحام من الخارج.
  2. من الداخل ، تتبع سلكًا أصفر من YELLOW1 إلى YELLOW2 ولحام.
  3. من الداخل ، تتبع سلكًا مكشوفًا من SILVER1 إلى SILVER2 وجندى.
  4. من الداخل ، تتبع سلكًا مكشوفًا من SILVER3 إلى SILVER4 ولحام.

الخطوة 10: تجميع المكونات الرئيسية

تجميع المكونات الرئيسية
تجميع المكونات الرئيسية
تجميع المكونات الرئيسية
تجميع المكونات الرئيسية
تجميع المكونات الرئيسية
تجميع المكونات الرئيسية
تجميع المكونات الرئيسية
تجميع المكونات الرئيسية
  1. تأكد من بناء SHELL واختبار الدائرة (الكابلات والمآخذ).
  2. قم بتبديل رأس 2P Male على اللوحة 3V3 I2C DAUGHTER-BOARD برأس ذكر 2P 90º 1P.
  3. أدخل اللوح 3V3 I2C DAUGHTER-BOARD ، مع دبوس 3V3 على النهاية الخشنة للرؤوس (انظر الصورة).
  4. أدخل مفتاح LOW-SIDE SWITCH / RESET DAUGHTER-BOARD ، مع السلك بالداخل (انظر الصورة).
  5. تتبع مسار دوبونت بين رأس ذكر 90 درجة 1P على لوحة DAUGHTER-BOARD 3V3 I2C DAUGHTER-BOARD.
  6. أدخل مقبس IDC من كابل SHELL في رأس IDC على اللوحة 3V3 I2C DAUGHTER-BOARD.
  7. أدخل بعناية ألواح DAUGHTER-BOARDS / HOUSING بين الكابلات في SHELL وقم بمحاذاة فتحات القاعدة.
  8. اربطي BASE ASSEMBLY بالصدفة باستخدام مسامير 4G x 6mm.
  9. قم بإرفاق أي أجهزة استشعار متشابهة قمت بإنشائها.

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

Image
Image
الخطوات التالية
الخطوات التالية
الخطوات التالية
الخطوات التالية
  1. قم بتوجيه المتصفح الخاص بك إلى
  2. تأكد من أن الوسيط هو test.mosquitto.org.
  3. انقر فوق اتصال.
  4. أدخل إدخال اسم الجهاز كـ mqtt_device_name في الملف /config/device.json.
  5. انقر فوق إضافة جهاز.
  6. انقر فوق الاتصال التلقائي.
  7. قم بتشغيل ICOS10 الخاص بك (5 فولت MicroUSB).
  8. تحقق من خلال لوحة القيادة Crouton.

موصى به: