"Đi học thoai": Phần 3 - Time-lapse cuối ngày xem lại những gì đã xảy ra trong ngày

Mô tả dự án: 

Bài này tui hướng dẫn các bạn chụp hình lại bằng Raspberry Pi rồi ghép chúng lại với nhau thành 1 file .gif. Sẽ rất là vui đó.

Nguyên lý

Chúng ta dùng hàm sleep() của Python ra lệnh cho Raspberry Pi chụp hình lại mỗi 60 giây và gộp chúng lại thành 1 file với dạng .gif

Chuẩn bị

Đơn giản tới mức không thể đơn giản hơn:

Trên Raspberry Pi

Tải package ImageMagick để chuyển định dạng sang .gif:

sudo apt-get update
sudo apt-get install imagemagick -y

Chép đoạn code sau và lưu lại với tên di_hoc_thoi_3.py:

from picamera import PiCamera
from os import system
from time import sleep

camera = PiCamera()
camera.resolution = (1024, 768)

for i in range(60*10):
    camera.capture('image{0:04d}.jpg'.format(i))
    sleep(60)

system('convert -delay 10 -loop 0 image*.jpg animation.gif')

Lưu code lại. Mở terminal trong thư mục bạn lưu file python và nhập lệnh:

python di_hoc_thoi_3.py

Lưu ý

  • Code trên sẽ chạy trong 10 tiếng đồng hồ. Bạn có thể sửa lại số giờ trong phần for() loop nha
  • Bạn có thể tham khảo thêm các hiệu ứng như chống rung, quay ngoài trời, etc trong trang https://www.raspberrypi.org/documentation/raspbian/applications/camera.md

Nâng cao

  • Bạn đã thấy module time của Python lợi hại thế nào rồi đó. Với module này, bạn có thể chỉnh sửa chế độ chụp, tần số chụp, etc theo thời điểm trong ngày.
  • Đếm số người trong nhà với MAC address theo như bài http://arduino.vn/bai-viet/981-di-hoc-dzia-kiem-tra-nguoi-dung-co-dang-o-nha-hay-khong và tăng tần số chụp hình lên (sleep ngắn lại). 

Đây là phần tui dịch lại từ trang https://www.raspberrypi.org/learning/timelapse-setup/worksheet/

lên
17 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Shortcut02 - Điều khiển Servo từ xa thông qua biến trở

Đây là loạt bài vắn tắt chia sẻ kinh nghiệm giúp các bạn có thể sử dụng các mudule cũng như tiếp cận code một cách ngắn gọn và dễ hiểu hơn smiley

Mục đích bài viết: Hướng dẫn điều khiển một Servo trong các dự án robot từ xa thông qua module NRF24 bằng biến trở cool

lên
14 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Raspberry Pi Thiên Lý Nhãn (Phần 3): Khóa thông minh nhận dạng khuôn mặt với Raspberry Pi và OpenCV

Trong bài trước tui đã giới thiệu về việc nhận diện khuôn mặt với Raspberry Pi và webcam. Tuy nhiên bài chỉ dừng lại ở việc Raspberry Pi có thể nhận diện được khuôn mặt của bất kỳ ai đứng trước webcam mà thôi. Bài toán đặt ra là làm thế nào để Raspberry Pi nhận được khuôn mặt của chính bạn? Đây là một bài toán khó và thú vị. Khó là vì chúng ta cần thuật toán và khả năng xử lí hình ảnh mạnh. Thú vị là do ta có thể "chế cháo" kết hợp với các hệ thống bảo mật khác như vân tay, mật khẩu để tăng tính an ninh cho đề án của bạn. Vì độ phức tạp của đề án này nên tui sẽ chia ra làm 2 phần.

  • Phần đầu tiên là "phần mềm": chúng ta sẽ ghi lại khoảng 200 tấm hình webcam với khuôn mặt của bạn và huấn luyện máy tính với thuật toán chính diện (eigenfaces) của OpenCV. Do tài nguyên của Pi hạn hẹp nên bạn cần chạy phần này trên máy tính của mình. 
  • Phần tiếp theo là "phần cứng": ta nối Pi với relay và cho webcam chụp ảnh. Nếu Pi nhận diện được chính khuôn mặt của bạn thì sẽ kích relay.

Lưu ý là các bạn phải tải OpenCV về trên cả Pi và máy tính. Các bạn vào đây để download code và các tập tin cần thiết nữa: https://github.com/johnkimdinh/Facial-recognition-Raspberry-Pi-OpenCV

lên
3 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

Trí thông mình nhân tạo với Watson IBM và Raspberry Pi (Phần 2): Nhận dạng khuôn mặt, giới tính và tuổi

Bài trước tui đã hướng dẫn các bạn làm quen với Watson IBM trên Raspberry Pi. Bây giờ chúng ta sẽ quay trở lại với bài toán nhận diện khuôn mặt. Trong bài khóa "thông minh" với OpenCV, dữ liệu nhận dạng khuôn mặt được đưa ra bởi một thuật toán "tĩnh" OpenCV trên laptop của các bạn và sau đó kết quả được chép thủ công vào Raspberry Pi. Raspberry chỉ việc dựa vào kết quả training và đưa ra kết quả nhận diện khuôn mặt. Đây chưa phải là giải pháp tối ưu vì giả sử bạn muốn thay đổi thuật toán mới hoặc train cho tốt hơn thì không thể thực hiện trên Pi được. Thay vậy, bạn có thể dùng dịch vụ cloud của Watson cho việc training và chỉ việc up hình lên để Watson nhận diện. Kết quả sẽ được trả về qua json với lượng thông tin phong phú hơn nhiều. 

lên
7 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: