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

كاشف انسداد التصريف: 11 خطوة (بالصور)
كاشف انسداد التصريف: 11 خطوة (بالصور)

فيديو: كاشف انسداد التصريف: 11 خطوة (بالصور)

فيديو: كاشف انسداد التصريف: 11 خطوة (بالصور)
فيديو: أنواع الآبار ( سطحي - عميق - إرتوازي ) شرح مبسط ومختصر 2024, يوليو
Anonim
Image
Image

لا تدع الصرف المسدود يبطئك! بعد عودتنا من إجازتنا ، فوجئت أنا وزوجتي بالمياه التي تغطي أرضية شقتنا ، واكتشفنا أنها ليست مياه نظيفة ، بل تستنزف في كل مكان. بعد تنظيف البالوعة وتنظيف الأرضية ، كان لدي هذا السؤال: لماذا لا يوجد لدينا نظام إنذار لسدادات التصريف المحتملة؟ لا يمكن أن تؤدي المصارف المسدودة إلى توقف منزلك فحسب ، بل ستستهلك تكاليف إضافية من جيوبك ، حيث تبلغ تكلفة تنظيف البالوعة المسدودة 206 دولارًا في المتوسط وفقًا لـ HomeAdvisor ، بالإضافة إلى التكاليف المخفية للسجاد التالف والأثاث الخشبي … إلخ. تتمثل فكرتنا في السماح لأصحاب المنازل وكذلك المؤسسات مثل إدارات صيانة المدن / المجمعات ومقدمي الخدمات المتخصصين بالحصول على نظام فعال وذكي ينبه المسؤول في أقرب وقت ممكن لاتخاذ الإجراءات ، مما يساهم في إثراء المدن الذكية بأهم خاصية.

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

قروض ل

  • محمد حسن
  • احمد امام

المشروع بالتفصيل يتم تنفيذ 3 مراحل في هذا المشروع: جمع البيانات والتعلم والتنبؤ.

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

وفي هذا الفيديو التالي ، يوضح كيف قمنا باختبار النظام والنموذج ، في الوضع المفتوح ، ثم في وضع السد والعودة إلى الوضع المفتوح ، ولكن

لذلك ، دعنا نستكشف التنفيذ خطوة بخطوة:

الخطوة 1: التجربة

التجربة
التجربة
التجربة
التجربة
التجربة
التجربة
التجربة
التجربة

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

الخطوة 2: الأجهزة

المعدات
المعدات
المعدات
المعدات
المعدات
المعدات

أنا- اردوينو

لاكتشاف صوت الماء داخل الأنبوب ، نحتاج إلى مستشعر صوت. ومع ذلك ، لا يحتوي Raspberry Pi 3 على GPIO تناظري. للتعامل مع هذه المشكلة ، نستخدم Arduino لأن Arduino يحتوي على GPIO تمثيلي. لذلك قمنا بتوصيل مستشعر Grove Sound بغطاء Grove Arduino وربط Shield بـ Arduino UNO 3. ثم نقوم بتوصيل Arduino & Raspberry باستخدام كابل USB. للحصول على مزيد من المعلومات حول مستشعر Grove Sound ، يمكنك مراجعة ورقة البيانات الخاصة به. يمكنك أن تجد في ورقة البيانات نموذجًا لرمز كيفية قراءة قيم المستشعر. رمز عينة هو تقريبا استخدام سوف تغييرات صغيرة. في الكود أدناه نقوم بتوصيل المستشعر بـ A0 في الدرع. للكتابة على المسلسل ، نستخدم الدالة Serial.begin (). للتواصل مع Raspberry baud تم ضبط المعدل على 115200 سيتم إرسال البيانات إلى Raspberry إذا كانت أكبر من حد معين لخفض الضوضاء. تم العثور على العتبة 400 & قيمة التأخير 10 مللي ثانية. تم اختيار العتبة لتصفية الضوضاء العادية والتأكد من إرسال البيانات ذات المعنى فقط إلى السحابة. تم اختيار التأخير بعيدًا للتأكد من أن المستشعر قد اكتشف أي تغييرات في صوت التدفق داخل الأنبوب على الفور.

II- Raspberry Pi 3 لتنزيل أشياء android على Raspberry ، يمكنك تنزيل أحدث إصدار من Android Things Console. في هذا المشروع نستخدم الإصدار: OIR1.170720.017. اتبع الخطوات في موقع Raspberry لتثبيت نظام التشغيل على raspberry ، بالنسبة لنظام التشغيل windows يمكنك استخدام هذه الخطوات بعد التثبيت يمكنك توصيل Raspberry بجهاز الكمبيوتر الخاص بك باستخدام USB. ثم في وحدة تحكم الكمبيوتر ، استخدم الأمر أدناه للحصول على Raspberry IP

nmap -sn 192.168.1. *

بعد الحصول على IP ، اتصل بـ Raspberry الخاص بك باستخدام الأمر أدناه

ربط adb

لتوصيل Raspberry الخاص بك بشبكة Wifi (أضف SSID وكلمة المرور)

ADB am بدء الخدمة

-n com.google.wifisetup /. WifiSetupService

-A WifiSetupService. Connect

- ه ssid *****

- عبارة المرور ****

الخطوة 3: Google Cloud - التسجيل

جوجل كلاود - التسجيل
جوجل كلاود - التسجيل
جوجل كلاود - التسجيل
جوجل كلاود - التسجيل
جوجل كلاود - التسجيل
جوجل كلاود - التسجيل
جوجل كلاود - التسجيل
جوجل كلاود - التسجيل

تقدم Google فئة مجانية لجميع المستخدمين لمدة عام واحد بحد أقصى 300 دولار ، وذلك بفضل Google:). اتبع الشاشات لإنشاء مشروع جديد في Google Cloud

الخطوة 4: Google Cloud - Pub / Sub

Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub

Google Cloud Pub / Sub هي خدمة مراسلة في الوقت الفعلي مُدارة بالكامل تتيح لك إرسال الرسائل واستلامها بين التطبيقات المستقلة.

الخطوة 5: Google Cloud - IOT Core

جوجل كلاود - IOT Core
جوجل كلاود - IOT Core
جوجل كلاود - IOT Core
جوجل كلاود - IOT Core
جوجل كلاود - IOT Core
جوجل كلاود - IOT Core

II- خدمة IOT CoreA مُدارة بالكامل لتوصيل وإدارة واستيعاب البيانات بسهولة وأمان من الأجهزة المنتشرة عالميًا. IOT Core لا يزال بيتا ، لتتمكن من الوصول إليه تحتاج إلى تقديم طلب مع مبرر إلى Google. لقد قدمنا الطلب ، وكان مبررنا هذه المسابقة. وافقت جوجل ، شكرا لجوجل مرة أخرى:). سيرسل Raspberry بيانات المستشعر إلى IOT Core والتي ستعيد توجيه القراءات إلى موضوع PubSub الذي تم إنشاؤه في الخطوة السابقة

الخطوة 6: Google Cloud - وظائف السحابة

جوجل كلاود - وظائف السحابة
جوجل كلاود - وظائف السحابة
جوجل كلاود - وظائف السحابة
جوجل كلاود - وظائف السحابة

وظائف السحابة هي بيئة بدون خادم لإنشاء الخدمات السحابية وتوصيلها. المشغل لهذه الوظيفة هو موضوع PubSup الذي تم إنشاؤه في الخطوة 1. ؛؛ سيتم تشغيل هذه الوظيفة عند كتابة قيمة جديدة في PubSup وكتابتها في Cloud DataStore باستخدام Kind "SoundValue"

الخطوة 7: Google Cloud - Cloud DataStore

Google Cloud Datastore هي قاعدة بيانات مستندات NoSQL مصممة للقياس التلقائي والأداء العالي وسهولة تطوير التطبيقات. بينما تحتوي واجهة Cloud Datastore على العديد من الميزات نفسها التي تتمتع بها قواعد البيانات التقليدية ، فإنها تختلف عنها في الطريقة التي تصف بها العلاقات بين كائنات البيانات كقاعدة بيانات NoSQL. لا حاجة لأي إعداد ، فبمجرد أن تكتب وظائف السحابة قيم المستشعر إلى DataStore ، ستتم إضافة البيانات إلى DataStore

الخطوة 8: Google Cloud - BigQuery

Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery

نقوم بجمع عينة 10 دقائق من الأنبوب العادي و 10 دقائق من الأنبوب المسدود بفارق ساعة واحدة بالضبط بين التكررين. بعد تنزيل DataStore وإجراء بعض التلاعب لإضافة تصنيف لكل صف. الآن لدينا 2 ملف csv واحد لكل فئة. كأفضل ممارسة ، قم بتحميل ملفات CSV للبيانات أولاً إلى Cloud Storage. في الشاشة أدناه ، نقوم بإنشاء حاوية جديدة وتحميل ملفي CSVs نظرًا لأنه سيتم استخدام هذه المجموعة للتحليل فقط ، فلا داعي لاختيار الحاوية متعددة المناطق ، ثم أنشئ مجموعة بيانات وجدولًا جديدًا في BigQuery وقم بتحميل ملفي CSV من المجموعة إلى الجدول الجديد

الخطوة 9: Google Cloud - Data Studio

جوجل كلاود - استوديو البيانات
جوجل كلاود - استوديو البيانات
جوجل كلاود - استوديو البيانات
جوجل كلاود - استوديو البيانات
جوجل كلاود - استوديو البيانات
جوجل كلاود - استوديو البيانات

ثم نستخدم Data Studio لرسم بعض الأفكار. سيقرأ Data Studio البيانات من جدول BigQuery. من الرسوم البيانية يمكننا أن نرى الفرق بين فئتين في عدد أجهزة القياس عن بعد ومجموع القيم في الدقيقة. بناءً على هذه الأفكار ، يمكننا تصميم نموذج بسيط ، يعتبر الأنبوب مسدودًا إذا كان عدد قيم المقاييس عن بُعد أعلى من عتبة الضوضاء (400) في غضون 3 دقائق متتالية يزيد عن 350 جهازًا عن بُعد. وفي 3 دقائق متتالية ، يكون عدد أجهزة القياس عن بُعد الأعلى من حد الشرارة (720) أكثر من 10 أجهزة قياس عن بُعد.

الخطوة 10: مرحلة التنبؤ

مرحلة التنبؤ
مرحلة التنبؤ

نشير إلى قراءة ، عندما تتجاوز قيمة معينة (THRESHOLD_VALUE) والتي تم ضبطها على 350 لتصفية الضوضاء وانخفاض معدلات تدفق المياه في الأنبوب ، من اعتبارها قراءة

أظهر تحليل البيانات أنه في الوضع المفتوح ، يكون عدد القراءات أقل من 100 ، ولكن في وضع السد ، تكون القيم أعلى بكثير (وصلت إلى 900 في الدقيقة) ، ولكن في حالات نادرة كانت أيضًا أقل من 100. ومع ذلك ، لا تتكرر هذه الحالات بالتبعية ، ولثلاث دقائق متتالية ، تجاوز إجمالي عدد القراءات دائمًا 350. وجود الوضع المفتوح في نفس الدقائق الثلاث سيجمع أقل من 300 ، يمكننا بثقة وضع هذه القاعدة: القاعدة رقم 1 لمدة ثلاث دقائق في الخام ، إذا كانت القراءات الإجمالية > 350 ، ثم تم الكشف عن انسداد. وجدنا أن الحد الأقصى للقيمة التي تم الوصول إليها في الوضع المفتوح لا يتجاوز قيمة معينة (SPARK_VALUE) والتي تم العثور عليها لتكون 770 ، لذلك أضفنا هذه القاعدة: القاعدة رقم 2 إذا كانت قراءة القيمة> 350 ، فسيتم اكتشاف انسداد في الغالب.

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

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

يمكن العثور على جميع الأكواد الخاصة بوظيفة Arduino و Raspberry & Cloud على Github.

لمزيد من المعلومات يمكنك التحقق من هذا الرابط

موصى به: