Mục lục:
- Quân nhu
- Bước 1: Bước 1: Chặt đầu
- Bước 2: Bước 2: Thêm thông minh
- Bước 3: Bước 3: Làm đầy cô ấy
- Bước 4: Bước 4: Thiết lập Pi
- Bước 5: Bước 5: Di chuyển đầu
- Bước 6: Bước 6: Hoàn thiện
- Bước 7: Bước 7: Phát trực tuyến video từ Pi
- Bước 8: Bước 8: Phát hiện cơ thể
- Bước 9: Bước 9: Gửi thông báo Zombie
- Bước 10: Thật đáng tiếc
Video: Phát hiện Zombie Cú an ninh thông minh (Học sâu): 10 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Xin chào tất cả các bạn, chào mừng đến với T3chFlicks! Trong hướng dẫn Halloween này, chúng tôi sẽ chỉ cho bạn cách chúng tôi đưa một bước ngoặt siêu ma quái vào một tác phẩm kinh điển gia dụng bình thường: camera an ninh.
Thế nào?! Chúng tôi đã tạo ra một con cú tầm nhìn ban đêm sử dụng xử lý hình ảnh để theo dõi mọi người. Ồ, và nó rất hay, giống như thật!
Chúng tôi vô cùng hào hứng với dự án này và chúng tôi đã chờ đợi để thực hiện nó kể từ khi Raspberry Pi 4 mới bị loại bỏ. Nó có RAM 4GB, mở ra cánh cửa cho vô số khả năng thực sự thú vị, bao gồm thực hiện một số xử lý hình ảnh với các mô hình học sâu trong thời gian thực.
Nếu bạn muốn theo dõi những thây ma tiếp cận vào dịp Halloween, hoặc chỉ cần kiểm tra khu vườn của bạn trong thời gian còn lại của năm, đây là một trong những dành cho bạn. Bảo mật không cần phải nhàm chán để trở nên hiệu quả!
Quân nhu
Đối với bản dựng này, bạn sẽ cần:
- Raspberry Pi 4 (4GB Ram) Amazon
- Máy ảnh tầm nhìn ban đêm Amazon
- Micro Servo Amazon
- Cú giả Amazon
- Keo Amazon
- Sơn Amazon
- Vít Amazon
- Loa USB Amazon
- Bộ nguồn di động lớn (5v +) Amazon
- Máy in 3D Amazon
Bước 1: Bước 1: Chặt đầu
Một. Kéo đầu cú ra khỏi đầu con cú (đôi khi bạn chỉ cần phải thô bạo) bằng cách kéo mạnh đầu của nó ở nơi nó gắn vào lò xo.
NS. Đầu của con cú kết nối với cơ thể bằng một hình trụ nằm trên đầu một lò xo lớn. Tháo xi lanh này bằng cách lấy vít ra.
NS. Hình trụ bạn vừa lấy ra được làm bằng hai phần, một cốc nhựa và một ổ trục nằm bên trong nó. Tháo ổ trục ra khỏi xi lanh bằng tuốc nơ vít (hoặc dụng cụ tương tự).
NS. Sử dụng vít kết nối xi lanh với lò xo, gắn servo vào xi lanh.
e. Tháo lò xo bằng cách tháo ba vít đang cố định nó vào thân.
NS. Tạo một lỗ trên đầu của thân cú đủ lớn để lắp một số dây và cáp máy ảnh. Chúng tôi đã sử dụng sự kết hợp không hợp lý giữa máy khoan và tuốc nơ vít để làm điều này.
Bước 2: Bước 2: Thêm thông minh
Một. In 3D vỏ máy ảnh và sơn nó để phù hợp với con cú - chúng tôi đã sử dụng một số loại sơn acrylic rẻ tiền. Vẽ tranh không phải là một bước quan trọng, nhưng nó giúp cải thiện đáng kể diện mạo tổng thể!
NS. Với đầu của con cú lộn ngược, hãy vặn đỉnh của hộp máy ảnh vào bên trong đầu của nó, nơi mỏ của nó nhô ra.
NS. Đặt máy ảnh vào hộp và kết nối cáp máy ảnh.
NS. Dán servo vào bảng điều khiển trên cùng của lò xo.
e. Kết nối dây dài với chân servo (5V, Gnd, tín hiệu)
NS. Đưa cáp máy ảnh và dây dẫn cho servo qua lò xo và qua lỗ bạn đã tạo ở trên cùng của thân để chúng nằm bên trong phần thân rỗng của con cú.
Bước 3: Bước 3: Làm đầy cô ấy
Một. Tháo phích cắm ở dưới cùng của con cú và tăng kích thước của lỗ này bằng cách cắt nhựa. Tiếp tục tăng kích thước cho đến khi Raspberry Pi và loa có thể vừa với thân của con cú.
NS. Khi lỗ đủ lớn để tất cả các thành phần có thể nằm gọn bên trong, hãy kéo cáp máy ảnh mà bạn đã cấp qua đầu con cú ra khỏi đế và cắm nó vào Raspberry Pi.
NS. Tương tự, kéo dây servo qua và cắm chúng vào Raspberry Pi:
- + 5v trên servo => + 5V trên Pi
- Gnd servo => gnd Pi
- Tín hiệu servo => chân 12 Pi
NS. Cắm loa USB vào Pi.
e. Gắn thẻ SD vào Pi.
NS. Power Pi sử dụng nguồn điện di động.
NS. Cắm Pi, bộ nguồn và loa vào cú qua lỗ trên đế.
Bước 4: Bước 4: Thiết lập Pi
TẤT CẢ MÃ CÓ THỂ ĐƯỢC TÌM HIỂU TẠI
Một. Tải xuống Raspian và tải nó lên thẻ SD của bạn bằng Balena Etcher.
NS. Để truy cập số pi của bạn từ xa
- Thêm một tệp có tên ssh vào thẻ sd khởi động của bạn
-
Thêm một tệp có tên wpa_supplicant.conf và nhập thông tin đăng nhập wifi của bạn vào
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1
mạng = {ssid = "MySSID" psk = "MyPassword"}
NS. Cắm thẻ SD vào pi và thử truy cập qua ssh.
Bước 5: Bước 5: Di chuyển đầu
Hướng dẫn mã để di chuyển đầu (điều khiển servo bằng mâm xôi pi)
Để điều khiển một servo chạy trên Pi, chúng ta sẽ tạo tập lệnh điều khiển các chân GPIO mà servo được kết nối với.
Một. Kết nối servo với Pi:
- + 5v trên servo => + 5V trên Pi
- Gnd servo => gnd trên Pi
- Tín hiệu servo => chân 12 trên Pi
NS. Trước tiên, bạn phải thiết lập các chân gpio để sử dụng PWM trên chân tín hiệu của servo.
NS. Sau đó, chỉ cần chọn chu kỳ làm việc (giải thích ở đây) của chân tín hiệu để di chuyển servo từ 90 độ với chu kỳ làm việc 7,5 đến 0 độ khi chu kỳ làm việc là 2,5 và đến 180 độ với chu kỳ làm việc là 12,5
nhập RPi. GPIO dưới dạng GPIO
thời gian nhập GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (Sai) GPIO.setup (12, GPIO. OUT) p = GPIO. PWM (12, 50) p.start (7.5) try: while True: p. ChangeDutyCycle (7.5) # 90 độ time.sleep (1) p. ChangeDutyCycle (2.5) # 0 độ thời gian.sleep (1) p. ChangeDutyCycle (12.5) # 180 độ thời gian.sleep (1) ngoại trừ KeyboardInterrupt: p.stop () GPIO.cleanup ()
Bước 6: Bước 6: Hoàn thiện
Hướng dẫn viết mã để tạo ra cú hoot (phát âm thanh với pi raspberry)
Một. Cắm loa USB.
NS. Tải xuống âm thanh - chúng tôi đã chọn một tiếng kêu ma quái.
NS. Phát âm thanh bằng cách chạy lệnh này: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3
[NS. Nếu cách này không hiệu quả, hãy kiểm tra xem Pi của bạn đang sử dụng đầu ra nào và ở mức âm lượng nào bằng cách sử dụng lệnh alsamixer - bạn sẽ được chào đón với màn hình bộ trộn nơi bạn có thể thay đổi âm lượng và chọn thiết bị phương tiện của mình. Để tăng âm lượng của âm thanh, hãy thực hiện lệnh như sau omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 Để phát âm thanh này bằng Python, hãy xem tập lệnh thử nghiệm của chúng tôi.]
nhập quy trình con
command = "omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500" player = subprocess. Popen (command.split (''), stdin = subprocess. PIPE, stdout = subprocess. PIPE, stderr = subprocess. ĐƯỜNG ỐNG)
Bước 7: Bước 7: Phát trực tuyến video từ Pi
Hướng dẫn viết mã tạo luồng camera raspberry pi
Một. Chạy python app.py và xem trên mạng cục bộ của bạn tại https://raspberrypi.local: 5000
NS. Mã này được lấy và điều chỉnh một chút từ Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video-… anh ấy giải thích một cách độc đáo về cách nó được thực hiện và hướng dẫn của anh ấy rất tuyệt - deffo hãy xem anh ấy! Khái niệm cơ bản là chúng tôi sử dụng phân luồng và bộ tạo để cải thiện tốc độ phát trực tuyến.
Bước 8: Bước 8: Phát hiện cơ thể
Mã phát hiện cơ thể (ImageNetSSD trên luồng video với raspberry pi)
Một. Vì chúng tôi đang sử dụng Raspberry Pi 4, chúng tôi nghĩ tốt nhất là nên thử một số mô hình học sâu trên nó thay vì phương pháp HaarCascade cơ bản mà chúng tôi đã giới hạn cho đến nay.
NS. Chúng tôi đã xem xét một số người mẫu được đào tạo trước, như YOLOv3, trông rất tuyệt. Trọng lượng siêu nhỏ của YOLOv3, lẽ ra là vật hoàn hảo cho Pi, nhưng chúng tôi không thể làm cho nó chạy được:(NS. Thay vào đó, chúng tôi đã chọn mô hình MobileSSD mà chúng tôi có thể chạy bằng mô-đun openCVs DNN (deep neural net), như chúng tôi đã học được từ mã này: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 và từ người hùng của hướng dẫn xử lý hình ảnh, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv /
NS. Tuy nhiên, vì chúng tôi đang cố gắng phát trực tuyến nội dung này và chạy các mô hình trên mọi khung hình, điều này dẫn đến video bị phân mảnh, lag. Chúng tôi đã học lại từ Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ và sử dụng mô-đun đa xử lý Python để đưa hình ảnh của chúng tôi vào hàng đợi nơi chúng có thể được xử lý mà không chặn quá nhiều luồng camera.
e. Hãy thử tự chạy mã:)
Bước 9: Bước 9: Gửi thông báo Zombie
Mã để gửi thông báo (python tới điện thoại)
Một. Chúng tôi quyết định sử dụng dịch vụ thông báo
NS. Bạn có thể có một tài khoản miễn phí và tải xuống ứng dụng và thực sự nhanh chóng bắt đầu thiết lập thông báo trên thiết bị di động. Chúng tôi đã tạo các thông báo bằng cách sử dụng tập lệnh python như thế này.
yêu cầu nhập khẩu
payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Cú đã phát hiện ra một thây ma." } r = request.post ("https://api.pushing.co/1/push", data = payload)
Nó cực kỳ đơn giản và bạn có thể tùy chỉnh tên thông báo của mình!
Bước 10: Thật đáng tiếc
Chúng tôi hy vọng bạn thích dự án Smart Security Owl của chúng tôi! Đây là một trò chơi siêu thú vị và tôi cảm thấy an toàn hơn rất nhiều khi biết ngôi nhà của tôi đang được canh gác bởi con cú đáng tin cậy của chúng tôi.
Nếu bạn nghĩ rằng đây sẽ là một sự bổ sung tuyệt vời của Halloween cho ngôi nhà thông minh của mình, hãy bình chọn cho chúng tôi trong cuộc thi Halloween của Người dạy và như thường lệ, hãy nhớ thích, bình luận và đăng ký!
Đăng ký vào danh sách gửi thư của chúng tôi!
Đề xuất:
Đèn LED để bàn thông minh - Chiếu sáng thông minh W / Arduino - Neopixels Workspace: 10 bước (có hình ảnh)
Đèn LED để bàn thông minh | Chiếu sáng thông minh W / Arduino | Neopixels Workspace: Ngày nay chúng ta dành nhiều thời gian ở nhà, học tập và làm việc ảo, vậy tại sao không biến không gian làm việc của chúng ta trở nên tuyệt vời hơn với hệ thống chiếu sáng tùy chỉnh và thông minh dựa trên Arduino và Ws2812b LED. Sau đây tôi chỉ cho bạn cách xây dựng Smart của bạn Đèn LED để bàn
Biến điện thoại thông minh không sử dụng thành màn hình thông minh: 6 bước (có hình ảnh)
Biến điện thoại thông minh không sử dụng thành màn hình thông minh: Hướng dẫn Deze có trong het Engels, voor de Nederlandse versie klik hier Bạn có điện thoại thông minh (cũ) chưa sử dụng? Biến nó thành một màn hình thông minh bằng Google Trang tính và một số bút và giấy, bằng cách làm theo hướng dẫn từng bước dễ dàng này. Khi bạn hoàn thành
Cách tạo hệ thống báo động phát hiện lũ lụt thông minh bằng Raspberry Pi và Particle Argon: 6 bước
Cách tạo hệ thống báo động phát hiện lũ lụt thông minh sử dụng Raspberry Pi và Particle Argon: Có cảm biến lũ tiêu chuẩn là cách tuyệt vời để ngăn chặn thiệt hại lớn cho nhà hoặc nơi làm việc của bạn. bạn có thể mua những thứ thông minh Hệ thống báo động lũ lụt này phát hiện bất kỳ chất lỏng nào và kích hoạt cảnh báo
ESP8266 / ESP-01 Bộ phát hiện rò rỉ thông minh hỗ trợ Arduino: 5 bước (có hình ảnh)
ESP8266 / ESP-01 Arduino Powered SmartThings Leak Detector: Sooooo Nhiều công cụ phát hiện rò rỉ để lựa chọn, cái nào sẽ phù hợp nhất với bạn? Nếu bạn có Samsung SmartThings kiểm soát bất kỳ thiết bị nào trong nhà mình, thì thiết bị này có thể chỉ là một tấm vé! Đây là phiên bản cuối cùng trong loạt phim mà tôi đang xây dựng
Phát minh lại những phát minh miễn phí của bạn cho robot 'Fantastic Plastics Works' để phát sáng: 5 bước
Phát minh lại những sáng tạo miễn phí của bạn cho robot 'Fantastic Plastics Works' để phát sáng: Sử dụng đèn LED có sẵn để làm cho 'robot' bằng nhựa phát sáng và làm phai màu! Cung cấp giới thiệu về hàn cơ bản, mạch điện, đèn LED và chất dẻo