الإعلانات
تعرف على كيفية إنشاء كاميرا أمان قابلة للإمالة والقابلة للعرض عن بُعد باستخدام Raspberry Pi. يمكن الانتهاء من هذا المشروع في الصباح مع أبسط الأجزاء فقط. ها هي النتيجة النهائية:
ماذا تحتاج
- Raspberry Pi 2 أو 3 مع بطاقة Micro SD
- Arduino UNO أو ما شابه
- عدد 2 من الماكينات الصغيرة أو الصغيرة
- كاميرا ويب USB
- ذكر لأسلاك التوصيل الذكور
- ذكر لأسلاك التوصيل الإناث
- العلاقات البريدي متنوعة
بناء الكاميرا الأمنية
إرفاق بوق سيرفو ("الأشكال" البلاستيكية الصغيرة) لكل سيرفو باستخدام المسمار المرفق. الشكل المحدد لا يهم حقًا ، على الرغم من أنه كلما كان الحجم أكبر كان ذلك أفضل. لا تفرط في ربط المسمار.
استخدم الآن الروابط المضغوطة لإرفاق مؤازرة إلى أخرى بزاوية قائمة. سيتم تحريك أحدها (من اليسار إلى اليمين) ، بينما سيكون الآخر مائلًا (لأعلى ولأسفل). لا يهم أي شخص يفعل ما يمكن تعديله في الكود.
أخيرًا ، قم بتوصيل كاميرا الويب الخاصة بك بأحد الماكينات. يمكنك استخدام روابط مضغوطة لهذا ، على الرغم من أن كاميرا الويب الخاصة بي جاءت مع مشبك مثبت في الأسفل - أزلت هذا واستخدمت المسمار لتثبيت القرص. للاستقرار ، قد ترغب في تركيب الحفارة بالكامل على علبة أو صندوق. صندوق كرتون بسيط يؤدي الحيلة بشكل جيد. يمكنك قطع ثقب مربع أنيق وتثبيت تدفق مؤازر واحد على السطح ، ولكن ربطة العنق ستكون كافية.
كلمة عن كاميرات الويب
لا يتم إنشاء جميع كاميرات USB على قدم المساواة. قم بتوصيل كاميرا الويب الخاصة بك بمنفذ USB في Pi وتشغيل هذا الأمر:
lsusb
يعرض هذا الأمر معلومات حول جميع أجهزة USB المتصلة بـ Pi. إذا لم تكن كاميرا الويب مدرجة هنا ، فقد ترغب في تجربة لوحة وصل USB بالطاقة وتكرار الأمر. إذا لم يتم التعرف على كاميرا الويب ، فقد تضطر إلى شراء كاميرا ويب متوافقة.
إعداد المؤازرة
في حين أن الماكينة قد تبدو مخيفة ومعقدة ، إلا أنها سهلة الاتصال. تعمل أجهزة الماكينة على تعديل عرض النبض (PWM) ، وهي طريقة للأنظمة الرقمية لتقليد الإشارات التناظرية. إشارات PWM هي في الأساس إشارة تشغيل وإيقاف سريعة. يتم وصف الإشارة التي تكون قيد التشغيل أو عالية باستخدام دورة العمل. يتم التعبير عن دورة الخدمة كنسبة مئوية ، وتصف مدة تشغيل الإشارة. سيتم تشغيل إشارة PWM لـ 25٪ من دورة العمل لمدة 25٪ من الوقت ، وإيقاف لمدة 75٪ المتبقية. لا يتم تشغيل الإشارة في البداية ثم يتم إيقاف تشغيلها إلى الأبد ، ويتم دفعها بشكل منتظم على مدار فترة زمنية قصيرة جدًا.
تستمع الماكينات لهذه النبضات وتتصرف وفقًا لذلك. استخدام دورة عمل بنسبة 100٪ سيكون هو نفسه 5v "عادي" ، و 0٪ سيكون نفس الأرض. لا تقلق إذا لم تفهم تمامًا كيفية عمل PWM ، فلا يزال بإمكانك التحكم في الماكينات (تعد Extreme Electronics مكانًا جيدًا لمعرفة المزيد).
هناك طريقتان رئيسيتان لاستخدام PWM - الأجهزة أو البرامج. غالبًا ما يوفر PWM للأجهزة زمن وصول أقل (المدة بين تلقي أجهزة الأمر والتحرك) من برنامج PWM ، ولكن Pi لديه فقط دبوس واحد قادر على PWM. الدوائر الخارجية متوفرة لتوفير قنوات متعددة من PWM للأجهزة ، ولكن يمكن لـ Arduino البسيط أيضًا التعامل مع المهمة ، نظرًا لأن لديهم العديد من دبابيس PWM للأجهزة.
هنا الدائرة:
تحقق مرة أخرى من Pinout لل Pi الخاص بك، فإنها تختلف قليلاً بين النماذج. تحتاج إلى معرفة كيفية توصيل أجهزة الماكينة الخاصة بك. تتطلب الماكينة ثلاثة أسلاك للتحكم فيها ، ولكن تختلف الألوان قليلاً:
- الأحمر إيجابي ، قم بتوصيل هذا بـ Pi + 5v
- بني أو أسود سلبي ، قم بتوصيل هذا بـ GND على Pi
- البرتقالي أو الأبيض هو إشارة ، قم بتوصيل هذا بدبابيس Arduino 9 و 10
إعداد اردوينو
جديد على اردوينو؟ ابدأ هنا الشروع في العمل مع Arduino: دليل المبتدئينArduino هي منصة نماذج إلكترونية مفتوحة المصدر تعتمد على أجهزة وبرامج مرنة وسهلة الاستخدام. إنه مخصص للفنانين والمصممين والهواة وأي شخص مهتم بإنشاء كائنات أو بيئات تفاعلية. اقرأ أكثر .
بمجرد توصيل الأجهزة ، افتح Arduino IDE على جهاز الكمبيوتر الخاص بك وقم بتحميل رمز الاختبار هذا. لا تنسى تحديد اللوحة والمنفذ الصحيحين من أدوات> لوحة و أدوات> منفذ القوائم
#تضمن // استيراد المكتبة servo servoPan، servoTilt؛ // إنشاء كائنات مؤازرة. int servoMin = 20، servoMax = 160؛ // تحديد حدود إعداد servos void () {// Setup servos على PWM قادرة على دبابيس servoPan.attach (9)؛ servoTilt.attach (10) ؛ } حلقة فارغة () {for (int i = servoMin؛ أنا servoMin ؛ --i) {// نقل الماكينات من الحد الأقصى إلى الحد الأدنى من servoPan.write (i) ؛ servoTilt.write (i) ؛ تأخير (100) ؛ // انتظر 100 مللي ثانية} }
كل شيء جيد يجب أن ترى كلا المؤازرين تتحرك ببطء ذهابًا وإيابًا. لاحظ كيف يتم تعريف "servoMin" و servoMax "على أنه 20 و 160 درجة (بدلاً من 0 و 180). ويرجع ذلك جزئيًا إلى أن هذه الماكينات الرخيصة غير قادرة على تحريك 180 درجة كاملة بدقة ، وأيضًا بسبب الحجم المادي لكاميرا الويب يمنع استخدام النطاق الكامل. قد تحتاج إلى تعديل هذه لإعداداتك.
إذا لم تكن تعمل على الإطلاق ، تحقق جيدًا من توصيل الدائرة الكهربائية بشكل صحيح. يمكن أن تختلف ألواح الخبز أحيانًا في الجودة أيضًا ، لذا فكر في الاستثمار في جهاز متعدد للتحقق.
الماكينة تقريبيا قوية للغاية بالنسبة إلى Arduino لتزويدها بالسلطة ، لذلك سيتم تشغيلها بواسطة Pi. السكك الحديدية 5V على Pi هي يقتصر على 750mA المقدمة ل Pi كله ، و Pi يرسم ما يقرب من 500mA ، تاركا 250mA ل الماكينات. ترسم هذه الماكينات الدقيقة حوالي 80 مللي أمبير ، مما يعني أن Pi يجب أن تكون قادرة على التعامل مع اثنين منهم. إذا كنت ترغب في استخدام المزيد من الماكينات أو الموديلات الأكبر حجمًا ، فقد تحتاج إلى استخدام مصدر طاقة خارجي.
الآن قم بتحميل الكود التالي إلى Arduino. سيؤدي ذلك إلى الاستماع إلى البيانات التسلسلية الواردة (التسلسلي كما في Universal مسلسل الناقل ، أو USB). سيرسل Pi هذه البيانات عبر USB إلى Arduino ، ليخبره بمكان نقل الماكينات.
#تضمن // استيراد المكتبة servo servoPan، servoTilt؛ // إنشاء كائن مؤازر. بيانات السلسلة = ""؛ // Store أوامر واردة (المخزن المؤقت) باطلة الإعداد () {// إعداد الماكينات على دبابيس قادرة على PWM servoPan.attach (9)؛ servoTilt.attach (10) ؛ Serial.begin (9600) ؛ // بدء المسلسل بسرعة 9600 بت في الثانية (السرعة) } void loop () {while (Serial.available ()> 0) {// إذا كان هناك بيانات char singleChar = Serial.read ()؛ // اقرأ كل حرف إذا (singleChar == 'P') {// Move pan servo servoPan.write (data.toInt ())؛ البيانات = "" ؛ // Clear buffer} آخر إذا (singleChar == 'T') {// Move tilt servo servoTilt.write (data.toInt ()) ، البيانات = "" ؛ // Clear buffer} آخر {data + = singleChar؛ // إلحاق بيانات جديدة}} }
يمكنك اختبار هذا الرمز عن طريق فتح جهاز العرض التسلسلي (أعلى اليمين> المسلسل مراقب) وإرسال بعض بيانات الاختبار:
- 90 ص
- 0 ص
- 20 طن
- 100 طن
لاحظ تنسيق الأوامر - قيمة ثم حرف. القيمة هي موضع الماكينة ، ويحدد الحرف (بالأحرف الكبيرة) المقلاة أو الإمالة. نظرًا لأن هذه البيانات يتم إرسالها من Pi بشكل تسلسلي ، فإن كل حرف يأتي من خلال واحد في كل مرة. يجب على Arduino "تخزين" هذه حتى يتم إرسال الأمر بأكمله. لا تحدد الرسالة النهائية المؤازرة فحسب ، بل تتيح أيضًا لـ Arduino معرفة عدم وجود المزيد من البيانات في هذا الأمر.
أخيرًا ، افصل Arduino عن الكمبيوتر ، و قم بتوصيله في Raspberry Pi عبر اتصال منفذ USB المعتاد.
إعداد Pi
حان الوقت الآن لإعداد Pi. أول، تثبيت نظام تشغيل كيفية تثبيت نظام التشغيل على راسبيري بايفيما يلي كيفية تثبيت نظام تشغيل على Raspberry Pi وكيفية استنساخ إعدادك المثالي للتعافي السريع من الكوارث. اقرأ أكثر . قم بتوصيل كاميرا الويب و Arduino بـ Pi USB.
تحديث Pi:
sudo apt-get update. sudo apt-get ترقية
تثبيت الحركة:
sudo apt-get تثبيت الحركة
Motion هو برنامج تم تصميمه للتعامل مع تدفق كاميرا الويب. يتعامل مع جميع الرفع الثقيل ، ويمكنه حتى إجراء التسجيل واكتشاف الحركة (حاول بناء نظام أمان لالتقاط الحركة قم ببناء نظام أمان التقاط الحركة باستخدام Raspberry Piمن بين العديد من المشاريع التي يمكنك إنشاؤها باستخدام Raspberry Pi ، يعد نظام أمان التقاط الحركة من أكثر المشاريع إثارة للاهتمام والمفيد بشكل دائم. اقرأ أكثر ). افتح ملف تكوين الحركة:
sudo nano /etc/motion/motion.conf
يوفر هذا الملف الكثير من الخيارات لتكوين Motion. الإعداد كما يلي:
- daemon on - تشغيل البرنامج
- فراميرات: 100 - كم عدد الإطارات أو الصور / الثانية للبث
- stream_localhost - السماح بالوصول عبر الشبكة
- العرض 640 - عرض الفيديو ، وضبطه لكاميرا الويب الخاصة بك
- ارتفاع 320 - ارتفاع الفيديو ، وضبطه لكاميرا الويب الخاصة بك
- stream_port 8081 - منفذ إخراج الفيديو إلى
- output_picture off - لا تقم بحفظ أي صور
هذا ملف كبير جدًا ، لذلك قد ترغب في استخدامه CTRL + W للبحث عن الخطوط. بمجرد الانتهاء ، اضغط على CTRL + X ثم أكد للحفظ والخروج.
الآن قم بتحرير ملف آخر:
sudo nano / etc / default / motion
قم بتعيين "start_motion_daemon = نعم". هذا ضروري لضمان تشغيل الحركة.
اكتشف الآن عنوان IP الخاص بك:
ifconfig
سيظهر هذا الأمر تفاصيل اتصال الشبكة لـ Pi. انظر إلى السطر الثاني ، عنوان آينت. قد ترغب في تعيين عنوان IP ثابت (ما هو IP ثابت؟ ما هو عنوان IP الثابت؟ هنا لماذا لا تحتاج إلى واحدعنوان IP الثابت هو عنوان لا يتغير أبدًا. تتغير عناوين IP الديناميكية. نوضح لماذا لا تحتاج إلى عنوان IP ثابت. اقرأ أكثر ) ، لكن الآن دوّن هذا الرقم.
ابدأ الآن Motion:
بدء تشغيل خدمة sudo
يمكنك إيقاف Motion أو إعادة تشغيله بتغيير "بدء" إلى "إيقاف" أو "إعادة تشغيل".
قم بالتبديل إلى جهاز الكمبيوتر الخاص بك وانتقل إلى Pi من متصفح الويب:
http://xxx.xxx.x.xx: 8081
حيث xxx.xxx.x.xx هو عنوان Pi IP. القولون متبوعًا برقم هو المنفذ الذي تم إعداده مسبقًا. كل شيء جيد يجب أن ترى الدفق من كاميرا الويب الخاصة بك! حاول التحرك وانظر كيف تبدو الأشياء. قد تحتاج إلى ضبط إعدادات السطوع والتباين في ملف التكوين. قد تحتاج إلى تركيز كاميرا الويب - تحتوي بعض الطرز على حلقة تركيز بؤري صغيرة حول العدسة. اقلب هذا حتى تصبح الصورة أكثر حدة.
مرة أخرى على Pi ، قم بإنشاء مجلد وانتقل إليه:
mkdir الأمن كام. مؤتمر نزع السلاح الأمن كام /
الآن قم بتثبيت Twisted:
sudo apt-get تثبيت الثعبان الملتوي
Twisted هو خادم ويب مكتوب بلغة Python ، والذي سيستمع إلى الأوامر ثم يتصرف وفقًا لذلك.
بمجرد التثبيت ، قم بإنشاء برنامج نصي Python لتنفيذ الأوامر (نقل الماكينات).
sudo nano servos.rpy
لاحظ كيف أن امتداد الملف هو ".rpy" بدلاً من "py". هذا هو الرمز:
# استيراد الملفات الضرورية. استيراد المسلسل. من twisted.web.resource import Resource # Setup Arduino بالسرعة الصحيحة. حاول: اردوينو = مسلسل. المسلسل ('/ dev / ttyUSB0'، 9600) باستثناء: اردوينو = مسلسل. المسلسل ('/ dev / ttyUSB1'، 9600) فئة MoveServo (Resource): isLeaf = True defender_GET (self، request): try: # Send value over over مسلسل إلى Arduino arduino.write (request.args ['value'] [0]) إرجاع 'Success' باستثناء: return 'Failure' resource = MoveServo ()
ابدأ الآن خادم الويب:
sudo twistd -n web -p 80 -path / home / pi / security-cam /
يتيح كسرها - يحدد "-p 80" المنفذ (80). هذا هو المنفذ الافتراضي لصفحات الويب. "–path / home / pi / security-cam /" تخبر الملتوية ببدء الخادم في الدليل المحدد. إذا قمت بإجراء أي تغييرات على البرامج النصية داخل مجلد "security-cam" ، فستحتاج إلى إعادة تشغيل الخادم (CTRL + X لإغلاق ، ثم قم بتشغيل الأمر مرة أخرى).
الآن قم بإنشاء صفحة الويب:
sudo nano index.html
إليك رمز صفحة الويب:
الاستفادة من الكاميرا الأمنية DIY
تغيير "PI_IP_ADDRESS" (يستخدم مرتين) إلى عنوان IP الحقيقي لجهاز Pi الخاص بك (raspberrypi.local يجب أن تعمل أيضًا إذا كنت تقوم بتشغيل أحدث Raspian). أعد تشغيل خادم الويب ثم انتقل إلى Pi من جهاز الكمبيوتر الخاص بك ، لا حاجة لتحديد المنفذ. يجب أن تكون قادرًا على التحريك لليسار واليمين ، ومشاهدة دفق الفيديو:
يوجد لديك. كاميرا شبكة Pan and Tilt الخاصة بك. إذا كنت ترغب في كشف كاميرا الويب الخاصة بك على الإنترنت ، فتذكر فكر في الأخطار 5 مخاطر يجب مراعاتها عند الإشارة لكاميرات منزلك الأمنيةمن المهم أن تفكر بعناية في المكان الذي تضع فيه الكاميرات الخاصة بك ، وأجزاء منزلك التي توجهها إليها. من المهم الحفاظ على أمان الأشياء ، ولكن الحفاظ على خصوصيتك. اقرأ أكثر - ثم انظر ميناء الشحن ما هو ميناء الشحن وكيف يمكن أن يساعدني؟ [MakeUseOf يوضح]هل تبكي قليلًا عندما يخبرك أحدهم أن هناك مشكلة في إعادة توجيه المنفذ ، ولهذا السبب لن يعمل تطبيقك الجديد اللامع؟ جهاز Xbox الخاص بك لن يسمح لك بلعب الألعاب ، وترفض تنزيلات التورنت الخاصة بك ... اقرأ أكثر ، بحيث يعرف جهاز التوجيه الخاص بك إلى أين يرسل الطلبات الواردة. يمكنك أن تضيف مصدر طاقة خارجي 3 حزم بطارية Raspberry Pi للمشاريع المحمولةيمكن لبطارية Raspberry Pi تحويل Pi العادية إلى كمبيوتر محمول. ستحتاج إلى أحد حلول البطارية هذه للبدء. اقرأ أكثر ومحول Wi-Fi لجهاز محمول حقًا.
هل صنعت شيئًا رائعًا باستخدام كاميرا ويب وبي؟ اسمحوا لي أن أعرف في التعليقات ، أود أن أرى!
جو خريج في علوم الكمبيوتر من جامعة لينكولن بالمملكة المتحدة. إنه مطور برامج محترف ، وعندما لا يطير بطائرات بدون طيار أو يكتب موسيقى ، يمكن العثور عليه غالبًا وهو يلتقط الصور أو ينتج مقاطع فيديو.