Съдържание:

Говорещ Дядо Коледа: 5 стъпки
Говорещ Дядо Коледа: 5 стъпки

Видео: Говорещ Дядо Коледа: 5 стъпки

Видео: Говорещ Дядо Коледа: 5 стъпки
Видео: Шелби 2014 Bg audio (коледен, семеен) 2024, Юли
Anonim
Говорещ Дядо Коледа
Говорещ Дядо Коледа
Говорещ Дядо Коледа
Говорещ Дядо Коледа

Този проект обяснява как да направите декорация, която да възпроизвежда звуков файл, когато някой мине. Това може лесно да се постигне с компютър, който може да изпълнява програмата Motion и някаква камера. В този случай използвах 20 -инчов формоване на Дядо Коледа. Настроих моя Raspeberry PI с модула на камерата в прозореца на гаража си и го насочих към издухвателя на Дядо Коледа. Скрих външен високоговорител с мощност вътре в издухвателя и пуснах 25 -футов aux кабел оценен за използване на открито от PI до този високоговорител. Настроих програмата Motion на Pi да възпроизвежда звуков файл на Ho Ho Ho, звучащ от Дядо Коледа, когато открие движение с помощта на камерата. Това е доста лесно да се направи и е забавно.

Купуването на конкретните материали, които използвах тук, вероятно ще струва около 100 долара с доставка. Не бих похарчил това, за да направя това, ако вече нямаше всички тези материали да лежат неизползвани. Това може да работи с всеки компютър, всякакви камери и всеки високоговорител, така че може да се постигне много по -евтино, ако се налага да закупите тези неща.

Консумативи

  • Компютър с инсталирана програма Motion

    Използвах Raspberry PI (RPI) 3 Model B

  • Камера, свързана с компютър или мрежова камера

    • Всяка камера, която програмата Motion може да използва
    • USB камера
    • Мрежова камера
    • Използвах този модул за камера, който се свързва директно към RPI
  • Външен високоговорител

    • Свържете чрез aux порт
    • USB
    • Използвах този Sony SRS-XB01
  • Декорация като пяна, всичко наистина

    Използвах издухващ Дядо Коледа, много подобен на този

Стъпка 1: Настройте своя RPI

Настройте своя RPI
Настройте своя RPI

Тази стъпка е тук най -вече за начинаещи. Това видео обяснява как да настроя Raspberry PI (RPI) по -добре, отколкото бих могъл. Аз също бих препоръчал, както и във видеото, да свържете безжичен USB, клавиатура + мишка и външен монитор за настройката. След като настроя, пускам моя в гаража си без клавиатурата + мишката и външния монитор, но оставям в WIFi dongle, за да мога да го прехвърля и да рестартирам и/или да направя промени.

Стъпка 2: Прикрепете камерата към RPI

Прикрепете камерата към RPI
Прикрепете камерата към RPI

Следвайте инструкциите, за да настроите камерата си за RPI. Използвах модула Camera от Adafruit Industries.

  • Включете и закрепете лентовия кабел от модула на камерата в порта на камерата между Ethernet порта и HDMI порта с контактите на плъзгача към HDMI порта и синята лента към Ethernet порта.
  • Ако имате свързан монитор и използвате UI (Xserver), стартирайте инструмента за конфигуриране на Raspberry Pi

    Ако отдалечен SSH в rpi от друг компютър, стартирайте rasp -config във вашия терминал - което ще стартира терминален потребителски интерфейс

  • В Raspberry Config, в раздела Интерфейси, активирайте камерата.
  • Запазете и рестартирайте RPI.
  • При рестартиране изпълнете командата по -долу в терминал, и откритите, и активираните трябва да се върнат като = 1

vgencmode get_camera

Вашият модул PI Camera трябва да работи сега

Онлайн инструкции

Стъпка 3: Настройка и тестване на аудио

Настройка и тестване на аудио
Настройка и тестване на аудио

Първоначално за този проект просто пуснах aux кабел от PI към малък високоговорител с батерия. Случайно имаше много статична енергия и батериите се изтощиха бързо. Вместо това включих USB устройство, което усилва звука и пуснах aux кабела от изходния aux порт на него към захранван външен високоговорител, устойчив на атмосферни влияния. Това премахна статиката и беше по -силно и нямаше батерии за притеснение. USB устройството беше автоматично разпознато от моя RPI без инсталиране на драйвери.

PI OS идва с програма, наречена aplay, но аз предпочитам програмата за възпроизвеждане на софтуера на Sox, така че тези инструкции инсталират Sox и използват командата за възпроизвеждане.

Инсталирайте Sox

В терминал на RPI изпълнете следния отговор с да на всички подкани

sudo apt-get инсталирайте sox

Тестов звук

Изтеглете съвместим звуков файл с малък размер и го запазете на компютъра си. Използвах santaho3.mp3, запазен в домашната ми директория pi. За да тествате звука, свържете вашия високоговорител към RPI и изпълнете тази команда:

пусни santaho3.mp3

  • Ако чуете звуковия файл, който се възпроизвежда във вашия високоговорител, значи вашият звук работи
  • Може да се наложи вътрешно да промените звука от HDMI на Аналогов.

    Инструкции тук

  • Ако използвате USB звуково устройство, създайте файл в домашната си директория, наречен.asoundrc

    • Поставете съдържанието по -долу в него и рестартирайте, започнете аудио тест
    • pcm.! по подразбиране {

      тип hw card 1} ctl.! по подразбиране {type hw card 1}

Стъпка 4: Настройте Откриване на движение за възпроизвеждане на звуков файл

Настройте Откриване на движение за възпроизвеждане на звуков файл
Настройте Откриване на движение за възпроизвеждане на звуков файл

Софтуерът, наречен Motion, позволява да се настроят една или повече камери с цел изпълнение на команда, когато се открие движение в изгледа (ите) на камерата (ите). Той е сравнително лесен за настройка и работи доста добре. Той също така може да записва файлове при откриване на движения, да позволява конфигуриране на уебсайт за всяка камера или отделен уебсайт за всички камери, и поточни сървъри за гледане на потоци на живо от камерите. Този проект се нуждае само от откриване и задействане на команди, но аз настроих стрийминг сървър, за да мога да гледам и поток на живо.

Инсталирайте Motion

В терминал на RPI изпълнете командата по -долу, като отговорите с „да“на всички подкани, изчакайте да приключи

sudo apt-get install motion

Отделете време сега, за да добавите наскоро добавения потребител на движение към аудио групата, за да има разрешение да възпроизвежда звук, като въведете следната команда

usermod -a -G аудио движение

Конфигуриране на Motion for Detection

Ще редактираме конфигурационния файл за движение, за да възпроизведе звуковия файл, който сме изтеглили в стъпката за настройка на звука, когато той открие движение на камерата и ще стартираме движението като услуга, така че да продължи да го прави, когато рестартирате 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 изключен logfile /var/log/motion/motion.log log_level 6 log_type всички видеоустройства/dev/video0 v4l2_palette 17 вход -1 норма 0 честота 0 power_line_frequency -1 завъртане 0 flip_axis няма ширина 320 височина 240 framerate 2 минимален_frame_time 0 netcam_keepalive изключен netcam_mobile offcam rtsp_uses_tcp на mmalcam_name vc.ril.camera auto_brightness off яркост 0 контраст 0 наситеност 0 hue 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter праг 500 prag_tune изключен noise_tune на despeckle_filter EedDl smart_mask_speed 0 lightwitch 0 минимум изходни_изображения изключени_открити_картини изключени качество 75 картина_период apshot_interval 0 locate_motion_mode off locate_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/snapshot_filename%v- %Y%m%d%H%M%S-snapshot picture_filename%v-%Y%m%d%H%M%S-%q movie_filename%v-%Y%m%d%H%M%S timelapse_filename % Y% т% D-времето изтича 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_port 8480 webcontrol_localhost от webcontrol_html_output на 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 -многопоточен/var/lib/motion/notify`shuf -i 1-5 -n 1`.mp3 2>/dev/null

Копирайте аудио файла в звуковия файл в началната директория на motion и променете разрешенията за него, така че движението да го притежава, но всички могат да го прочетат

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

sudo chown motion /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 стартира движение.услуга

Тестово откриване на движение и възпроизвеждане на звук

Почти готово. Просто трябва да проверите дали се открива движение и звукът се възпроизвежда, когато е.

В терминал направете следното, за да гледате приложен текст към лог файла

tail -f/var/log/motion

Сега:

  • Бавно размахвайте нещо пред камерата
  • Лог файлът трябва да изведе, че е открито движение
  • Дано звуковият файл се възпроизведе през високоговорителя
  • Ако е така, поставете 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 -многонишков звук File`shuf -i 1-5 -n 1`.mp3 2>/dev/null

  • Излезте и запазете файла
  • Рестартирайте услугата за движение

    sudo systemctl рестартирайте motion.service

  • Частта `shuf -i 1-5 -n 1` (това са обратни отметки) вмъква произволно число от 1 до 5 ito името на файла, който се възпроизвежда
  • Така че сега, когато се открие движение, ще се възпроизведе един от 5 звукови файла

Говорете вместо да играете

Друг забавен обрат е да настроите Text-to-Speech и да накарате компютъра да произнесе изречение на хора, които минават покрай него. Обичам да използвам MaryTTS като двигател. Настройте и стартирайте сървъра на Mary TTS и променете споменатия по-горе ред on_event_start, за да изпратите нещо, което да кажете на сървъра на marry tts (т.е. marytts/bin/marytts-submit-text "Здравей приятел")

Използване на IP мрежови камери (безжични или по друг начин)

Програмата за движение може лесно да поддържа мрежови IP камери, използвайки netcam_url и други различни настройки за netcam_xxx. Едно просто онлайн търсене трябва да осигури необходимото.

Bluetooth

Ако вашият RPI има вграден Bluetooth или сте инсталирали USB Bluetooth устройство, тогава можете да свържете високоговорителя чрез Bluetooth и да се отървете от проводника.

Ограничете заснемането на движение до по -малка площ

Един от проблемите, които имах с тази настройка, е издухването на храсти и дървета, както и светлините на колата, които задействат движението твърде лесно. Програмата за движение има настройки за това колко кадъра трябва да се променят преди задействане на движението и отчитане на шума и използването им помогна. Все още не съм пробвал, но мисля, че ще се нуждая от настройки, които също позволяват да се определи определена област от изгледа на камерата за откриване на движение. Това би трябвало да позволи да се определи област в непосредствена близост до декорацията, за да се задейства възпроизвеждането на звуковия файл.

Препоръчано: