Mục lục:
- Bước 1: Thiết lập số Pi của bạn
- Bước 2: SSHing vào PI của bạn
- Bước 3: Gửi email Địa chỉ IP của bạn khi khởi động
- Bước 4: Cài đặt và thiết lập chuyển động
- Bước 5: Gửi video từ chuyển động khi phát hiện qua email
- Bước 6: Khắc phục sự cố và nguồn
Video: Máy ảnh phát hiện chuyển động Raspberry Pi 3 với nguồn cấp dữ liệu trực tiếp: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Giới thiệu
Trong dự án này, bạn sẽ học cách xây dựng một camera phát hiện chuyển động mà bạn sẽ có thể sử dụng làm bẫy ảnh, theo dõi vật nuôi / em bé, camera an ninh, v.v.
Dự án này được tổ chức thành một số bước:
- Giới thiệu
- Thiết lập số Pi của bạn
- SSHing vào số Pi của bạn
- Gửi email địa chỉ IP của bạn khi khởi động
- Cài đặt và thiết lập Motion
- Gửi video từ Chuyển động khi phát hiện qua email
- Khắc phục sự cố và Nguồn
Những gì bạn cần:
- Một mô hình Raspberry Pi 3 b ~~ $ 35
- Thẻ Micro SD 8gb ~~ $ 10
- USB Webcam ~~ $ 20 (dự án này sử dụng Webcam HD của Logitech c270)
- cáp micro usb ~~ $ 5
- một trong hai:
- gói pin 5 volt có thể sạc lại (pin dự phòng cho điện thoại), điều này làm cho dự án của bạn không dây ~~ $ 20
- hoặc
- bộ chuyển đổi gắn tường usb ~~ $ 5
- Kết nối WiFi
Những gì bạn cần truy cập để thiết lập:
- Một màn hình
- Một con chuột và bàn phím
- Máy tính có khe cắm thẻ SD
- Bộ chuyển đổi thẻ Micro SD sang SD (nên đi kèm với thẻ micro SD của bạn)
Bước 1: Thiết lập số Pi của bạn
Bây giờ hãy thiết lập Pi của bạn
Để bắt đầu, hãy đảm bảo rằng bạn có tất cả các mục cần thiết từ bước cuối cùng. Sau đó, hãy làm theo các bước trên trang web Raspberry Pi về cách cài đặt Raspbian Jessie trên thẻ Microsd của bạn, được tìm thấy tại đây.
Khi bạn đã cài đặt Raspbian trên Pi của mình, đã đến lúc thiết lập một số tính năng cơ bản.
Wifi
Bước đầu tiên để tận dụng tối đa Pi của bạn là kết nối nó với internet. Bạn có thể đã hoàn thành bước này bằng cách tìm biểu tượng WiFi ở góc trên bên phải của màn hình chính của Pi và đăng nhập vào đó hoặc thực hiện điều tương tự trước khi cài đặt Raspbian ở bước cuối cùng. Nếu bạn không thể đăng nhập vào mạng WiFi của mình từ giao diện máy tính để bàn của Pi, bạn có thể làm theo hướng dẫn tại đây để thiết lập WiFi thông qua dòng lệnh.
SSH
Một công cụ rất tiện dụng có sẵn cho bạn khi sử dụng Pi là tùy chọn ra lệnh cho Pi của bạn trong cái được gọi là thiết lập không đầu. Bằng cách sử dụng Secure SHell hoặc SSH, bạn có thể điều khiển Pi của mình từ xa từ máy tính. Với phương pháp này, tất cả những gì bạn cần để chỉnh sửa Pi của mình là nguồn điện để giữ cho nó hoạt động, không cần thêm màn hình và bàn phím!
Bước 2: SSHing vào PI của bạn
SSHing vào Raspberry Pi của bạn rất dễ dàng và rất hữu ích, vì quá trình này cho phép bạn ra lệnh cho Pi của mình từ bất kỳ máy tính nào mà không cần kết nối WiFi.
Để SSH vào số Pi của bạn, bạn cần làm theo 3 bước đơn giản sau.
Trước tiên, bạn cần bật SSH trên Pi của mình. Để thực hiện việc này, hãy mở cửa sổ lệnh trong Pi của bạn và nhập:
sudo raspi-config
Lệnh này cho phép bạn nhập menu cấu hình. từ đó, bạn sẽ muốn sử dụng các phím mũi tên, tab và phím enter để đi đến các tùy chọn giao diện trước, sau đó để bật SSH, cũng như camera, sau đó thoát và khởi động lại pi.
Tiếp theo, bạn sẽ cần tìm địa chỉ IP của Pi của mình. Trong một đầu cuối lệnh, hãy nhập:
sudo ifconfig
Và địa chỉ IP của bạn phải nằm trong phần wlan0 bật lên, ngay bên dưới Link encap: ethernet. Trong hình minh họa ở trên, Địa chỉ IP là 192.168.1.10.
Cuối cùng, bạn sẽ cần mở ứng dụng terminal tích hợp sẵn trên máy mac hoặc tìm và làm theo hướng dẫn cho ứng dụng ssh của bên thứ 3 dành cho windows. Trong ứng dụng Terminal, nhập:
ssh pi @ ĐỊA CHỈ IP CỦA BẠN
Nếu bạn chưa thay đổi mật khẩu khi ở trong Raspi-config, thì mật khẩu của bạn để nhập khi được nhắc sẽ là mật khẩu mặc định: raspberry.
Từ đó, bạn nên đi tốt!
Bước 3: Gửi email Địa chỉ IP của bạn khi khởi động
Trong bước này, chúng tôi sẽ tập trung vào cách truy cập Raspberry Pi của bạn, bất kể bạn đang sử dụng mạng nào. Tùy thuộc vào mạng, địa chỉ IP của Pi thay đổi. Và nếu bạn không có thiết lập màn hình, bạn sẽ cần chuyển sang Pi để kích hoạt giao thức phát hiện chuyển động, thay đổi tùy chọn chuyển động hoặc truy cập bất kỳ thứ gì khác trên thiết bị. Để giải quyết vấn đề này, chúng tôi sẽ viết một đoạn script python gửi email cho chúng tôi địa chỉ IP hiện tại của Pi khi khởi động. Tập lệnh python như sau và được lưu trữ trong một thư mục được đánh dấu là "nền".
#start trong thư mục chính
cd ~
#create thư mục nền
mkdir nền
#create script python
sudo nano emailip.py
#write trong emailip.py
ổ cắm nhập khẩu
s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM)
s.connect (("8.8.8.8", 80))
print (s.getsockname () [0]) x = s.getsockname () [0] s.close ()
nhập smtplib
từ email. MIMEMultipart nhập MIMEMultipart
từ email. MIMEText nhập MIMEText
fromaddr = "ĐỊA CHỈ CỦA BẠN"
cócdr = "ĐỊA CHỈ NHẬN"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] =adsdr
msg ['Subject'] = "Địa chỉ IP"
body = xmsg.attach (MIMEText (body, 'trơn'))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "MẬT KHẨU CỦA BẠN")
text = msg.as_string ()
server.sendmail (fromaddr,adsdr, text)
server.quit ()
# sau đó điều này thực hiện được khi khởi động lại
sudo nano /etc/rc.local
#enter trong /etc/rc.local
trong khi ! / sbin / ifconfig wlan0 | grep -q 'inet addr: [0-9]';
ngủ đi 3
xong
_IP = $ (tên máy chủ-I) || thật
if ["$ _IP"]; sau đó
printf "Địa chỉ IP của tôi là% s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
thoát 0
# và bạn đã hoàn thành
Bước 4: Cài đặt và thiết lập chuyển động
# cập nhật số pi
sudo apt-get cập nhật
sudo apt-get nâng cấp
#Tải xuống
sudo apt-get install chuyển động
#now chỉnh sửa tệp này với các thay đổi sau
sudo nano /etc/motion/motion.conf
# để đặt tiêu chuẩn cho hướng dẫn này, hãy thay đổi
#################
daemon trên
stream_localhost tắt
tắt webcontrol_localhost
ffmpeg_output_movies trên
target_dir / var / lib / motion
##################
#local tùy chọn phát trực tuyến của trình duyệt web
##################
stream_maxrate 100 # Điều này sẽ cho phép phát trực tuyến theo thời gian thực nhưng yêu cầu nhiều băng thông và tài nguyên hơn
tốc độ khung hình 60 # Điều này sẽ cho phép chụp 60 khung hình mỗi giây # tốc độ này càng cao thì video xử lý càng chậm
width 640 # Điều này thay đổi chiều rộng của hình ảnh được hiển thị
height 480 #Điều này thay đổi chiều cao của hình ảnh được hiển thị
##################
#emailing cài đặt video trong… / motion.conf
##################
#delete dấu ";" ở phía trước dòng, dấu chấm phẩy nhận xét dòng bên ngoài
on_event_start python /home/pi/background/motionalert.py% f
on_movie_end python /home/pi/background/motionvid.py% f
##################
#astectics
##################
#choices được mô tả trong tệp
output_pictures location_motion_style
##################
# sau đó thay đổi
sudo nano / etc / default / motion
#để nói
start_motion_daemon = vâng
# cuối cùng, bắt đầu B **** lên
bắt đầu chuyển động dịch vụ sudo
# bạn có thể thay đổi lệnh thành "dừng" hoặc "khởi động lại"
Bước 5: Gửi video từ chuyển động khi phát hiện qua email
Gửi email khi phát hiện chuyển động:
# bắt đầu tại nhà
dircd ~
#create tập lệnh python cảnh báo chuyển động
sudo nano /home/pi/background/motionalert.py
#viết
nhập smtplib
từ datetime nhập datetime
từ email. MIMEMultipart nhập MIMEMultipart
từ email. MIMEText nhập MIMEText
fromaddr = "YOURADDRESS"
cócdr = "RECIEVINGADDRESS"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] =adsdr
msg ['Subject'] = "Đã phát hiện chuyển động"
body = 'Một chuyển động đã được phát hiện. / n Thời gian:% s'% str (datetime.now ())
msg.attach (MIMEText (body, 'pure'))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "MẬT KHẨU CỦA BẠN")
text = msg.as_string ()
server.sendmail (fromaddr,adsdr, text)
server.quit ()
Email Video chuyển động khi video được lưu:
#start at homedircd ~
#create video chuyển động python scriptsudo nano /home/pi/background/motionvid.py
nhập smtplib
từ email. MIMEMultipart nhập MIMEMultipart
từ email. MIMEText nhập MIMEText
từ email. MIMEBase nhập MIMEBase
từ bộ mã hóa nhập email
fromaddr = "EMAIL CỦA BẠN"
cócdr = "ĐỊA CHỈ EMAIL BẠN GỬI ĐẾN"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] =adsdr
msg ['Subject'] = "Đã kích hoạt Motion Cam"
body = "Video phát hiện chuyển động"
msg.attach (MIMEText (body, 'trơn'))
nhập hệ điều hành
rootpath = '/ var / lib / motion'
filelist = [os.path.join (rootpath, f) cho f trong os.listdir (rootpath)]
filelist = [f for f in filelist if os.path.isfile (f)]
newest = max (filelist, key = lambda x: os.stat (x).st_mtime)
filename = newest
nhập hệ điều hành
rootpath = '/ var / lib / motion'
filelist = [os.path.join (rootpath, f) cho f trong os.listdir (rootpath)]
filelist = [f for f in filelist if os.path.isfile (f)]
newest = max (filelist, key = lambda x: os.stat (x).st_mtime)
đính kèm = mở (mới nhất, "rb")
part = MIMEBase ('application', 'octet-stream')
part.set_payload ((tệp đính kèm).read ())
encoders.encode_base64 (part)
part.add_header ('Nội dung-Bố trí', "tệp đính kèm; tên tệp =% s"% tên tệp)
msg.attach (part)
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "MẬT KHẨU CỦA BẠN")
text = msg.as_string ()
server.sendmail (fromaddr,adsdr, text)
server.quit ()
Bước 6: Khắc phục sự cố và nguồn
Xử lý sự cố:
Bởi vì dự án này có nhiều giai đoạn, có một số điểm có thể xảy ra sai sót. Dưới đây là một số lỗi có thể xảy ra và cách khắc phục chúng.
- Khi thiết lập pi của bạn để gửi email cho bạn địa chỉ IP hiện tại của nó, điều quan trọng là phải chỉnh sửa tệp rc.local như được hiển thị trước đó vì điều này cho phép có một chút chậm trễ trước khi chương trình kích hoạt sau khi khởi động lại. Nếu không, pi sẽ chưa được kết nối với wifi và email sẽ không được gửi.
- Khi chỉnh sửa tệp motion.conf, hãy đảm bảo xóa các dấu chấm phẩy trước các tham số nhất định. Dấu chấm phẩy ngăn chặn một hành động nhất định, vì vậy nếu không, thay đổi sẽ không có hiệu lực.
- Tệp motion.conf được tổ chức rất tốt và chi tiết. Hãy thoải mái thay đổi cài đặt theo ý thích của bạn, nhưng hãy hiểu rằng chúng có thể ảnh hưởng đến sự thành công của hệ thống chụp chuyển động.
- Sau khi thiết lập các tùy chọn email cảnh báo và video video, điều quan trọng cần lưu ý là email của video phát hiện chuyển động sẽ mất nhiều thời gian hơn để gửi so với email cảnh báo ban đầu. Điều này là do video kết thúc một vài giây sau khi chuyển động không còn được phát hiện và vì tệp đính kèm email có thể đủ lớn để yêu cầu một vài phút để nhận. Trong một số trường hợp, nếu chuyển động được duy trì trong một khoảng thời gian rất dài, nó có thể quá lớn để gửi đi. Do đó, bạn nên kiểm tra buổi phát trực tiếp sau khi nhận được email cảnh báo ban đầu.
Tại sao lại chuyển động ?:
Khi lần đầu tiên bắt tay vào dự án này, chúng tôi đã xem xét một số nguồn lực khác nhau. Đầu tiên, chúng tôi xem xét việc sử dụng PiCam, một đơn vị máy ảnh được xây dựng đặc biệt cho pi raspberry. PiCam chắc chắn là một thiết bị có khả năng và có nhiều ứng dụng, nhưng nó bị hạn chế ở việc sử dụng các chương trình được thiết kế riêng cho nó và tương đối đắt so với các webcam đa năng rẻ tiền. Vì vậy, để làm cho dự án này có thể tiếp cận được với nhiều đối tượng hơn, chúng tôi đã quyết định sử dụng một webcam USB thông thường. Vấn đề tiếp theo là nên kết hợp phần mềm nào. Ban đầu chúng tôi coi OpenCV là phần mềm miễn phí cho phép thực hiện nhiều loại hình ảnh và thị giác máy tính khác nhau. Về các vấn đề ở đây là OpenCV là một tệp lớn, chiếm nhiều bộ nhớ và thời gian thiết lập lâu. Việc thiết lập cũng có nhiều giai đoạn, thậm chí còn nhiều chỗ cho sai sót. Chúng tôi nhận thấy rằng đối với dự án cụ thể của mình, Motion đơn giản hơn để thiết lập và bắt đầu hoạt động, nhưng mạnh mẽ hơn nhiều trong quá trình thực thi.
Nguồn
Nguồn mã:
www.techradar.com/how-to/computing/how-to-b…
pimylifeup.com/raspberry-pi-webcam-server/
www.pyimagesearch.com/2015/06/01/home-surve…
naelshiab.com/tutorial-send-email-python/
www.raspberrypi.org/documentation/linux/us…
learn.adafruit.com/adafruits-raspberry-pi-…
learn.adafruit.com/adafruits-raspberry-pi-…
pinout.xyz/pinout/i2c
Tín ảnh:
SSH Snail:
Biểu trưng thư:
Webcam của Logitech:
Cửa sổ SSH:
Đề xuất:
Nâng cấp bình tưới nước tự làm có Wi-Fi thành thiết bị báo động Sentry phát hiện chuyển động tự làm Planter: 17 bước
Nâng cấp Bình tưới nước tự làm có WiFi thành Bình tưới tự động phát hiện chuyển động Sentry Alarm Planter: Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách nâng cấp Bình tưới nước tự làm có WiFi thành Bình tưới nước tự làm có WiFi và Báo động phát hiện chuyển động Sentry. bạn chưa đọc bài viết về cách chế tạo một bình tưới nước tự làm bằng WiFi, bạn có thể xem
Bộ phân tích mô hình giao thông sử dụng tính năng phát hiện đối tượng trực tiếp: 11 bước (có hình ảnh)
Trình phân tích mô hình giao thông sử dụng tính năng phát hiện đối tượng trực tiếp: Trong thế giới ngày nay, đèn giao thông rất cần thiết cho một con đường an toàn. Tuy nhiên, nhiều khi, đèn giao thông có thể gây khó chịu trong tình huống có người đang đến gần đèn ngay khi đèn đang chuyển sang màu đỏ. Điều này gây lãng phí thời gian, đặc biệt nếu ánh sáng
Phát hiện đối tượng trực quan bằng máy ảnh (TfCD): 15 bước (với hình ảnh)
Phát hiện đối tượng trực quan bằng máy ảnh (TfCD): Dịch vụ nhận thức có thể nhận dạng cảm xúc, khuôn mặt của người hoặc các vật thể đơn giản hiện vẫn đang ở giai đoạn phát triển ban đầu, nhưng với máy học, công nghệ này đang ngày càng phát triển. Chúng ta có thể mong đợi thấy nhiều điều kỳ diệu này hơn trong
Lấy cắp dữ liệu Microsoft Office Excel để đọc Nguồn cấp dữ liệu tin tức RSS trực tiếp: 3 bước
Lấy cắp dữ liệu Microsoft Office Excel để đọc Nguồn cấp tin tức RSS Cổ phiếu Trực tiếp: Bạn có thể dễ dàng khiến Excel hoạt động như một trình đọc tin tức RSS cổ phiếu trực tiếp với một tiện ích bổ sung miễn phí. Điều thú vị về điều này, trái ngược với việc sử dụng trình đọc tin tức thông thường, là bạn có thể yêu cầu nó cập nhật tin tức tùy thuộc vào biểu tượng cổ phiếu mà bạn quan tâm. Thêm vào đó,
Chuyển đổi nguồn cấp cho máy tính thành nguồn cấp cho phòng thí nghiệm có thể thay đổi được trên băng ghế dự bị: 3 bước
Chuyển đổi Bộ nguồn cho Máy tính thành Bộ cấp nguồn cho Phòng thí nghiệm trên đầu có thể thay đổi: Giá Ngày nay cho một bộ nguồn phòng thí nghiệm vượt quá $ 180. Nhưng thay vào đó, một bộ nguồn máy tính lỗi thời lại hoàn hảo cho công việc. Với những thứ này, bạn chỉ tốn 25 đô la và có bảo vệ ngắn mạch, bảo vệ nhiệt, bảo vệ quá tải và