Inhoudsopgave:

Pratende kerstman blaasvorm: 5 stappen
Pratende kerstman blaasvorm: 5 stappen

Video: Pratende kerstman blaasvorm: 5 stappen

Video: Pratende kerstman blaasvorm: 5 stappen
Video: PAW Patrol | De dapperste reddingen van de heldhaftige pups! | Nick Jr. Nederland 2024, November
Anonim
Pratende kerstman blaasvorm
Pratende kerstman blaasvorm
Pratende kerstman blaasvorm
Pratende kerstman blaasvorm

Dit project legt uit hoe je een decoratie maakt die een geluidsbestand afspeelt als er iemand langsloopt. Dit kan eenvoudig worden bereikt met een computer die het Motion-programma kan uitvoeren en een of andere camera. In dit geval gebruikte ik een 20 hoge kerstman blaasvorm. Ik zette mijn Raspeberry PI met de cameramodule in mijn garageraam en richtte hem op de kerstman blaasvorm. Ik verborg een actieve buitenspeaker in de blaasvorm en ik gebruikte een 25ft aux-kabel geschikt voor gebruik buitenshuis van de PI tot deze luidspreker. Ik heb het Motion-programma op de Pi ingesteld om een Santa klinkend Ho Ho Ho-geluidsbestand af te spelen wanneer het beweging detecteert met behulp van de camera. Het is vrij eenvoudig om te doen en het is erg leuk.

Het kopen van de specifieke materialen die ik hier heb gebruikt, zou waarschijnlijk ongeveer $ 100 kosten met verzending. Ik zou dat niet uitgeven om dit te maken als ik al deze materialen niet al ongebruikt had liggen. Dit kan met elke computer, elke camera en elke luidspreker werken, dus het kan veel goedkoper worden bereikt als u deze dingen moet kopen.

Benodigdheden

  • Een computer waarop het Motion-programma is geïnstalleerd

    Ik gebruikte een Raspberry PI (RPI) 3 Model B

  • Computer aangesloten camera of netwerkcamera
    • Elke camera die het Motion-programma kan gebruiken
    • USB-camera
    • Netwerkcamera
    • Ik heb deze cameramodule gebruikt die rechtstreeks op de RPI wordt aangesloten
  • Een luidspreker voor buitengebruik

    • Aansluiten via aux-poort
    • USB
    • Ik gebruikte deze Sony SRS-XB01
  • Een decoratie zoals blaasvorm, echt alles

    Ik heb een blaasvorm van de kerstman gebruikt die erg op deze lijkt

Stap 1: Stel uw RPI in

Stel uw RPI in
Stel uw RPI in

Deze stap is er vooral voor complete beginners. Deze video legt uit hoe je een Raspberry PI (RPI) beter kunt instellen dan ik zou kunnen. Ik zou ook aanraden, zoals in de video, om een draadloze USB, toetsenbord + muis en externe monitor aan te sluiten voor de installatie. Eenmaal ingesteld, laat ik de mijne in mijn garage draaien zonder het toetsenbord + muis en externe monitor, maar ik laat de wifi-dongle achter zodat ik erin kan ssh-en en opnieuw kan opstarten en/of wijzigingen kan aanbrengen.

Stap 2: Bevestig de camera aan RPI

Bevestig camera aan RPI
Bevestig camera aan RPI

Volg de instructies om je camera in te stellen voor je RPI. Ik heb de Camera module van Adafruit Industries gebruikt.

  • Sluit de lintkabel van de cameramodule aan op de camerapoort tussen de Ethernet-poort en de HDMI-poort, met de zilverkleurige contacten naar de HDMI-poort en de blauwe tape naar de Ethernet-poort gericht.
  • Als u een monitor hebt aangesloten en de gebruikersinterface (Xserver) gebruikt, voert u de Raspberry Pi-configuratietool uit

    Als externe SSH vanaf een andere computer naar de rpi gaat, voer dan rasp-config uit in uw terminal - waarmee een terminal-UI wordt gestart

  • Schakel in Raspberry Config onder het tabblad Interfaces de camera in.
  • Sla de RPI op en start deze opnieuw op.
  • Voer bij het opnieuw opstarten de onderstaande opdracht uit in een terminal, zowel gedetecteerd als ingeschakeld moeten terugkeren als = 1

vgencmode get_camera

Uw PI Camera-module zou nu moeten werken

Online instructies

Stap 3: Audio instellen en testen

Audio instellen en testen
Audio instellen en testen

Aanvankelijk heb ik voor dit project eenvoudig een aux-kabel van de PI naar een kleine luidspreker met batterijvoeding geleid. Die had toevallig veel statische elektriciteit en de batterijen waren snel leeg. In plaats daarvan heb ik een USB-apparaat aangesloten dat het geluid versterkt en ik heb de aux-kabel van de aux-uitgang erop naar een aangedreven weerbestendige buitenluidspreker geleid. Dit verwijderde de statische elektriciteit en was luider en er waren geen batterijen om je zorgen over te maken. Het USB-apparaat werd automatisch herkend door mijn RPI zonder dat er stuurprogramma's moesten worden geïnstalleerd.

PI OS wordt geleverd met een programma genaamd aplay, maar ik geef de voorkeur aan het afspeelprogramma van de Sox-softwaredistributie, dus deze instructies installeren Sox en gebruiken het afspeelcommando.

Installeer Sox

Voer in een terminal op de RPI het volgende uit en beantwoord alle prompts met ja:

sudo apt-get install sox

Testgeluid

Download een compatibel geluidsbestand van kleine omvang en sla het op uw computer op. Ik gebruikte santaho3.mp3 opgeslagen in mijn pi-homedirectory. Om het geluid te testen, sluit u uw luidspreker aan op de RPI en voert u deze opdracht uit:

speel santaho3.mp3

  • Als je het geluidsbestand in je speaker hoort spelen, werkt je geluid
  • Mogelijk moet u het geluid intern wijzigen van HDMI naar analoog.

    Instructies hier:

  • Als u een USB-geluidsapparaat gebruikt, maakt u een bestand in uw thuismap met de naam.asoundrc

    • Zet de onderstaande inhoud erin en start opnieuw op, start de audiotest
    • pcm.!standaard {

      typ hw-kaart 1 } ctl.!default { typ hw-kaart 1 }

Stap 4: Bewegingsdetectie instellen om geluidsbestand af te spelen

Bewegingsdetectie instellen om geluidsbestand af te spelen
Bewegingsdetectie instellen om geluidsbestand af te spelen

Met de software Motion kunnen een of meer camera's worden ingesteld om een opdracht uit te voeren wanneer beweging wordt gedetecteerd in de camera('s)-weergave(n). Het is vrij eenvoudig in te stellen en werkt redelijk goed. Het kan ook bestanden opnemen bij het detecteren van bewegingen, het configureren van een website voor elke camera of een enkele website voor alle camera's en streamingservers om livestreams van de camera's te bekijken. Dit project heeft alleen de mogelijkheid nodig om detectie en commando's te activeren, maar ik heb een streamingserver ingesteld om ook een livestream te kunnen bekijken.

Beweging installeren

Voer in een terminal op de RPI de onderstaande opdracht uit en beantwoord alle prompts met ja, wacht tot het klaar is

sudo apt-get install motion

Neem nu de tijd om de nieuw toegevoegde bewegingsgebruiker toe te voegen aan de audiogroep, zodat deze toestemming heeft om geluid af te spelen door de volgende opdracht in te voeren:

usermod -a -G audio beweging

Beweging voor detectie configureren

We zullen het bewegingsconfiguratiebestand bewerken om het geluidsbestand af te spelen dat we hebben gedownload in de stap Audio instellen wanneer het beweging op de camera detecteert en beweging als een service start, zodat het dit blijft doen wanneer de RPI ooit opnieuw wordt opgestart.

Bewerk in een terminal het bestand /etc/motion/motion.conf als supergebruiker

sudo nano /etc/default/motion

Bewerk in een terminal het bestand /etc/motion/motion.conf als supergebruiker

sudo nano /etc/motion/motion.conf

Voer de volgende bewerkingen uit en sla ze op. Veel hiervan zijn standaardinstellingen. Ik denk niet dat de mmal_xxx-vermeldingen in mijn geval enig effect hebben, maar ik laat ze staan voor het geval iemand ze nodig heeft - ze doen ook geen kwaad. Deze configuratie detecteert beweging op de camera met intervallen van 40 seconden, neemt geen beelden of video op en stelt een webserver en streamingserver in voor de camera die wordt beschermd met basisverificatie met behulp van een gebruikersnaam en wachtwoord.

daemon aan

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 input -1 norm 0 frequency 0 power_line_frequency -1 roteren 0 flip_axis geen breedte 320 hoogte 240 framerate 2 minimum_frame_time 0 netcam_keepalive uit netcam_tolerant_check off rtsp_uses_tcp aan mmalcam_name vc.ril.camera auto_brightness uit helderheid 0 contrast 0 verzadiging 0 tint 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter uit drempel 500 threshold_tune uit noise_level 22 noise_tune aan despeckle_filter EedDl smart_mask_speed_gapture_gebeurtenis_mask_speed_lightswitch 0 minimum_vies_captime output_pictures uit output_debug_pictures uit kwaliteit 75 picture_type jpeg ffmpeg_output_movies uit ffmpeg_output_debug_movies uit ffmpeg_bps 400000 ffmpeg_variable_bitrate 0 ffmpeg_video_codec mp4 ffmpeg_duplicate_frames 0 true lapse timelapse_mode_intervals apshot_interval 0 lokatie_motion_mode uit lokatie_motion_style box text_right %Y-%m-%d\n%T-%q text_changes off text_event %Y%m%d%H%M%S text_double uit target_dir /var/lib/motion snapshot_filename %v- %Y%m%d%H%M%S-momentopname fotobestandsnaam %v-%Y%m%d%H%M%S-%q filmbestandsnaam %v-%Y%m%d%H%M%S timelapse_bestandsnaam %Y%m%d-timelapse ipv6_enabled uit stream_port 8481 stream_quality 80 stream_motion uit stream_maxrate 1 stream_localhost uit stream_limit 0 stream_auth_method 1 stream_authentication: webcontrol_port 8480 webcontrol_localhost uit webcontrol_html_output op webcontrol_html_output op webcontrol_authentication track_speed track_authentication track_speed track_typeio track_speed track_typeio stil op on_event_start /usr/bin/play -q --multi-threaded /var/lib/motion/notify`shuf -i 1-5 -n 1`.mp3 2>/dev/null

Kopieer het audiobestand naar het geluidsbestand naar de motion home-directory en wijzig de machtigingen erop zodat motion het bezit, maar iedereen kan het lezen

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

Start het RPI-apparaat opnieuw op. Eenmaal opgestart, run

sudo systemctl status motion.service

De uitvoer moet een regel bevatten die zegt:

Actief: actief (actief) sinds

Als je ziet dat deze beweging loopt. Als dit niet het geval is, bekijk dan /var/log/motion voor details. Probeer te rennen:

sudo systemctl start motion.service

Bewegingsdetectie en geluid afspelen testen

Bijna klaar. U hoeft alleen maar te controleren of er beweging wordt gedetecteerd en of het geluid wordt afgespeeld wanneer dit het geval is.

Doe het volgende in een terminal om de toegevoegde tekst aan het logbestand te bekijken:

staart -f /var/log/motion

Nutsvoorzieningen:

  • Zwaai langzaam iets voor de camera
  • Het logbestand moet weergeven dat er beweging is gedetecteerd
  • Hopelijk speelt het geluidsbestand door de luidspreker
  • Zo ja, plaats de RIP in een venster met de cameralens gericht op de plaats waar de beweging moet worden gedetecteerd
  • Plaats de buitenspeaker in of bij de decoratie
  • Als mensen langslopen, worden ze begroet

Probleemoplossen

Als dingen niet werken

  • Controleer nogmaals of de camera werkt door het volgende uit te voeren:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • Controleer nogmaals of de audio werkt door uit te voeren

    • speel /var/lib/motion/mtn_dtct_ntfy.mp3
    • als u het geluidsbestand niet hoort

      • controleer of het uitvoerapparaat uw luidsprekeropstelling is (analoog of USB)
      • controleer het volume
      • controleer of de machtigingen op het geluidsbestand 3 'r's hebben in de machtigingenreeks (d.w.z. rw*rw*rw*)
  • Als al het andere faalt, is beweging mogelijk niet correct ingesteld

    als dit het geval is, zouden sommige online zoekopdrachten moeten helpen, want er is veel hulp

Stap 5: Aanvullende opmerkingen

Aanvullende opmerkingen
Aanvullende opmerkingen

Speel willekeurige geluidsbestanden af

Verveeld raken met steeds hetzelfde geluid, mix het maar!

  • Sla meerdere verschillende geluidsbestanden op met dezelfde naam maar een opeenvolgend numeriek achtervoegsel:

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

  • Wijzig het item /etc/motion/motion.conf on_event_start als volgt:

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

  • Sluit af en sla het bestand op
  • Start de bewegingsservice opnieuw

    sudo systemctl herstart motion.service

  • Het `shuf -i 1-5 -n 1` (dat zijn achterste tikken) voegt een willekeurig getal van 1 tot 5 toe aan de bestandsnaam die wordt afgespeeld
  • Dus wanneer er beweging wordt gedetecteerd, wordt een van de 5 geluidsbestanden afgespeeld

Spreken in plaats van spelen

Een andere leuke draai is om een tekst-naar-spraak-functie in te stellen en de computer een zin te laten uitspreken tegen voorbijgangers. Ik gebruik de MaryTTS graag als motor. Stel de Mary TTS-server in en start deze en wijzig de on_event_start-regel hierboven vermeld om iets te zeggen naar de trouwtts-server (d.w.z. marytts/bin/marytts-submit-text "Hallo vriend")

IP-netwerkcamera's gebruiken (draadloos of anderszins)

Het bewegingsprogramma kan eenvoudig netwerk-IP-camera's ondersteunen met behulp van de netcam_url en andere verschillende netcam_xxx-instellingen. Een eenvoudige online zoekopdracht zou moeten bieden wat nodig is.

Bluetooth

Als uw RPI Bluetooth heeft ingebouwd of als u een USB Bluetooth-apparaat hebt geïnstalleerd, kunt u de luidspreker via Bluetooth aansluiten en de draad verwijderen.

Bewegingsopname beperken tot een kleiner gebied

Een van de problemen die ik met deze opstelling had, was het blazen van struiken en bomen, evenals autolichten die de beweging te gemakkelijk activeerden. Het bewegingsprogramma heeft instellingen voor het aantal frames dat moet worden gewijzigd voordat beweging wordt geactiveerd en om rekening te houden met ruis en deze te gebruiken. Ik heb het nog niet geprobeerd, maar ik denk dat ik instellingen nodig heb waarmee ook een specifiek gebied van het camerabeeld kan worden gedefinieerd voor de bewegingsdetectie. Dit zou het mogelijk moeten maken om een gebied vlak bij de decoratie te definiëren om het afspelen van het geluidsbestand te activeren.

Aanbevolen: