ترجمة:
Go IoT Development Platform عبارة عن حل مجاني وفعال وقابل للتطوير لإنترنت الأشياء (IoT) تم تطويره باستخدام لغة البرمجة Go. تدعم المنصة بروتوكولات نقل البيانات مثل MQTT وHTTP وWebSocket وCOAP وTCP/IP، وتوفر أدوات تكوين خفيفة الوزن لوظائف الإنذار وخدمات إحصاءات البيانات المستندة إلى JavaScript.
الموقع الرسمي: http://iot-dev-egi.pages.dev/
عنوان المستودع: https://github.com/iot-ecology/go-iot-platform
نحن نبحث عن مهندسي تطوير React؛ مشاركتك موضع ترحيب.
يمكن لـ EMQX تلقي تقارير بيانات المستوى الثاني من العديد من الأجهزة في أي وقت، ولكن هذا قد لا يتوافق مع عملية الأعمال العادية. على سبيل المثال، في ظل الظروف العادية، قد يقوم الجهاز بالإبلاغ عن البيانات مرة واحدة كل 5 دقائق. لتحديد ما إذا كان جهاز الإبلاغ شرعيًا، نحتاج إلى طريقة لاكتشاف ما إذا كان الجهاز قد يكون جهازًا ضارًا، أم لا، حيث يتم الإبلاغ عن البيانات بشكل متكرر بشكل متعمد للتأثير على استقرار EMQX.
تفاصيل الجهاز الفعلي: هناك حقلان رئيسيان في تفاصيل الجهاز الفعلي (معلومات الجهاز): الفاصل الزمني للدفع (بالثواني) وخطأ وقت الدفع (بالثواني). باستخدام هذين الحقلين، يمكننا تحديد ما إذا كان سلوك الإبلاغ الخاص بالجهاز غير طبيعي ومتابعة المعالجة المنطقية اللاحقة.
لحساب ما إذا كان معدل الإبلاغ الخاص بالجهاز يقع ضمن فاصل الدفع والخطأ، وما إذا كان خارج الخطأ، نحتاج أولاً إلى تحديد بعض المتغيرات والشروط:
يعتبر معدل الجهاز ضمن فترة الدفع ويحدث خطأ إذا كانت فترة الدفع الفعلية ( T_{\text{actual}} ) تستوفي الشرط التالي:
[ T - E \leq T_{\text{actual}} \leq T E ]
يعتبر معدل الجهاز خارج الخطأ إذا كانت فترة الدفع الفعلية ( T_{\text{actual}} ) لا تستوفي الشرط أعلاه، أي:
[ T_ {\text{actual}} T E ]
يفترض:
[ T_{\text{actual}} = (10:01:05 - 10:00:00) = 65 \text{ ثانية} ]
[ 60 - 5 \leq 65 \leq 60 5 ]
[ 55 \leq 65 \leq 65 ]
بما أن ( 55 \leq 65 \leq 65 ) صحيح، فإن معدل الجهاز يقع ضمن الفاصل الزمني للدفع والخطأ.
بما أن ( 65 ) لا يقل عن ( 60 5 ) فإن معدل الجهاز ليس خارج الخطأ.
بواسطة هذه الطريقة، يمكنك حساب الفاصل الزمني الفعلي للدفع للجهاز بدقة وإجراء مزيد من التحليل لمعرفة ما إذا كان يتوافق مع الفاصل الزمني للدفع وقواعد الخطأ المحددة.
من خلال طريقة الحساب المذكورة سابقًا، يمكننا تحديد ما إذا كانت البيانات المبلغ عنها تتوافق مع فترة الدفع المتوقعة ونطاق الخطأ. بشكل عام، تعتبر البيانات التي تتوافق مع هذا النطاق عادية وتحتاج إلى معالجة، في حين أن البيانات التي تتجاوز هذا النطاق قد تعتبر غير طبيعية ويجب التخلص منها. في منصة تطوير Go IoT، بالنسبة لمثل هذه البيانات غير الطبيعية، سنتخذ الإجراءات التالية:
تجاهل البيانات : تجاهل البيانات التي تتجاوز الفاصل الزمني للدفع ونطاق الخطأ مباشرة. عند استهلاك الرسائل الموجودة في قائمة انتظار الرسائل، قم مباشرة بإقرار ACK (الإقرار) بهذه البيانات دون تخزين مستمر.
الصيانة من خلال أدوات إدارة خادم EMQX
باستخدام ميزة القائمة السوداء لـ EMQX، يمكننا تقييد عملاء الإبلاغ الضارين أو غير الطبيعيين. فيما يلي تحليل تفصيلي لمزايا وعيوب تعطيل الكائنات وحالات استخدامها:
كائن معطل | المزايا | عيوب | حالات الاستخدام |
---|---|---|---|
معرف العميل | - دقة عالية، يمكنها تقييد عملاء محددين بشكل مباشر. - سهل التنفيذ، وعادة ما يكون معرف العميل فريدًا وسهل الإدارة والتتبع. |
- في حالة تغيير العميل للمعرف، يجب إضافته إلى القائمة السوداء مرة أخرى. - مطلوب آلية لتحديد وتسجيل معرف العميل. |
- مناسب للسيناريوهات التي تتطلب تحكمًا دقيقًا في الأجهزة الفردية أو العملاء. - عندما يكون من السهل تحديد وتسجيل معرف عميل MQTT لجهاز الإبلاغ. |
اسم المستخدم | - يمكن إدارة مجموعة من الأجهزة باستخدام نفس اسم المستخدم. - يبسط إدارة مجموعة من الأجهزة. |
- غير مناسب للسيناريوهات التي تتطلب تحكمًا دقيقًا في الأجهزة الفردية. - إذا كانت الأجهزة تشترك في اسم مستخدم، فقد يتم تقييد الأجهزة الشرعية بشكل غير صحيح. |
- مناسب للسيناريوهات التي تستخدم فيها الأجهزة نفس كلمة مرور الحساب على دفعات أو وفقًا للقواعد. - عندما تكون إدارة الجهاز أكثر مركزية ولا يلزم التحكم الدقيق في الأجهزة الفردية. |
عنوان IP | - يمكن تقييد جميع الطلبات من عنوان IP محدد بسرعة. - بسيطة وفعالة للأجهزة ذات عناوين IP الثابتة. |
- غير فعال بالنسبة لعنوان IP الديناميكي أو الأجهزة المحمولة. - قد يقيد عن طريق الخطأ الأجهزة الشرعية الأخرى تحت نفس عنوان IP. |
- مناسب للسيناريوهات التي تحتوي فيها الأجهزة على عناوين IP ثابتة. - عندما تحتاج إلى تقييد حركة المرور بسرعة من عنوان IP محدد ولا توجد أجهزة شرعية أخرى ضمن عنوان IP هذا. |
يجب على الثلاثة المذكورة أعلاه إعطاء الأولوية لمعرف العميل أولاً.
يوفر EMQX واجهة API تسمح للمسؤولين بإزالة عملاء MQTT محددين من الخادم. تجدر الإشارة إلى أنه إذا قام عميل MQTT بتنفيذ آلية إعادة الاتصال، فإن إزالتها ببساطة قد لا تؤدي إلى إزالة العميل بالكامل.
المرجع: وثائق EMQX - استبعاد العميل
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3