فهرست مطالب:

Talking Santa Blowmold: 5 مرحله
Talking Santa Blowmold: 5 مرحله

تصویری: Talking Santa Blowmold: 5 مرحله

تصویری: Talking Santa Blowmold: 5 مرحله
تصویری: HOW TO HATCH HATCHIMALS LIVE | Egg Hatch Review & Unboxing | Real Life Pokemon Go Eggs?? 2024, جولای
Anonim
صحبت با سانتا بلومولد
صحبت با سانتا بلومولد
صحبت با سانتا بلومولد
صحبت با سانتا بلومولد

این پروژه نحوه ایجاد دکوراسیونی را نشان می دهد که هنگام عبور از یک فایل صوتی پخش شود. این را می توان به راحتی با رایانه ای که می تواند برنامه Motion و نوعی دوربین را اجرا کند ، انجام شود. در این مورد من از بادبزن 20 سانتیمتری بابانوئل بلند استفاده کردم. من Raspeberry PI خود را با ماژول دوربین در پنجره گاراژم تنظیم کردم و آن را به سمت بادگیر سانتا نشان دادم. من یک بلندگوی خارجی قدرتمند را در داخل قالب ضربه پنهان کردم و یک سیم بی سیم 25 فوت را اجرا کردم. برای استفاده در فضای باز از PI تا این اسپیکر. من برنامه Motion را روی Pi تنظیم می کنم تا در صورت تشخیص حرکت با استفاده از دوربین ، فایل صوتی سانتا با صدای Ho Ho Ho پخش شود. این کار بسیار ساده است و سرگرم کننده خوبی است.

برای خرید مواد خاصی که در اینجا استفاده کردم احتمالاً حدود 100 دلار با حمل و نقل هزینه می شود. اگر تمام این مواد را بدون استفاده در اختیار نداشتم ، هزینه ساخت آن را نمی کردم. این می تواند با هر رایانه ، هر دوربین و هر بلندگو کار کند ، بنابراین در صورت نیاز به خرید این موارد می توان آن را بسیار ارزان تر انجام داد.

تدارکات

  • رایانه ای با برنامه Motion نصب شده است

    من از Raspberry PI (RPI) 3 Model B استفاده کردم

  • دوربین متصل به کامپیوتر یا دوربین شبکه

    • هر دوربینی که برنامه Motion می تواند از آن استفاده کند
    • دوربین USB
    • دوربین شبکه
    • من از این ماژول دوربین استفاده می کنم که مستقیماً به RPI متصل می شود
  • یک بلندگوی دارای فضای باز

    • اتصال از طریق پورت aux
    • یو اس بی
    • من از این Sony SRS-XB01 استفاده کردم
  • دکوراسیونی مانند قالب ضربه ای ، واقعاً هر چیزی

    من از بادبزن بابا نوئل استفاده کردم که بسیار شبیه به این است

مرحله 1: RPI خود را تنظیم کنید

RPI خود را تنظیم کنید
RPI خود را تنظیم کنید

این مرحله بیشتر برای مبتدیان کامل است. این ویدئو نحوه تنظیم یک Raspberry PI (RPI) را بهتر از من توضیح می دهد. من همچنین ، همانطور که در ویدئو توصیه می شود ، اتصال USB بی سیم ، صفحه کلید + ماوس و مانیتور خارجی را برای راه اندازی توصیه می کنم. پس از راه اندازی ، من دستگاه خود را در گاراژ خود بدون صفحه کلید + موس و مانیتور خارجی اجرا می کنم ، اما دانگل WIFi را رها می کنم تا بتوانم به آن وارد شوم و راه اندازی مجدد و/یا تغییرات را انجام دهم.

مرحله 2: دوربین را به RPI وصل کنید

دوربین را به RPI وصل کنید
دوربین را به RPI وصل کنید

برای تنظیم دوربین خود برای RPI خود ، دستورالعمل ها را دنبال کنید. من از ماژول Camera از صنایع Adafruit استفاده کردم.

  • کابل روبان را از ماژول Camera به پورت دوربین بین پورت اترنت و پورت HDMI وصل کنید و اتصالات بریده شده رو به پورت HDMI و نوار آبی رو به پورت اترنت قرار دهید.
  • اگر مانیتوری دارید و UI (Xserver) را اجرا می کنید ، ابزار پیکربندی Raspberry Pi را اجرا کنید

    اگر SSH از راه دور از رایانه دیگری وارد rpi شد ، rasp -config را در ترمینال خود اجرا کنید - که رابط کاربری پایانه را شروع می کند

  • در Raspberry Config ، در زبانه Interfaces ، Camera را فعال کنید.
  • RPI را ذخیره و راه اندازی مجدد کنید.
  • پس از راه اندازی مجدد دستور زیر را در ترمینال اجرا کنید ، هر دو شناسایی شده و فعال شده باید به صورت = 1 بازگردند

vgencmode get_camera

ماژول دوربین PI شما باید اکنون کار کند

دستورالعمل های آنلاین

مرحله 3: راه اندازی و تست صدا

راه اندازی و تست صدا
راه اندازی و تست صدا

در ابتدا برای این پروژه من به سادگی یک کابل aux را از PI به یک بلندگوی کوچک باتری شارژ کردم. این اتفاق بسیار ایستا بود و باتری ها به سرعت خالی شدند. در عوض ، من یک دستگاه USB را که صدا را تقویت می کند ، وصل کردم و کابل aux را از درگاه خروجی aux روی آن به بلندگوی بیرونی مقاوم در برابر آب و هوا منتقل کردم. این حالت را حذف کرد و بلندتر بود و نگران باتری نبودید. دستگاه USB به طور خودکار توسط RPI من بدون نصب درایور مورد نیاز تشخیص داده شد.

سیستم عامل PI دارای برنامه ای به نام aplay است ، اما من برنامه پخش نرم افزار Sox را ترجیح می دهم ، بنابراین این دستورالعمل ها Sox را نصب کرده و از دستور play آن استفاده کنید.

Sox را نصب کنید

در ترمینال RPI دستور زیر را اجرا کنید و به هرگونه درخواست بله پاسخ دهید

sudo apt-get install sox

تست صدا

یک فایل صوتی سازگار با اندازه کوچک بارگیری کرده و آن را در رایانه خود ذخیره کنید. من از santaho3.mp3 ذخیره شده در فهرست اصلی pi خود استفاده کردم. برای آزمایش صدا ، بلندگوی خود را به RPI وصل کنید و این دستور را اجرا کنید:

پخش santaho3.mp3

  • اگر فایل صوتی را که در بلندگو پخش می شود می شنوید ، پس صدای شما کار می کند
  • ممکن است مجبور شوید صدا را از HDMI به آنالوگ به صورت داخلی تغییر دهید.

    دستورالعمل در اینجا

  • اگر از دستگاه صوتی USB استفاده می کنید ، یک فایل در فهرست اصلی خود به نام.asoundrc ایجاد کنید

    • محتویات زیر را در آن قرار دهید و راه اندازی مجدد کنید ، آزمایش صوتی را آغاز کنید
    • pcm.! پیش فرض {

      نوع کارت hw 1} ctl.! پیش فرض {نوع کارت hw 1}

مرحله 4: راه اندازی تشخیص حرکت برای پخش فایل صوتی

راه اندازی تشخیص حرکت برای پخش فایل صوتی
راه اندازی تشخیص حرکت برای پخش فایل صوتی

نرم افزاری به نام Motion به یک یا چند دوربین اجازه می دهد تا به منظور اجرای فرمان هنگام تشخیص حرکت در نمای (های) دوربین (ها) راه اندازی شوند. راه اندازی آن بسیار آسان است و بسیار خوب کار می کند. همچنین می تواند هنگام تشخیص حرکت ، پرونده ها را ضبط کند ، امکان پیکربندی یک وب سایت برای هر دوربین یا یک وب سایت واحد برای همه دوربین ها ، و سرورهای پخش کننده برای مشاهده جریان مستقیم دوربین ها را فراهم کند. این پروژه فقط به قابلیت تشخیص و فرمان فعال کردن نیاز دارد ، اما من یک سرور جریان ایجاد کرده ام تا بتوانم یک جریان مستقیم را نیز تماشا کنم.

Motion را نصب کنید

در ترمینال RPI ، دستور زیر را اجرا کنید و به هرگونه درخواست بله پاسخ دهید ، منتظر بمانید تا به پایان برسد

sudo apt-get install motion

اکنون وقت بگذارید تا کاربر حرکت جدید اضافه شده را به گروه صوتی اضافه کنید تا بتواند با وارد کردن دستور زیر صدا را پخش کند

usermod -a -G حرکت صوتی

پیکربندی حرکت برای تشخیص

ما فایل پیکربندی حرکت را ویرایش می کنیم تا فایل صوتی را که در مرحله Setup Audio بارگیری کرده ایم ، هنگامی که حرکت روی دوربین را تشخیص می دهد ، پخش کرده و حرکت را به عنوان یک سرویس شروع کنیم ، بنابراین هنگام بارگیری مجدد RPI به این کار ادامه می دهد.

در ترمینال فایل /etc/motion/motion.conf را به عنوان کاربر فوق العاده ویرایش کنید

sudo nano/etc/default/motion

در ترمینال فایل /etc/motion/motion.conf را به عنوان کاربر فوق العاده ویرایش کنید

sudo nano /etc/motion/motion.conf

ویرایش های زیر را انجام داده و ذخیره کنید. بسیاری از این موارد پیش فرض هستند. من فکر نمی کنم در مورد من نوشته های mmal_xxx تأثیری داشته باشد ، اما در صورت نیاز کسی به آنها - آنها نیز هیچ آسیبی نمی رسانند. این پیکربندی حرکت روی دوربین را در فواصل 40 ثانیه تشخیص می دهد ، تصاویر یا فیلم ضبط نمی کند و یک سرور وب و سرور جریان برای دوربین محافظت شده با احراز هویت اولیه با استفاده از نام کاربری و رمز عبور تنظیم می کند.

شیطان روشن

process_id_file /var/run/motion/motion.pid

setup_mode off logfile /var/log/motion/motion.log log_level 6 log_type all videodevice/dev/video0 v4l2_palette 17 ورودی -1 هنجار 0 فرکانس 0 power_line_frequency -1 چرخش 0 flip_axis هیچ عرض 320 ارتفاع 240 فریم 2 حداقل_فریم_زمان 0 netcam_ckalte offive rtsp_uses_tcp در mmalcam_name vc.ril.camera_شفافیت روشنایی خاموش روشنایی 0 کنتراست 0 اشباع 0 رنگ 0 دور گردن_فریمها 1 دورگردان_پاسخ 1 سوئیچ فیلتر خاموش از آستانه 500 آستانه_خاموش کردن سر و صدا_222 سر و صدا_در_ despeckle_filter_mege output_pictures off_bug_pictures off quality 75 picture_type apshot_interval 0 loc_motion_mode off loc_motion_style box text_right٪ Y-٪ m-٪ d / n٪ T-٪ q text_changes off text_event٪ Y٪ m٪ d٪ H٪ M٪ S text_double off target_dir/var/lib/motion snapshot_filename٪ v- ٪ Y٪ m٪ d٪ H٪ M٪ S- عکس_فایل٪ v-٪ Y٪ m٪ d٪ H٪ M٪ S-٪ q فیلم_فایل٪ v-٪ Y٪ m٪ d٪ H٪ M٪ S timelapse_filename ٪ Y٪ متر٪ D-کنید TimeLapse ipv6_enabled کردن stream_port 8481 stream_quality 80 stream_motion کردن stream_maxrate 1 stream_localhost کردن stream_limit 0 stream_auth_method 1 stream_authentication: خاموش webcontrol_html_output webcontrol_port 8480 webcontrol_localhost در webcontrol_authentication: track_type 0 track_auto کردن track_iomojo_id 0 track_step_angle_x 10 track_step_angle_y 10 track_move_wait 10 track_speed 255 track_stepsize 40 آرام در on_event_start/usr/bin/play -q --multi -threaded/var/lib/motion/notify`shuf -i 1-5 -n 1`.mp3 2>/dev/null

فایل صوتی را در فایل صوتی در فهرست اصلی حرکت کپی کنید و مجوزهای آن را تغییر دهید تا حرکت آن را در اختیار داشته باشد اما همه بتوانند آن را بخوانند

sudo cp /home/pi/santaho.mp3 /var/lib/motion/mtn_dtct_ntfy.mp3

حرکت sudo chown /var/lib/motion/mtn_dtct_ntfy.mp3

sudo chmod a+r /var/lib/motion/mtn_dtct_ntfy.mp3

دستگاه RPI را راه اندازی مجدد کنید. پس از بوت شدن ، اجرا کنید

sudo systemctl status motion.service

خروجی باید شامل یک خط باشد که می گوید:

فعال: فعال (در حال اجرا) از آن زمان

اگر دیدید این حرکت در حال اجرا است. در صورت عدم بررسی/var/log/motion برای جزئیات بیشتر. دویدن را امتحان کنید:

sudo systemctl start motion.service

تشخیص حرکت و پخش صدا

تقریبا تمام شد. فقط باید بررسی کنید که آیا حرکت در حال تشخیص است و آیا صدا در زمانی که هست پخش می شود.

در ترمینال موارد زیر را انجام دهید تا متن پیوست شده را به فایل log مشاهده کنید

tail -f/var/log/motion

اکنون:

  • به آرامی چیزی را جلوی دوربین تکان دهید
  • فایل log باید خروجی آن حرکت را تشخیص دهد
  • امیدوارم فایل صوتی از طریق بلندگو پخش شود
  • در این صورت RIP را در پنجره ای قرار دهید که لنز دوربین رو به جایی باشد که حرکت باید تشخیص داده شود
  • بلندگوی بیرونی را در داخل یا نزدیک دکوراسیون قرار دهید
  • وقتی مردم از کنار آن عبور می کنند به استقبال آنها می روند

عیب یابی

اگر همه چیز کار نمی کند

  • با اجرای مجدد عملکرد دوربین را بررسی کنید:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • دوبار بررسی کنید صدا با اجرا کار می کند

    • play/var/lib/motion/mtn_dtct_ntfy.mp3
    • اگر فایل صوتی را نمی شنوید

      • بررسی کنید که دستگاه خروجی تنظیمات بلندگوی شما (آنالوگ یا USB) باشد
      • حجم را چک کنید
      • بررسی کنید مجوزهای فایل صوتی دارای 3 'r در رشته مجوز (یعنی rw*rw*rw*)
  • اگر همه چیز دیگر خراب است ، احتمالاً حرکت به درستی تنظیم نشده است

    اگر چنین است برخی از جستجوهای آنلاین باید کمک کنند زیرا کمک های زیادی در آنجا وجود دارد

مرحله 5: نظرات اضافی

نظرات تکمیلی
نظرات تکمیلی

پخش فایل های صوتی تصادفی

وقتی از صدای یکسانی که بارها و بارها پخش می شود خسته می شوید ، آن را مخلوط کنید!

  • چندین فایل صوتی مختلف را با یک نام اما یک پسوند عددی متوالی ذخیره کنید:

    soundFile1.mp3 ، soundFile2.mp3 ، soundFile3.mp3 ، soundFile4.mp3 ، soundFile5.mp3 ،

  • ورودی /etc/motion/motion.conf on_event_start را به شرح زیر تغییر دهید

    on_event_start play -q -sound -threaded soundFile`shuf -i 1-5 -n 1`.mp3 2>/dev/null

  • خارج شده و فایل را ذخیره کنید
  • سرویس حرکت را مجدداً راه اندازی کنید

    sudo systemctl راه اندازی مجدد motion.service

  • قسمت `shuf -i 1-5 -n 1` (این تیک های عقب هستند) یک عدد تصادفی را از 1 تا 5 درج می کند تا نام فایل در حال پخش باشد
  • بنابراین وقتی حرکت تشخیص داده شد ، یکی از 5 فایل صوتی پخش می شود

صحبت کردن به جای بازی

نکته جالب دیگر این است که یک Text-to-Speech تنظیم کنید و از رایانه بخواهید با افرادی که از آنجا عبور می کنند یک جمله صحبت کند. من دوست دارم از MaryTTS به عنوان موتور استفاده کنم. سرور Mary TTS را راه اندازی و راه اندازی کنید و خط on_event_start ذکر شده در بالا را تغییر دهید تا چیزی برای ارائه به سرور ازدواج tts ارسال کنید (به عنوان مثال marytts/bin/marytts-submit-text "سلام دوست")

استفاده از دوربین های تحت شبکه IP (بی سیم یا غیره)

برنامه حرکت می تواند به راحتی دوربین های IP تحت شبکه را با استفاده از netcam_url و سایر تنظیمات مختلف netcam_xxx پشتیبانی کند. یک جستجوی ساده آنلاین باید موارد مورد نیاز را ارائه دهد.

بلوتوث

اگر RPI شما دارای بلوتوث داخلی است یا دستگاه بلوتوث USB را نصب کرده اید ، می توانید بلندگو را از طریق بلوتوث متصل کرده و سیم را از بین ببرید.

ضبط حرکت را به منطقه کوچکتر محدود کنید

یکی از مشکلاتی که من در این راه اندازی داشتم ، دمیدن درختچه ها و درختان و همچنین چراغهای ماشین است که باعث می شود حرکت به راحتی انجام شود. برنامه حرکت دارای تنظیماتی برای تعداد فریم هایی است که باید قبل از شروع حرکت تغییر کند و نویز و استفاده از آنها کمک می کند. من هنوز امتحان نکرده ام ، اما فکر می کنم به تنظیماتی نیاز خواهم داشت که بتوانند ناحیه خاصی از نمای دوربین را برای تشخیص حرکت تعریف کنند. با این کار می توانید ناحیه ای را در نزدیکی دکوراسیون تعریف کنید تا پخش فایل صوتی آغاز شود.

توصیه شده: