اصنع مستشعر الوجه المتصل بالشبكة باستخدام المعالجة - 💡 Fix My Ideas

اصنع مستشعر الوجه المتصل بالشبكة باستخدام المعالجة

اصنع مستشعر الوجه المتصل بالشبكة باستخدام المعالجة


مؤلف: Ethan Holmes, 2019

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

قم بإعداد خادم الويب

ستحتاج إلى الوصول إلى خادم ويب باستخدام PHP للقيام بهذا المشروع. (PHP هي لغة برمجة لإنشاء مواقع الويب يتم تقديمها من قِبل كل شركة استضافة تقريبًا.) إذا لم يكن لديك حساب مع شركة استضافة ، فيمكنك ببساطة إعداد خادم ويب على جهازك الخاص. في الواقع ، تأتي معظم أجهزة Mac الجديدة مزودة بـ Apache ، أحد خوادم الويب الأكثر شيوعًا ، المثبت مسبقًا. كل ما عليك فعله هو تنشيطه ، والذي يمكنك القيام به من خلال لوحة "تفضيلات النظام" في جهاز الكمبيوتر الخاص بك. مجرد فتح التفضيلات ، انقر فوق "مشاركة" ، ثم تحقق من "مشاركة الويب" من القائمة على اليسار. (إذا كنت تستخدم نظام التشغيل Windows ، فستحتاج إلى تثبيت خادم خارجي. لقد حققت نجاحًا كبيرًا مع XAMPP ، الذي يحتوي على كل ما تحتاجه.)

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

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

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

cd ~ / Sites / mkdir face_sensor cd face_sensor touch sensor_log.txt chmod 777 sensor_log.txt

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

بعد ذلك ، تحتاج إلى تكوين نظامك حتى يتمكن الخادم من تنفيذ برامج PHP النصية. يحتوي SerpicoLugNut على Stackoverflow على وصف رائع لكيفية القيام بذلك في أسهل طريقة لتنشيط PHP و MySQL على Mac OS 10.6 (Snow Leopard) ؟. إليك ما يقوله للقيام به:

افتح محرر نصوص جيدًا (أوصي TextMate ، ولكن TextWrangler المجاني أو vi أو nano سيفعلانه أيضًا) ، وافتح: /etc/apache2/httpd.conf ابحث عن السطر: "#LoadModule php5_module libexec / apache2 / libphp5. لذلك "و uncomment عليه (إزالة #).

بمجرد أن يصبح الدليل جاهزًا ، احفظ PHP التالي في ملف يسمى record.php:

بمجرد نسخ الملف ، انتقل إلى المتصفح وأدخل عنوان URL التالي:

HTTP: //عنوان موقع الويب الشخصي الخاص بك من لوحة المشاركة/face_sensor/record.php؟face_count=5&room_name=ballroom&interval=2000

يجب أن يقول متصفحك "موافق". إذا قمت بفتح sensor_log.txt الملف ، يجب أن ترى خطًا يشبه هذا:

01-12-2010 06:01:41 قاعة الاحتفالات EST 5 2000

بالتالي ماذا حدث؟ بشكل أساسي ، يقوم سكربت PHP ببساطة بسحب القيم التي نضعها في سلسلة استعلام عنوان URL (على سبيل المثال ، face_count ، room_name ، والفاصل الزمني) وكتابتها في ملف محدد بعلامات جدولة. هذا هو. (حسنًا ، حسنًا ، إنه يضيف أيضًا التاريخ والوقت.)

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

قم بإعداد الرسم

الآن وقد تم إعداد خادم الويب وقادر على تسجيل البيانات ، فإن الخطوة التالية هي بناء رسم المعالجة الذي يكتشف الوجوه ويبلغ بها مرة أخرى إلى الخادم الخاص بك. قبل البدء ، تأكد من تثبيت controlP5 و OPENCV Processing المكتبات الخارجية. (إذا لم تكن معتادًا على المكتبات الخارجية ، فتحقق من كيفية استيراد المكتبات قيد المعالجة على إجابات O’Reilly.) بمجرد تثبيت المكتبات ، قم بتشغيل المعالجة ولصقها رمز networked_face_sensor.pde في نافذة المخطط:

بالإضافة إلى ذلك ، ستحتاج إلى تعديل transmission_url لتعيينه على عنوان البرنامج النصي PHP الخاص بك. الخط

String transmission_url = "http: //MacOdewahn.home/~odewahn/face_sensor/record.php"؛

يجب تحديث إلى

String transmission_url = "http: //عنوان موقع الويب الشخصي الخاص بك من لوحة المشاركة/face_sensor/record.php ".

عندما تبدأ الرسم ، ستلاحظ أنه يجب عليك أولاً اختيار مقطع الفيديو المصدر الذي تريد استخدامه ، والذي يتم باستخدام الأمر cam.settings ()؛. يتيح لك ذلك توصيل كاميرا ويب خارجية بدلاً من مجرد استخدام كاميرا الويب المدمجة. بعد تحديد المصدر ، يجب أن تشاهد خلاصة الفيديو.

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

بعد بضع ثوانٍ أو نحو ذلك ، يمكنك فتح السجل في متصفح الويب الخاص بك ومشاهدة البيانات التي أبلغت عنها المستشعرات. عنوان URL لهذا:

HTTP: //عنوان موقع الويب الشخصي الخاص بك من لوحة المشاركة/face_sensor/sensor_log.txt

سيبدو شيئا من هذا القبيل:

نقاش

كما ترى ، يشبه رمز المعالجة المشاريع التي اكتشفناها في المشاركات الأخرى. في الأساس ، كل ما نفعله هنا هو إضافة طريقة جديدة تسمى نقل ()، للإبلاغ عن البيانات إلى الخادم. نقل ()تتمثل وظيفة create في إنشاء عنوان URL يحتوي على جميع المعلومات المطلوبة بواسطة برنامج PHP النصي الخاص بنا. لاحظ كيف يتم استخدام اسم كل حقل في سلسلة الاستعلام - face_count ، والفاصل الزمني ، و room_name - بشكل ثابت في كل من البرنامج النصي للمعالجة و PHP:

بمجرد أن يكون لدينا عنوان URL هذا ، تتم معالجة المعالجة loadStrings () ينفذ الأمر النصي PHP على خادمنا لحفظ المعلومات. لاحظ أننا لا نهتم بالنتائج في هذا المثال ؛ فقط أن الصفحة تسمى. ومع ذلك ، إذا أردنا أن نكون أكثر تطوراً ، فيمكن أن يُرجع برنامج PHP النصي رمز الحالة أو بعض المعلومات الأخرى.

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

في صانع السقيفة:


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



قد تكون مهتمة

كيف: الأشعة فوق البنفسجية Transilluminator للعرض جل

كيف: الأشعة فوق البنفسجية Transilluminator للعرض جل


تعرف على صانعي الماك ، اجعل المجلد 28: فقاعة زفيكا ماركفيلد الضخمة

تعرف على صانعي الماك ، اجعل المجلد 28: فقاعة زفيكا ماركفيلد الضخمة


دليل الهدية: Bling

دليل الهدية: Bling


تفرد الهدايا: قفازات لا تعمل باللمس

تفرد الهدايا: قفازات لا تعمل باللمس