使用树莓派记录植物生长

1,引言

记录植物的生长过程不仅可以帮助我们更好的了解植物的生长周期,还能为科学研究和教育提供宝贵的资料。家里正好有闲置的树莓派(Raspberry Pi)和其摄像头模块,是一个理想的解决方案,因为它们价格低廉,易于使用,并且功能强大。本文将介绍如何使用树莓派和摄像头模块记录植物生长的过程,并将这些数据保存为图像或视频文件。

2,硬件需求

  1. 树莓派 :树莓派3b+。
  2. 树莓派摄像头模块 :Rav1.3。
  3. SD卡:16GB,用于存储操作系统和数据。
  4. 植物:野花种子及花盆。
  5. 显示器&HDMI数据线:用于树莓派配置。

3,软件需求

  1. Raspbian操作系统:https://www.raspberrypi.com/software/
  2. Python:用于编写控制摄像头和数据记录的脚本。

4,安装和配置

  1. 使用 Raspberry Pi Imager 安装 Raspberry Pi OS操作系统

Alt

  1. 连接摄像头模块:

Alt
Alt

  1. 安装软件包

更新系统包

sudo apt-get update
sudo apt-get upgrade

安装Picamera库

sudo apt install python3-picamera

编写脚本记录植物生长

import time
from picamera import PiCamera
from datetime import datetime
import os

camera=PiCamera(0)
camera.resolution=(1920,1080)
interval=3600    #间隔1小时记录1次
total_time=1209600    #2周的时间
startTime=time.time()
savePath="image1"
os.makedirs(savePath,exist_ok=True)
while(time.time()-startTime)<total_time):
  timestamp=datetime.now().strftime('%Y%m%d_%H%M%S')
  filename=os.path.join(savePath,'image_{}.jpg'.format(timestamp))
  time.sleep(interval)

可视化
记录植物生长的照片后,可以制作成视频资源,可供观察学习。

import os
import subprocess

def rename_files_with_numbering(directory,odir,start_number):
  files=os.listdir(directory)
  files.sort()
  current_number=start_number
  
  for filename in files:
    if filename.startswith("image_") and os.path.isfile(os.path.join(directory,filename)):
      new_filename=f"image_{current_number:03d}{os.path.splitext(filename)[1]}"
      new_file_path=os.path.join(odir,new_filename)
      os.rename(os.path.join(directory,filename),new_file_path)
      current_number +=1

command=[
  "ffmpeg",
  "-framerate","10",
  "-i",
  "/home/pi/Yahboom_project/Raspbot/raspbot/imageout/image_%03d.jpg",
  "-c:v","libx264",
  "-pix_fmt","yuv420p",
  "output.mp4"
  ]

def makeMpeg(command):
  subprocess.run(command)

directory="/home/pi/Yahboom_project/Raspbot/raspbot/image1"
start_number=1
rename_files_with_numbering(directory,directory,start_number)

makeMpeg(command)


5,结论

通过树莓派和摄像头模块,可以轻松的记录植物的生长过程,结合Python脚本可以拍摄植物生长图像。具有一定的观赏性。

output

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值