Оглавление:

Talking Santa Blowmold: 5 шагов
Talking Santa Blowmold: 5 шагов

Видео: Talking Santa Blowmold: 5 шагов

Видео: Talking Santa Blowmold: 5 шагов
Видео: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Ноябрь
Anonim
Говорящий Санта
Говорящий Санта
Говорящий Санта
Говорящий Санта

В этом проекте объясняется, как сделать украшение, которое воспроизводит звуковой файл, когда кто-то проходит мимо. Это легко сделать с помощью компьютера, на котором можно запустить программу Motion, и какой-либо камеры. В этом случае я использовал выдувную форму Санта-Клауса высотой 20 дюймов. Я установил свою Raspeberry PI с модулем камеры в окне гаража и направил ее на выдувную форму Санта-Клауса. Я спрятал внешний динамик с питанием внутри выдувной формы и проложил 25-футовый вспомогательный шнур. рассчитан на использование на открытом воздухе от PI до этого динамика. Я установил программу Motion на Pi, чтобы воспроизводить звуковой файл, звучащий в стиле Санта-Клауса, каждый раз, когда он обнаруживает движение с помощью камеры. Это довольно просто сделать, и это очень весело.

Покупка конкретных материалов, которые я использовал здесь, вероятно, обойдется примерно в 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, чтобы я мог использовать ssh и перезагружаться и / или вносить изменения.

Шаг 2: прикрепите камеру к RPI

Присоединить камеру к RPI
Присоединить камеру к RPI

Следуйте инструкциям, чтобы настроить камеру для вашего RPI. Я использовал модуль камеры от Adafruit Industries.

  • Подключите и закрепите ленточный кабель от модуля камеры к порту камеры между портом Ethernet и портом HDMI так, чтобы плоские контакты были обращены к порту HDMI, а синяя лента была обращена к порту Ethernet.
  • Если у вас подключен монитор и вы используете пользовательский интерфейс (Xserver), запустите инструмент настройки Raspberry Pi.

    Если удаленный SSH в rpi с другого компьютера, запустите rasp-config в своем терминале - это запустит пользовательский интерфейс терминала

  • В Raspberry Config на вкладке Interfaces включите Camera.
  • Сохраните и перезагрузите RPI.
  • После перезагрузки запустите приведенную ниже команду в терминале, и обнаружение, и включение должны возвращать как = 1

vgencmode get_camera

Теперь ваш модуль PI Camera должен работать

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

Шаг 3. Настройка и проверка звука

Настройка и проверка звука
Настройка и проверка звука

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

PI OS поставляется с программой под названием aplay, но я предпочитаю программу play из дистрибутива программного обеспечения Sox, поэтому эти инструкции устанавливают Sox и используют ее команду play.

Установить Sox

В терминале на RPI запустите следующий ответ "да" на любые запросы

sudo apt-get install sox

Тестовый звук

Загрузите совместимый звуковой файл небольшого размера и сохраните его на своем компьютере. Я использовал файл santaho3.mp3, сохраненный в моем домашнем каталоге pi. Чтобы проверить звук, подключите динамик к RPI и выполните эту команду:

играть santaho3.mp3

  • Если в динамике воспроизводится звуковой файл, значит, звук работает.
  • Возможно, вам придется внутренне изменить звук с HDMI на аналоговый.

    Инструкции здесь

  • При использовании звукового USB-устройства создайте в домашнем каталоге файл с именем.asoundrc.

    • Поместите в него содержимое ниже и перезагрузитесь, начните аудиотест
    • pcm.! default {

      введите hw card 1} ctl.! default {type hw card 1}

Шаг 4: Настройте обнаружение движения для воспроизведения звукового файла

Настройка обнаружения движения для воспроизведения звукового файла
Настройка обнаружения движения для воспроизведения звукового файла

Программное обеспечение под названием «Движение» позволяет настроить одну или несколько камер для выполнения команды при обнаружении движения в представлении (ах) камеры (ах). Его довольно легко настроить и он работает очень хорошо. Он также может записывать файлы при обнаружении движения, позволяет настраивать веб-сайт для каждой камеры или отдельный веб-сайт для всех камер и серверы потоковой передачи для просмотра потоковой передачи с камер в реальном времени. Этому проекту нужна только возможность обнаружения и запуска команд, но я установил потоковый сервер, чтобы также иметь возможность смотреть прямую трансляцию.

Установить движение

В терминале на RPI выполните команду ниже, отвечая «да» на любые запросы, дождитесь ее завершения.

sudo apt-get install motion

Найдите время, чтобы добавить недавно добавленного пользователя движения в аудиогруппу, чтобы у него было разрешение на воспроизведение звука, введя следующую команду

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

Настроить движение для обнаружения

Мы отредактируем файл конфигурации движения, чтобы воспроизводить звуковой файл, который мы загрузили на этапе настройки звука, когда он обнаруживает движение на камере и запускает движение как услугу, чтобы он продолжал делать это при перезагрузке RPI.

В терминале отредактируйте файл /etc/motion/motion.conf как суперпользователь.

Судо нано / и т. д. / по умолчанию / движение

В терминале отредактируйте файл /etc/motion/motion.conf как суперпользователь.

sudo nano /etc/motion/motion.conf

Внесите и сохраните следующие правки. Многие из них являются значениями по умолчанию. Я не думаю, что в моем случае записи mmal_xxx имеют какое-либо влияние, но я оставляю их на случай, если они кому-то понадобятся - они тоже не причинят вреда. Эта конфигурация обнаруживает движение на камере с интервалом в 40 секунд, не записывает изображения или видео и настраивает веб-сервер и сервер потоковой передачи для камеры, защищенной базовой аутентификацией с использованием имени пользователя и пароля.

демон на

process_id_file /var/run/motion/motion.pid

setup_mode off файл журнала /var/log/motion/motion.log log_level 6 log_type all videodevice / dev / video0 v4l2_palette 17 input -1 norm 0 frequency 0 power_line_frequency -1 rotate 0 flip_axis none width 320 height 240 framerate 2 minimum_frame_time 0 netcam_keepalive off netcheepalive off netcam_tolerant rtsp_uses_tcp on mmalcam_name vc.ril.camera auto_brightness off яркость 0 контраст 0 насыщенность 0 оттенок 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter off порог 500 threshold_tune off noise_level 22 noise_tune on despeckle_filter EedDl_max_master_movie_main_speed 0 event_master_mocie_speed 0 output_pictures off output_debug_pictures off quality 75 picture_type jpeg ffmpeg_output_movies off ffmpeg_output_debug_movies off ffmpeg_bps 400000 ffmpeg_variable_bitrate 0 ffmpeg_video_codec mp4 ffmpeg_time_codec_ru_du_valapse_time_dex_time_dudec_dex_map_video_codec mp4_время_дупликации_время_эксплуатации_выкл. 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 / 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 имя_файла_времени % 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 --multi-thread / 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

Проверка обнаружения движения и воспроизведения звука

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

В терминале выполните следующие действия, чтобы просмотреть добавленный текст в файл журнала.

хвост -f / var / log / движение

Теперь:

  • Медленно помашите чем-то перед камерой
  • В файле журнала должно быть указано, что движение было обнаружено.
  • Надеюсь, звуковой файл воспроизводится через динамик
  • В таком случае поместите RIP в окно так, чтобы объектив камеры был направлен туда, где должно быть обнаружено движение.
  • Поместите наружный динамик в украшение или рядом с ним.
  • Когда люди проходят мимо, их будут приветствовать

Исправление проблем

Если что-то не работает

  • Дважды проверьте работу камеры, выполнив:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • Дважды проверьте, работает ли звук, выполнив

    • играть / 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 - многопоточный звуковой файл`shuf -i 1-5 -n 1`.mp3 2> / dev / null

  • Выйдите и сохраните файл
  • Перезапустите службу движения

    sudo systemctl перезапустить motion.service

  • Часть `shuf -i 1-5 -n 1` (это обратные галочки) вставляет случайное число от 1 до 5 в имя воспроизводимого файла.
  • Итак, теперь при обнаружении движения будет воспроизводиться любой из 5 звуковых файлов.

Говорить вместо игры

Еще один забавный поворот - настроить преобразование текста в речь, чтобы компьютер произносил предложение для проходящих мимо людей. Мне нравится использовать МариТТС в качестве движка. Настройте и запустите сервер Mary TTS и измените указанную выше строку on_event_start, чтобы отправить сообщение серверу marry tts (например, marytts / bin / marytts-submit-text «Привет, друг»)

Использование сетевых IP-камер (беспроводных или иных)

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

блютуз

Если ваш RPI имеет встроенный Bluetooth или вы установили USB-устройство Bluetooth, вы можете подключить динамик через Bluetooth и избавиться от провода.

Ограничьте захват движения меньшей областью

Одна из проблем, с которыми я столкнулся с этой установкой, - это то, что задувание кустов и деревьев, а также автомобильные фары слишком легко вызывали движение. Программа движения имеет настройки того, сколько кадров необходимо изменить, прежде чем движение будет запущено, и учитывает шум, и их использование помогает. Я еще не пробовал, но думаю, мне понадобятся настройки, которые также позволят определить определенную область обзора камеры для обнаружения движения. Это должно позволить определить область рядом с украшением, чтобы запустить воспроизведение звукового файла.

Рекомендуемые: