Mục lục:
- Quân nhu
- Bước 1: Thiết lập RPI của bạn
- Bước 2: Gắn Camera vào RPI
- Bước 3: Thiết lập và kiểm tra âm thanh
- Bước 4: Thiết lập tính năng phát hiện chuyển động để phát tệp âm thanh
- Bước 5: Nhận xét bổ sung
Video: Talking Santa Blowmold: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-31 10:26
Dự án này giải thích cách trang trí phát tệp âm thanh khi có người đi ngang qua. Điều này có thể dễ dàng thực hiện với một máy tính có thể chạy chương trình Chuyển động và một loại máy ảnh nào đó. Trong trường hợp này, tôi đã sử dụng một chiếc máy thổi phồng hình ông già Noel cao 20 . Tôi thiết lập Raspeberry PI của mình với mô-đun camera trong cửa sổ nhà để xe của tôi và hướng nó về phía cây thổi phồng ông già Noel. Tôi giấu một chiếc loa ngoài trời được cấp nguồn bên trong máy thổi và tôi chạy một dây aux 25ft được xếp hạng để sử dụng ngoài trời từ PI đến loa này. Tôi đã thiết lập chương trình Chuyển động trên Pi để phát tệp âm thanh ông già Noel kêu Ho Ho Ho bất cứ khi nào nó phát hiện chuyển động bằng máy ảnh. Cách thực hiện khá đơn giản và rất thú vị.
Để mua các vật liệu cụ thể mà tôi đã sử dụng ở đây có lẽ sẽ tốn khoảng 100 đô la với phí vận chuyển. Tôi sẽ không bỏ ra số tiền đó để làm ra thứ này nếu tôi không có tất cả những vật liệu này nằm xung quanh không sử dụng. Điều này có thể hoạt động với bất kỳ máy tính nào, bất kỳ máy ảnh nào và bất kỳ loa nào vì vậy nó có thể được thực hiện rẻ hơn nhiều nếu cần mua những thứ này.
Quân nhu
-
Máy tính đã cài đặt chương trình Chuyển động
Tôi đã sử dụng Raspberry PI (RPI) 3 Model B
-
Máy tính gắn máy ảnh hoặc máy ảnh mạng
- Bất kỳ máy ảnh nào mà chương trình Chuyển động có thể sử dụng
- Máy ảnh USB
- Máy ảnh mạng
- Tôi đã sử dụng Mô-đun máy ảnh này gắn trực tiếp vào RPI
-
Một loa được xếp hạng ngoài trời
- Kết nối qua cổng aux
- USB
- Tôi đã sử dụng Sony SRS-XB01 này
-
Một món đồ trang trí chẳng hạn như blowmold, bất cứ thứ gì thực sự
Tôi đã sử dụng một cái thổi kèn của ông già Noel rất giống với cái này
Bước 1: Thiết lập RPI của bạn
Bước này chủ yếu dành cho người mới bắt đầu. Video này giải thích cách thiết lập Raspberry PI (RPI) tốt hơn tôi có thể. Như trong video, tôi cũng khuyên bạn nên kết nối USB không dây, bàn phím + chuột và màn hình bên ngoài để thiết lập. Sau khi thiết lập, tôi chạy trong nhà để xe của mình mà không cần bàn phím + chuột và màn hình ngoài, nhưng tôi để trong dongle WIFi để tôi có thể vào đó và khởi động lại và / hoặc thực hiện các thay đổi.
Bước 2: Gắn Camera vào RPI
Làm theo hướng dẫn để thiết lập máy ảnh cho RPI của bạn. Tôi đã sử dụng mô-đun Máy ảnh từ Adafruit Industries.
- Cắm và cố định cáp ruy-băng từ mô-đun Máy ảnh vào cổng máy ảnh giữa cổng Ethernet và cổng HDMI với các điểm tiếp xúc cúi đối diện với cổng HDMI và băng màu xanh lam đối diện với cổng Ethernet.
-
Nếu bạn có gắn màn hình và đang chạy giao diện người dùng (Xserver), hãy chạy công cụ Cấu hình Raspberry Pi
Nếu SSH từ xa vào rpi từ một máy tính khác, hãy chạy rasp-config trong thiết bị đầu cuối của bạn - thao tác này sẽ bắt đầu giao diện người dùng đầu cuối
- Trong Cấu hình Raspberry, dưới tab Giao diện, hãy bật Máy ảnh.
- Lưu và khởi động lại RPI.
- Khi khởi động lại, hãy chạy lệnh dưới đây trong một thiết bị đầu cuối, cả hai lệnh được phát hiện và kích hoạt sẽ trả về là = 1
vgencmode get_camera
Mô-đun Máy ảnh PI của bạn sẽ hoạt động ngay bây giờ
Hướng dẫn Trực tuyến
Bước 3: Thiết lập và kiểm tra âm thanh
Ban đầu cho dự án này, tôi chỉ chạy một dây aux từ PI đến một loa nhỏ chạy bằng pin. Điều đó đã xảy ra để có rất nhiều tĩnh và pin nhanh chóng cạn kiệt. Thay vào đó, tôi cắm thiết bị USB khuếch đại âm thanh và tôi chạy dây aux từ cổng ra aux trên thiết bị đó đến một loa ngoài trời chịu thời tiết được cấp nguồn. Điều này đã loại bỏ tĩnh điện và to hơn và không cần lo lắng về pin. Thiết bị USB được RPI của tôi tự động nhận dạng mà không cần cài đặt trình điều khiển.
PI OS đi kèm với một chương trình gọi là aplay, nhưng tôi thích chương trình chơi của bản phân phối phần mềm Sox hơn, vì vậy các hướng dẫn này cài đặt Sox và sử dụng lệnh chơi của nó.
Cài đặt Sox
Trong một thiết bị đầu cuối trên RPI, hãy chạy câu trả lời có sau đây cho bất kỳ lời nhắc nào
sudo apt-get install sox
Kiểm tra âm thanh
Tải xuống tệp âm thanh tương thích có kích thước nhỏ và lưu trên máy tính của bạn. Tôi đã sử dụng santaho3.mp3 được lưu vào thư mục chính pi của mình. Để kiểm tra âm thanh, hãy kết nối loa của bạn với RPI và chạy lệnh sau:
chơi santaho3.mp3
- Nếu bạn nghe thấy tệp âm thanh đang phát trong loa thì âm thanh của bạn đang hoạt động
-
Bạn có thể phải thay đổi nội bộ âm thanh từ HDMI sang Analog.
Hướng dẫn tại đây
-
Nếu sử dụng thiết bị âm thanh USB, hãy tạo một tệp trong thư mục chính của bạn có tên.asoundrc
- Đặt nội dung bên dưới vào đó và khởi động lại, bắt đầu kiểm tra âm thanh
-
pcm.! default {
gõ thẻ hw 1} ctl.! default {gõ thẻ hw 1}
Bước 4: Thiết lập tính năng phát hiện chuyển động để phát tệp âm thanh
Phần mềm có tên Motion cho phép một hoặc nhiều camera được thiết lập nhằm mục đích chạy lệnh khi phát hiện chuyển động trong (các) chế độ xem camera. Nó khá dễ cài đặt và hoạt động khá tốt. Nó cũng có thể ghi lại các tệp khi phát hiện chuyển động, cho phép định cấu hình một trang web cho từng camera hoặc một trang web duy nhất cho tất cả các camera và máy chủ phát trực tuyến để xem các luồng trực tiếp của các camera. Dự án này chỉ cần khả năng phát hiện và kích hoạt lệnh, nhưng tôi đã thiết lập một máy chủ phát trực tuyến để có thể xem một luồng trực tiếp.
Cài đặt chuyển động
Trong một thiết bị đầu cuối trên RPI, hãy chạy lệnh dưới đây để trả lời có cho bất kỳ lời nhắc nào, đợi nó kết thúc
sudo apt-get install chuyển động
Hãy dành thời gian ngay bây giờ để thêm người dùng chuyển động mới được thêm vào nhóm âm thanh để nó có quyền phát âm thanh bằng cách nhập lệnh sau
chuyển động âm thanh usermod -a -G
Định cấu hình chuyển động để phát hiện
Chúng tôi sẽ chỉnh sửa tệp cấu hình chuyển động để phát tệp âm thanh mà chúng tôi đã tải xuống trong bước Thiết lập âm thanh khi nó phát hiện chuyển động trên máy ảnh và bắt đầu chuyển động như một dịch vụ để nó tiếp tục làm như vậy khi khởi động lại RPI.
Trong một thiết bị đầu cuối, hãy chỉnh sửa tệp /etc/motion/motion.conf dưới dạng siêu người dùng
sudo nano / etc / default / motion
Trong một thiết bị đầu cuối, hãy chỉnh sửa tệp /etc/motion/motion.conf dưới dạng siêu người dùng
sudo nano /etc/motion/motion.conf
Thực hiện và lưu các chỉnh sửa sau. Nhiều trong số này là mặc định. Tôi không nghĩ trong trường hợp của mình, các mục mmal_xxx có bất kỳ tác dụng nào, nhưng tôi để lại chúng trong trường hợp ai đó cần chúng - chúng cũng không gây hại gì. Cấu hình này phát hiện chuyển động trên máy ảnh trong khoảng thời gian 40 giây, không ghi lại hình ảnh hoặc video và thiết lập máy chủ web và máy chủ phát trực tuyến cho máy ảnh được bảo vệ bằng xác thực cơ bản bằng tên người dùng và mật khẩu.
daemon trên
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 standard 0 frequency 0 power_line_frequency -1 xoay 0 flip_axis không có chiều rộng 320 chiều cao 240 khung hình 2 tối thiểu_frame_time 0 netcam_keepalive tắt netcheck_tolerant rtsp_uses_tcp trên mmalcam_name vc.ril.camera auto_brightness off the light 0 tương phản 0 saturation 0 hue 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter off ngưỡng 500 ngưỡng_tune tắt noise_level 22 noise_tune trên deseckle_filter EedDl smart_mask_speed 1 event_motioncapturemes tối thiểu 1 postwitchwitch 0 lightswitch 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 ffmpelapse_pivalmes true timleapse 30 timelapse_fraapse apshot_interval 0 Tắt định vị_mạch định vị_mã hộp text_right% Y-% m-% d / n% T-% q text_changes giảm 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-snapshot picture_filename% 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 tắt stream_port 8481 stream_quality 80 stream_motion tắt stream_maxrate 1 stream_localhost tắt stream_limit 0 stream_auth_method 1 stream_authentication: webcontrol_port 8480 webcontrol_localhost tắt webcontrol_html_output trên webcontrol_authentication: track_type 0 track_auto tắt track_iomojo_id 0 track_step_angle_x 10 track_step_angle_y 10 track_move_wait 10 track_speed 255 track_stepsize 40 yên lặng trên on_event_start / usr / bin / play -q --multi-threaded / var / lib / motion / notification`shuf -i 1-5 -n 1`.mp3 2> / dev / null
Sao chép tệp âm thanh vào tệp âm thanh vào thư mục chính của chuyển động và thay đổi quyền đối với tệp đó để chuyển động sở hữu nó nhưng tất cả đều có thể đọc được
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
Khởi động lại thiết bị RPI. Sau khi khởi động, hãy chạy
sudo systemctl status motion.service
Đầu ra phải bao gồm một dòng cho biết:
Active: hoạt động (đang chạy) kể từ
Nếu bạn thấy chuyển động này đang chạy. Nếu không, hãy kiểm tra / var / log / motion để biết thêm chi tiết. Thử chạy:
sudo systemctl start motion.service
Kiểm tra tính năng phát hiện chuyển động và phát âm thanh
Sắp xong. Chỉ cần kiểm tra xem chuyển động có được phát hiện và âm thanh phát khi có.
Trong một thiết bị đầu cuối, hãy làm như sau để xem văn bản được nối vào tệp nhật ký
tail -f / var / log / motion
Bây giờ:
- Từ từ vẫy cái gì đó trước máy ảnh
- Tệp nhật ký sẽ xuất ra rằng chuyển động đã được phát hiện
- Hy vọng rằng tệp âm thanh phát qua loa
- Nếu vậy, hãy đặt RIP trong cửa sổ với ống kính máy ảnh hướng về nơi phát hiện chuyển động
- Đặt loa ngoài trời trong hoặc gần trang trí
- Khi mọi người đi ngang qua họ sẽ được chào đón
Xử lý sự cố
Nếu mọi thứ không hoạt động
-
Kiểm tra kỹ máy ảnh đang hoạt động bằng cách thực hiện:
- raspistill -o test.jpg
- ls -l test-j.webp" />
-
Kiểm tra kỹ âm thanh đang hoạt động bằng cách thực thi
- play / var / lib / motion / mtn_dtct_ntfy.mp3
-
nếu không nghe thấy tệp âm thanh
- kiểm tra xem thiết bị đầu ra có phải là thiết lập loa của bạn không (analog hoặc USB)
- kiểm tra âm lượng
- kiểm tra các quyền trên tệp âm thanh có 3 'r trong chuỗi quyền (tức là rw * rw * rw *)
-
Nếu vẫn thất bại thì có thể chuyển động không được thiết lập chính xác
nếu đây là trường hợp, một số tìm kiếm trực tuyến sẽ hữu ích vì có rất nhiều sự trợ giúp
Bước 5: Nhận xét bổ sung
Phát các tệp âm thanh ngẫu nhiên
Phát chán với cùng một âm thanh phát đi phát lại, hãy trộn nó lại!
-
Lưu một số tệp âm thanh khác nhau có cùng tên nhưng có hậu tố số liên tiếp:
soundFile1.mp3, soundFile2.mp3, soundFile3.mp3, soundFile4.mp3, soundFile5.mp3,
-
Thay đổi mục /etc/motion/motion.conf on_event_start như sau
on_event_start play -q - multi-threaded soundFile`shuf -i 1-5 -n 1`.mp3 2> / dev / null
- Thoát và lưu tệp
-
Khởi động lại dịch vụ chuyển động
sudo systemctl khởi động lại motion.service
- Phần `shuf -i 1-5 -n 1` (đó là những dấu tích trở lại) chèn một số ngẫu nhiên từ 1 đến 5 vào tên tệp đang được phát
- Vì vậy, bây giờ khi chuyển động được phát hiện, bất kỳ một trong 5 tệp âm thanh sẽ phát
Nói thay vì Chơi
Một điều thú vị khác là thiết lập Text-to-Speech và yêu cầu máy tính nói một câu cho những người đi ngang qua. Tôi thích sử dụng MaryTTS làm động cơ. Thiết lập và khởi động máy chủ Mary TTS và thay đổi dòng on_event_start được đề cập ở trên để gửi điều gì đó muốn nói với máy chủ kết hôn tts (tức là marytts / bin / marytts-submit-text "Xin chào bạn")
Sử dụng Camera nối mạng IP (Không dây hoặc cách khác)
Chương trình chuyển động có thể dễ dàng hỗ trợ các camera IP được nối mạng bằng cách sử dụng netcam_url và các cài đặt netcam_xxx khác nhau. Một tìm kiếm trực tuyến đơn giản sẽ cung cấp những gì cần thiết.
Bluetooth
Nếu RPI của bạn có tích hợp Bluetooth hoặc bạn đã cài đặt thiết bị Bluetooth USB thì bạn có thể kết nối loa qua Bluetooth và loại bỏ dây.
Giới hạn Chụp chuyển động ở Khu vực nhỏ hơn
Một trong những vấn đề tôi gặp phải với thiết lập này là thổi bụi và cây cối cũng như đèn xe đều kích hoạt chuyển động quá dễ dàng. Chương trình chuyển động có các cài đặt về số lượng khung hình cần thay đổi trước khi chuyển động được kích hoạt và tính toán tiếng ồn và sử dụng các cài đặt này. Tôi chưa thử, nhưng tôi nghĩ tôi sẽ cần các cài đặt cũng cho phép xác định một khu vực cụ thể của chế độ xem camera để phát hiện chuyển động. Điều này sẽ cho phép xác định một khu vực ngay gần trang trí để kích hoạt việc phát tệp âm thanh.
Đề xuất:
Arduino trở thành Talking Tom: 6 bước
Arduino Becomes Talking Tom: Một trong những kỷ niệm lâu đời nhất của tôi khi sử dụng điện thoại thông minh là chơi trò chơi 'Talking Tom'. Trò chơi khá đơn giản. Có một con mèo, tên là Tom, có thể nói chuyện, đại loại như vậy. Trong trò chơi, Tom sẽ lắng nghe bất kỳ đầu vào nào thông qua micrô của điện thoại và sau đó lặp lại
Mô-đun Arduino PCB của Santa Claus: 5 bước
Mô-đun Arduino PCB của Santa Claus: Giáng sinh đã đến và Phòng thí nghiệm Silícios rất vui được cung cấp những điều tốt nhất cho bạn. Giáng sinh năm 2019 này, chúng tôi sẽ cung cấp mô-đun Santa Claus cho Arduino. Thông qua mô-đun này, bạn sẽ có thể điều khiển tay, mắt và nắp ca-pô của ông già Noel. Ngoài ra, bạn c
Xe trượt tuyết RC Santa: 10 bước (có hình ảnh)
RC Santa Sleigh: Xin chào tất cả. Hôm nay tôi sẽ hướng dẫn các bạn cách làm một tấm ván xốp RC Santa Sleigh. một lúc. Tôi đã có một ngày rảnh rỗi, và bởi vì đó là thời gian Giáng sinh nên tôi
Ted the Talking Toaster: 6 bước (có hình ảnh)
Ted the Talking Toaster: Các cuộc trò chuyện với một chiếc máy nướng bánh mì luôn diễn ra rất phiến diện. Cho đến bây giờ, hãy gặp Ted the Talking Toaster! Dưới đây là tổng quan về nội dung: Project video Toaster Electronics Chat / Voice bot Remo.tv Sự thống trị thế giới
Arduino Text to Speech Converter sử dụng LM386 - Talking Arduino Project - Thư viện Talkie Arduino: 5 bước
Arduino Text to Speech Converter sử dụng LM386 | Talking Arduino Project | Thư viện Talkie Arduino: Xin chào các bạn, trong nhiều dự án, chúng tôi yêu cầu arduino nói một cái gì đó như đồng hồ nói hoặc nói một số dữ liệu