İçindekiler:

Konuşan Santa Blowmold: 5 Adım
Konuşan Santa Blowmold: 5 Adım

Video: Konuşan Santa Blowmold: 5 Adım

Video: Konuşan Santa Blowmold: 5 Adım
Video: The Nutcracker, Sugar Plum Fairy, Techno, Blow Molds, Santa, Frosty, Snowman 2024, Temmuz
Anonim
Santa Blowmold konuşuyor
Santa Blowmold konuşuyor
Santa Blowmold konuşuyor
Santa Blowmold konuşuyor

Bu proje, biri geçtiğinde ses dosyası çalan bir dekorasyonun nasıl yapıldığını açıklar. Bu, Motion programını çalıştırabilen bir bilgisayar ve bir tür kamera ile kolaylıkla gerçekleştirilebilir. Bu durumda 20 boyunda bir Noel Baba şişirme kalıbı kullandım. Garaj penceremde kamera modülü ile Raspeberry PI'mi kurdum ve Noel Baba şişirme kalıbına doğrulttum. Üfleme kalıbının içine elektrikli bir dış mekan hoparlörü sakladım ve 25 ft'lik bir aux kablosu çalıştırdım PI'den bu hoparlöre dış mekan kullanımı için derecelendirilmiştir. Pi üzerinde Motion programını, kamerayı kullanarak hareket algıladığında Santa sesli Ho Ho Ho ses dosyasını çalmak için kurdum. Yapması oldukça basit ve eğlenceli.

Burada kullandığım belirli malzemeleri satın almak muhtemelen nakliye ile birlikte yaklaşık 100 dolara mal olacak. Kullanılmayan tüm bu malzemelere sahip olmasaydım, bunu yapmak için harcamazdım. Bu, herhangi bir bilgisayarla, herhangi bir kamerayla ve herhangi bir hoparlörle çalışabilir, böylece bunları satın almanız gerektiğinde çok daha ucuza yapılabilir.

Gereçler

  • Motion programının yüklü olduğu bir bilgisayar

    Raspberry PI (RPI) 3 Model B kullandım

  • Bilgisayara bağlı Kamera veya Ağ Kamerası

    • Motion programının kullanabileceği herhangi bir kamera
    • USB Kamera
    • Ağ Kamerası
    • Doğrudan RPI'ye bağlanan bu Kamera Modülünü kullandım
  • Açık hava anma hoparlörü

    • Aux portu üzerinden bağlanın
    • USB
    • Bu Sony SRS-XB01'i kullandım
  • Üfleme kalıbı gibi bir dekorasyon, gerçekten her şey

    Buna çok benzeyen bir Noel Baba şişirme kalıbı kullandım

Adım 1: RPI'nizi Ayarlayın

RPI'nizi Ayarlayın
RPI'nizi Ayarlayın

Bu adım, çoğunlukla yeni başlayanlar için burada. Bu video, benden daha iyi bir Raspberry PI (RPI) kurmayı açıklıyor. Ayrıca kurulum için videoda olduğu gibi bir Kablosuz USB, klavye + fare ve harici monitör bağlamanızı tavsiye ederim. Kurulumdan sonra benimkini klavye + fare ve harici monitör olmadan garajımda çalıştırıyorum, ancak WIFi dongle'da bırakıyorum, böylece ssh'a girip yeniden başlatabilir ve/veya değişiklik yapabilirim.

2. Adım: Kamerayı RPI'ye Bağlayın

Kamerayı RPI'ye Ekle
Kamerayı RPI'ye Ekle

RPI'niz için kameranızı kurmak için talimatları izleyin. Adafruit Industries'in Camera modülünü kullandım.

  • Kamera modülünden gelen şerit kabloyu, şerit kontakları HDMI bağlantı noktasına ve mavi bant Ethernet bağlantı noktasına bakacak şekilde Ethernet bağlantı noktası ile HDMI bağlantı noktası arasındaki kamera bağlantı noktasına takın ve sabitleyin.
  • Bağlı bir monitörünüz varsa ve kullanıcı arayüzünü (Xserver) çalıştırıyorsanız, Raspberry Pi Yapılandırma aracını çalıştırın.

    Başka bir bilgisayardan rpi'ye uzak SSH ise, terminalinizde rasp-config çalıştırın - bu bir terminal kullanıcı arayüzünü başlatır

  • Raspberry Config'de Arayüzler sekmesi altında Kamerayı etkinleştirin.
  • RPI'yi kaydedin ve yeniden başlatın.
  • Yeniden başlatmanın ardından aşağıdaki komutu bir terminalde çalıştırın, hem algılanan hem de etkinleştirilenler = 1 olarak dönmelidir.

vgencmode get_camera

PI Kamera modülünüz şimdi çalışıyor olmalıdır

Çevrimiçi Talimatlar

Adım 3: Sesi Ayarlayın ve Test Edin

Kurulum ve Test Sesi
Kurulum ve Test Sesi

Başlangıçta bu proje için PI'den küçük bir pille çalışan hoparlöre bir aux kablosu bağladım. Bu çok fazla statik oldu ve piller hızla boşaldı. Bunun yerine sesi yükselten bir USB aygıtı taktım ve aux kablosunu üzerindeki aux çıkış bağlantı noktasından güçlü, hava koşullarına dayanıklı bir dış mekan hoparlörüne geçirdim. Bu, statiği kaldırdı ve daha yüksek sesle ve endişelenecek pil yoktu. USB aygıtı, herhangi bir sürücü yüklemesi gerekmeden RPI'm tarafından otomatik olarak tanındı.

PI OS, aplay adlı bir programla birlikte gelir, ancak ben Sox yazılım dağıtımının oynatma programını tercih ederim, bu nedenle bu talimatlar Sox'u kurun ve it's play komutunu kullanın.

Sox'u yükleyin

RPI'daki bir terminalde, herhangi bir istem için evet yanıtı veren aşağıdaki komutu çalıştırın.

sudo apt-get kurulumu sox

Test Sesi

Küçük boyutlu uyumlu bir ses dosyası indirin ve bilgisayarınıza kaydedin. Pi ana dizinime kaydedilen santaho3.mp3'ü kullandım. Sesi test etmek için hoparlörünüzü RPI'ye bağlayın ve şu komutu çalıştırın:

santaho3.mp3 oyna

  • Hoparlörünüzde çalan ses dosyasını duyuyorsanız, sesiniz çalışıyor demektir.
  • Sesi dahili olarak HDMI'dan Analog'a değiştirmeniz gerekebilir.

    Buradaki talimatlar

  • Bir USB ses aygıtı kullanıyorsanız, ana dizininizde.asoundrc adlı bir dosya oluşturun.

    • Aşağıdaki içeriği içine koyun ve yeniden başlatın, ses testini başlatın
    • pcm.!varsayılan {

      hw kartı 1 yazın } ctl.!default { hw kartı 1 yazın }

Adım 4: Ses Dosyasını Çalmak için Hareket Algılamayı Ayarlayın

Ses Dosyasını Çalmak için Hareket Algılamayı Ayarlayın
Ses Dosyasını Çalmak için Hareket Algılamayı Ayarlayın

Motion adlı yazılım, kamera(lar) görünümünde/görünümlerinde hareket algılandığında bir komut çalıştırmak amacıyla bir veya daha fazla kameranın kurulmasına izin verir. Kurulumu oldukça kolaydır ve oldukça iyi çalışır. Ayrıca hareketleri algılarken dosyaları kaydedebilir, her kamera için bir web sitesi veya tüm kameralar için tek bir web sitesi ve kameraların canlı akışlarını izlemek için akış sunucuları yapılandırmaya izin verebilir. Bu proje yalnızca algılama ve komut tetikleme yeteneğine ihtiyaç duyuyor, ancak canlı bir akışı da izleyebilmek için bir akış sunucusu kurdum.

Hareketi Yükle

RPI üzerindeki bir terminalde, herhangi bir istemde evet cevabını vererek aşağıdaki komutu çalıştırın, bitmesini bekleyin

sudo apt-get yükleme hareketi

Yeni eklenen hareket kullanıcısını ses grubuna eklemek için zaman ayırın, böylece aşağıdaki komutu girerek ses çalma iznine sahip olur.

usermod -a -G ses hareketi

Algılama için Hareketi Yapılandırma

Hareket yapılandırma dosyasını, Ses Kurulumu adımında indirdiğimiz ses dosyasını kamerada hareket algıladığında çalmak ve bir hizmet olarak hareketi başlatmak için düzenleyeceğiz, böylece RPI'yi yeniden başlatırken bunu yapmaya devam edecektir.

Bir terminalde /etc/motion/motion.conf dosyasını süper kullanıcı olarak düzenleyin

sudo nano /etc/default/hareket

Bir terminalde /etc/motion/motion.conf dosyasını süper kullanıcı olarak düzenleyin

sudo nano /etc/motion/motion.conf

Aşağıdaki düzenlemeleri yapın ve kaydedin. Bunların çoğu varsayılandır. Benim durumumda mmal_xxx girişlerinin herhangi bir etkisi olduğunu düşünmüyorum, ancak birinin ihtiyaç duyması durumunda onları bırakıyorum - ayrıca zarar vermiyorlar. Bu yapılandırma, 40 saniyelik aralıklarla kameradaki hareketi algılar, görüntü veya video kaydetmez ve bir kullanıcı adı ve şifre kullanarak temel kimlik doğrulama ile korunan kamera için bir web sunucusu ve akış sunucusu kurar.

arka plan programı

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 giriş -1 norm 0 frekans 0 power_line_frequency -1 döndürme 0 flip_axis hiçbiri genişlik 320 yükseklik 240 kare hızı 2 minimum_frame_time 0 netcam_keepalive kapalı netcam_tolerant_check kapalı mmalcam_name üzerinde rtsp_uses_tcp vc.ril.camera auto_brightness kapalı parlaklık 0 kontrast 0 doygunluk 0 renk tonu 0 roundrobin_frames 1 roundrobin_skip 1 anahtar filtresi kapalı eşiği 500 eşik_ayar kapalı noise_level 22 noise_tune açık despeckle_filter EedDl smart_mask_speed 0 ışık anahtarı 0_ minimum_motion_kapalı output_pictures kapalı output_debug_pictures kalite dışı 75 picture_type jpeg ffmpeg_output_movies kapalı ffmpeg_output_debug_movies kapalı ffmpeg_bps 400000 ffmpeg_variable_bitrate 0 ffmpeg_video_codec mp4 ffmpeg_duplicate_frames true timelapse_deinterval 0 timelapse_mofps timelapse_deinterval 0 timelapse_mofps apshot_interval 0 location_motion_mode kapalı konum_hareket_style kutusu text_right %Y-%m-%d\n%T-%q text_changes kapalı text_event %Y%m%d%H%M%S text_double kapalı target_dir /var/lib/motion snapshot_filename %v- %Y%m%d%H%M%S-anlık resim_dosyaadı %v-%Y%m%d%H%M%S-%q movie_filename %v-%Y%m%d%H%M%S timelapse_filename %Y%m%d-timelapse ipv6_enabled stream_port 8481 stream_quality 80 stream_motion kapalı stream_maxrate 1 stream_localhost kapalı stream_limit 0 stream_auth_method 1 stream_authentication: webcontrol_port 8480 webcontrol_localhost kapalı webcontrol_html_output on webcontrol_authentication_authentication_authentication_authentication_authentication_authentication_authentication_authentication_adim_adim_adim_adim_adim_adim_adim_adim_adim_adim_adim_adim_authentication_authentication_auth_auth_method on_event_start üzerinde sessiz /usr/bin/play -q --multi-threaded /var/lib/motion/notify`shuf -i 1-5 -n 1`.mp3 2>/dev/null

Ses dosyasını ses dosyasına hareket ana dizinine kopyalayın ve hareketin sahibi olması için izinleri değiştirin, ancak herkes okuyabilir

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

sudo chown hareketi /var/lib/motion/mtn_dtct_ntfy.mp3

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

RPI cihazını yeniden başlatın. Önyüklendikten sonra çalıştırın

sudo systemctl durumu motion.service

Çıktı şunları söyleyen bir satır içermelidir:

Aktif: aktif (çalışıyor) beri

Bu hareketin çalıştığını görürseniz. Değilse, ayrıntılar için /var/log/motion'a bakın. Çalıştırmayı deneyin:

sudo systemctl motion.service'i başlat

Hareket Algılama ve Ses Çalma Testi

Neredeyse bitti. Sadece hareketin algılanıp algılanmadığını ve algılandığında sesin çalınıp çalınmadığını kontrol etmeniz gerekiyor.

Bir terminalde, günlük dosyasına eklenen metni izlemek için aşağıdakileri yapın

tail -f /var/log/hareket

Şimdi:

  • Kameranın önünde yavaşça bir şey sallayın
  • Günlük dosyası, hareketin algılandığını göstermelidir
  • Umarım ses dosyası hoparlörden çalar
  • Eğer öyleyse, RIP'yi kamera merceği hareketin algılanacağı yere bakacak şekilde bir pencereye yerleştirin.
  • Dış mekan hoparlörünü dekorasyonun içine veya yakınına yerleştirin
  • İnsanlar yanından geçtiğinde karşılanacaklar

Sorun giderme

İşler çalışmıyorsa

  • Aşağıdakileri gerçekleştirerek kameranın çalışıp çalışmadığını iki kez kontrol edin:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • Yürüterek sesin çalıştığını iki kez kontrol edin

    • /var/lib/motion/ mtn_dtct_ntfy.mp3'ü oynat
    • ses dosyasını duymuyorsanız

      • çıkış cihazının hoparlör kurulumunuz olduğunu kontrol edin (analog veya USB)
      • ses seviyesini kontrol et
      • ses dosyasındaki izinlerin izinler dizesinde 3 'r'ye sahip olup olmadığını kontrol edin (yani rw*rw*rw*)
  • Diğer her şey başarısız olursa, muhtemelen hareket doğru şekilde kurulmamıştır.

    bu durumda, orada çok fazla yardım olduğu için bazı çevrimiçi aramaların yardımcı olması gerekir

Adım 5: Ek Yorumlar

Ek Yorumlar
Ek Yorumlar

Rastgele Ses Dosyalarını Oynat

Aynı sesin tekrar tekrar çalınmasından sıkılıp, karıştırın!

  • Aynı ada ancak sıralı bir sayısal son eke sahip birkaç farklı ses dosyasını kaydedin:

    soundFile1.mp3, soundFile2.mp3, soundFile3.mp3, soundFile4.mp3, soundFile5.mp3,

  • /etc/motion/motion.conf on_event_start girişini aşağıdaki gibi değiştirin

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

  • Dosyadan çıkın ve kaydedin
  • Hareket hizmetini yeniden başlatın

    sudo systemctl motion.service'i yeniden başlat

  • `shuf -i 1-5 -n 1` (bunlar geri tiklerdir) kısmı, oynatılmakta olan dosya adına 1'den 5'e kadar rastgele bir sayı ekler.
  • Şimdi hareket algılandığında 5 ses dosyasından herhangi biri çalacaktır.

Oynamak Yerine Konuşmak

Bir başka eğlenceli bükülme, bir Metin-Konuşma kurmak ve bilgisayarın yoldan geçen insanlara bir cümle söylemesini sağlamaktır. Motor olarak MaryTTS'yi kullanmayı seviyorum. Mary TTS sunucusunu kurun ve başlatın ve evli tts sunucusuna söyleyecek bir şey göndermek için yukarıda belirtilen on_event_start satırını değiştirin (ör. marytts/bin/marytts-submit-text "Merhaba arkadaşım")

IP Ağa Bağlı Kameraları Kullanma (Kablosuz veya başka türlü)

Hareket programı, netcam_url ve diğer çeşitli netcam_xxx ayarlarını kullanarak ağ bağlantılı IP kameraları kolayca destekleyebilir. Basit bir çevrimiçi arama, ihtiyaç duyulanı sağlamalıdır.

Bluetooth

RPI'nizde yerleşik Bluetooth varsa veya bir USB Bluetooth cihazı kurduysanız, hoparlörü Bluetooth aracılığıyla bağlayabilir ve kablodan kurtulabilirsiniz.

Hareket Yakalamayı Daha Küçük Alanla Sınırlayın

Bu kurulumda yaşadığım sorunlardan biri, çalıları ve ağaçları üflemenin yanı sıra araba ışıklarının tümü hareketi çok kolay tetikledi. Hareket programı, hareket tetiklenmeden önce kaç karenin değişmesi gerektiğine ilişkin ayarlara sahiptir ve gürültüyü hesaba katar ve bunların kullanılması yardımcı olur. Henüz denemedim, ancak hareket algılama için kamera görüntüsünün belirli bir alanının tanımlanmasına da izin veren ayarlara ihtiyacım olacağını düşünüyorum. Bu, ses dosyasının çalınmasını tetiklemek için dekorasyonun hemen yakınında bir alan tanımlamaya izin vermelidir.

Önerilen: