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

نظام إنذار كشف الحركة: 11 خطوة (بالصور)
نظام إنذار كشف الحركة: 11 خطوة (بالصور)

فيديو: نظام إنذار كشف الحركة: 11 خطوة (بالصور)

فيديو: نظام إنذار كشف الحركة: 11 خطوة (بالصور)
فيديو: تفعيل التنبيهات أثناء كشف الحركة على أجهزة داهوا DMSS Dahua 2024, يوليو
Anonim
نظام إنذار كشف الحركة
نظام إنذار كشف الحركة

ملحوظة! لم تعد الكتل التفاعلية متاحة للتنزيل. يمكن استخدام كاميرا USB أساسية لاكتشاف الحركة في الغرفة. في الخطوات التالية سوف نوضح لك كيف يمكنك استخدام الكتل التفاعلية لبرمجة تطبيق Java جاهز للتشغيل يرسل الرسائل القصيرة أو البريد الإلكتروني عند اكتشاف الحركة. باستخدام Reative Blocks ، يمكنك إنشاء تطبيقات Java SE بحيث يمكن نشر تطبيق الإنذار على أي جهاز مع Java SE وكاميرا متصلة أو مدمجة. يتم نشر التطبيق بسهولة على Pi نظرًا لأن إصدار Raspbian يحتوي على Oracle Java مثبتة مسبقًا..

هذا هو ما تحتاجه:

  1. Raspberry Pi Model B + مع نظام التشغيل Raspbian OS
  2. كاميرا USB قياسية
  3. كابل إيثرنت
  4. الشاشة ولوحة المفاتيح لـ Pi
  5. كمبيوتر يعمل بنظام Windows أو MAC مع JDK
  6. ملحوظة! لم تعد الكتل التفاعلية متاحة للتنزيل. ستحتاج إلى Reactive Blocks ، وهو مكون إضافي من Eclipse ، لبرمجة التطبيق.

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

الخطوة 1: تثبيت الكتل التفاعلية

تم إيقاف الكتل التفاعلية

الخطوة 2: قم بتنزيل التطبيق من المكتبات

قم بتنزيل التطبيق من المكتبات
قم بتنزيل التطبيق من المكتبات

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

يتضمن مشروع Motion Detection الذي قمت بتنزيله ثلاثة تطبيقات ، SMS System SMS ، والبريد الإلكتروني لنظام الإنذار ، وتطبيق اختبار ، وهو اختبار اكتشاف الحركة. في هذا البرنامج التعليمي ، نوجهك عبر رسائل SMS الخاصة بنظام الإنذار. إذا كنت تفضل إرسال بريد إلكتروني ، فيمكنك القيام بنفس الخطوات باستخدام البريد الإلكتروني لنظام الإنذار

الخطوة 3: التطبيق في المستوى الأعلى

التطبيق على أعلى مستوى
التطبيق على أعلى مستوى

تقدم هذه الخطوة شرحًا للتطبيق. تُظهر الصورة الأولى مخططًا لما يبدو عليه التطبيق الكامل في المستوى الأعلى. وهو يتألف من 7 لبنات البناء. 5 كتل بناء قياسية من المكتبات وكتلتان مخصصتان تم تصميمهما لهذا التطبيق.

الكتل القياسية من مكتبة إنترنت الأشياء هي:

  • Grabber ، يلتقط الصور من كاميرا USB
  • كشف الحركة ، يقوم بالكشف الفعلي عن الصورة
  • المؤقت الدوري ، يبدأ بطوابع زمنية دقيقة ويرسل إشارة على دبوس القراد كل فترة.
  • يقوم Buffer Eager بدفع العنصر الأول في قائمة الانتظار تلقائيًا. يضمن التخزين المؤقت إرسال رسالة واحدة فقط إلى كتلة إرسال الرسائل القصيرة نظرًا لأنه لا يمكنه معالجة سوى رسالة واحدة في كل مرة.
  • SMS Send Buffered ، يرسل SMS من خلال خدمة Twilio. يتم تخزين العناصر المراد إرسالها مؤقتًا لضمان إرسال رسالة واحدة فقط في كل مرة.
  • المحدد ، لتجنب الكثير من الرسائل القصيرة عند اكتشاف دخيل.
  • قراءة ملف Java Properties ، لقراءة بيانات التكوين من ملف الإدخال
  • عرض ، عرض صورة على الشاشة.

تعمل كتلة المؤقت الدوري كمحرك نظام. سيصدر بشكل دوري علامة ترسل إشارة إلى كتلة Grabber عبر دبوس الإمساك. تستخدم كتلة Grabber تحليل Open Intelligent Multimedia Analysis لجافا ، OpenIMAJ. عند تهيئة الكتلة ، يبدأ مؤشر ترابط منفصل لقراءة البيانات من الكاميرا. يستمع مؤشر الترابط إلى قائمة انتظار الأوامر. عندما تتلقى الكتلة أمرًا عبر دبوس الإمساك ، فإنها ستلتقط صورة واحدة وتسلمها على image e pin.

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

المربعات الزرقاء الفاتحة كلها طرق Java مصممة خصيصًا لهذا التطبيق. يؤدي النقر فوق كتلة الطريقة إلى فتح محرر Java.

عند النقر فوق كتلة إنشاء ، يمكنك رؤية تفاصيل المنطق داخل الكتلة. إذا نظرت على سبيل المثال داخل كتلة ReadConfig ، فسترى أنه تم إنشاؤه من خلال الجمع بين كتل إنشاء موجودة و 4 طرق Java.

يضع المحدد حدًا لكمية الرسائل التي تم إنشاؤها. لاحظ الحرف P في الزاوية اليمنى من الكتلة البرمجية الإنشائية. يشير إلى أنه يمكنك تعيين miniterval للمدة التي يجب أن ينتظرها التطبيق قبل أن يرسل رسالة SMS جديدة. الإعداد الافتراضي هو 300000 مللي ثانية ، أي 5 دقائق. لتغيير القيمة. انقر بزر الماوس الأيمن فوق الكتلة واختر المعلمات والأدوية.

الخطوة 4: تفعيل الرسائل القصيرة

تمكين الرسائل القصيرة
تمكين الرسائل القصيرة

يستخدم تطبيق التنبيه هذا Twilio كخدمة SMS. لتمكين الرسائل القصيرة ، يجب عليك تحرير الملف config / alarm-system.properties. يمكنك العثور عليه في عرض مستكشف الحزمة ضمن br.ref.motiondetection ، انظر الصورة.

هذا الملف هو نفس الملف المستخدم في البريد الإلكتروني لنظام الإنذار. إذا كنت تفضل تلقي إشعارات بالبريد الإلكتروني ، فستستخدم هذا التطبيق وتحرر الملف باستخدام بيانات اعتماد بريدك الإلكتروني.

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

يمكنك العثور على اللبنات الأساسية للبريد الإلكتروني SMTP و AirVantage Cloud و IBM Bluemix و Xively على سبيل المثال لا الحصر.

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

لا تتردد في الاتصال بي إذا كنت بحاجة إلى مساعدة

الخطوة 5: إنشاء التطبيق وتشغيله على الكمبيوتر المحمول الخاص بك

قم ببناء التطبيق وتشغيله على الكمبيوتر المحمول الخاص بك
قم ببناء التطبيق وتشغيله على الكمبيوتر المحمول الخاص بك

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

انقر بزر الماوس الأيمن فوق نظام إنذار الرسائل القصيرة الخاص بالمشروع ضمن علامة التبويب "المشاريع" وحدد إصدار Java القياسي. تأكد من أن معلومات التسجيل هي INFO. سيتم فتح المشروع الذي تم إنشاؤه تلقائيًا ضمن علامة التبويب Package Explorer. انظر الشكل للحصول على التفاصيل.

الخطوة 6: قم بتشغيل التطبيق على جهاز الكمبيوتر الخاص بك

قم بتشغيل التطبيق على جهاز الكمبيوتر الخاص بك
قم بتشغيل التطبيق على جهاز الكمبيوتر الخاص بك
قم بتشغيل التطبيق على جهاز الكمبيوتر الخاص بك
قم بتشغيل التطبيق على جهاز الكمبيوتر الخاص بك

الآن يمكنك تنفيذ المشروع الذي تم إنشاؤه. في عرض Package Explorer ضمن مشروع _exe الذي تم إنشاؤه ، انقر بزر الماوس الأيمن فوق AlarmSystemSMS. ابدأ وحدد RunAs ثم اختر AlarmSystemSMS.

مشاهدة النافذة على الشاشة وعرض وحدة التحكم. يجب أن تبدو مثل الصورة الثانية.

قم بإنهاء التطبيق عن طريق إغلاق نافذة الكاميرا.

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

الخطوة 7: تصدير كملف JAR قابل للتشغيل

تصدير كملف JAR قابل للتشغيل
تصدير كملف JAR قابل للتشغيل

إذا كنت تريد تشغيل التطبيق على Raspberry Pi ، فإن الخطوة التالية هي تصدير المشروع الذي تم إنشاؤه إلى ملف JAR قابل للتشغيل. للقيام بذلك ، انقر بزر الماوس الأيمن فوق المشروع القابل للتنفيذ في عرض مستكشف الحزمة واختر تصدير. ثم حدد خيار ملف Runnable JAR واضغط على التالي. في النافذة التالية ، حدد التكوين المناسب لبدء التشغيل ووجهة التصدير. في وجهة التصدير ، استخدم زر الاستعراض حتى تتمكن من وضع ملف.jar في مكان يمكنك العثور عليه فيه.

الخطوة 8: قم بإعداد Raspberry Pi الخاص بك

  • قم بإعداد بطاقة SD باستخدام Raspbian (اختبرناها باستخدام NOOBS)
  • أدخل بطاقة SD في Raspberry pi
  • قم بتوصيل الكاميرا
  • قم بتوصيل الشبكة
  • قم بتوصيل شاشة ولوحة مفاتيح بـ Pi
  • ابدأ Raspberry pi عن طريق توصيل USB الصغير لإمداد الطاقة.
  • اكتشف عنوان IP الخاص بـ Raspberry Pi. عند بدء التشغيل ، سيقوم Raspberry Pi بالإبلاغ عن شيء مثل "عنوان IP الخاص بي هو 10.10. 15.107"
  • لقد اختبرنا مع Raspbian (تسجيل الدخول الافتراضي: pi ، كلمة المرور: raspberry) ، والذي يتضمن Java افتراضيًا.

الخطوة 9: قم بنشر التطبيق على Raspberry Pi الخاص بك

لنسخ ملف jar القابل للتشغيل من جهاز الكمبيوتر الخاص بك إلى Rapsberry Pi ، اتبع الخطوات التالية:

  • افتح محطة طرفية على جهازك
  • انتقل إلى الدليل حيث يوجد ملف JAR الذي تم إنشاؤه
  • اكتب scp alarmsystem.jar [email protected]: ~ /
  • سيُطلب منك تركيبة كلمة المرور. "pi" هو اسم المستخدم الافتراضي و "raspberry" كلمة المرور الافتراضية
  • انتقل إلى الدليل حيث يوجد ملف التكوين alarm_system.properties. الأسهل بالنسبة لي هو نسخ الملف يدويًا من محرر Eclipse إلى نفس الدليل مثل ملف jar.
  • اكتب scp motiondetection.ini [email protected]: ~ /

10.10.15.107 هو عنوان IP ، استبدله بعنوان IP الخاص بـ Raspberry Pi.

- يمكنك بالطبع أيضًا استخدام شريحة ذاكرة لنسخها إلى Pi

الخطوة 10: قم بتشغيل التطبيق على Raspberry Pi الخاص بك

أنت الآن جاهز لتشغيل التطبيق.

  • قم بتسجيل الدخول إلى Raspberry Pi إما مباشرة أو عن بعد عبر ssh.
  • قم بإنشاء دليل تهيئة جديد: mkdir config
  • تحقق مما إذا كان قد تم نسخ ملف JAR القابل للتشغيل و.ini إلى Raspberry Pi
  • انقل ملف.ini إلى دليل التكوين: mv alarm_system.properties config /
  • اكتب sudo java -jar alarmsystem.jar
  • شاهد الإخراج على وحدة التحكم
  • أنهِ بـ ^ C.

الخطوة 11: تعديل التطبيق الخاص بك

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

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

اتبع مسار IoT Tuturial للحصول على أوصاف خطوة بخطوة حول كيفية إنشاء أو تعديل تطبيقات الكتل التفاعلية المحددة.

موصى به: