树莓派控制拍照并打印出照片

2023-12-18 15:31:46

标题都不知道怎么写了,哈哈~~~~这个项目是同事小孩想做的,需求是:

 1. 用户在A点按下A点的按钮后进行拍照
 2. 用户到达B点后,在按下B点的按钮把在A点拍照的照片打印出来

这项目不难,实现的方法有N多种,呵呵~~自己也好久没碰我吃灰的pipi了,那就帮忙玩玩吧!!

我的方案:

PlanA:打印机为网络打印机
这个方案就是A点负责拍照及连接网络打印机打印;B点只需发送打印指令给A点执行网络打印任务就行;

PlanB:打印机为普通打印机
这个方案B点需要连接打印机,同时B点需要获取到A点拍下的照片,然后打印出来

今天网购的摄像头刚到,B点的方案也没确定下来,就先做好A点的事吧。

A点实现步骤:
1、安装摄像头:
我买的是CSI接口的摄像头,接好排线后,打开终端,输入:sudo raspi-config 打开树莓派的配置界面,选择“Interfaceing Options”,再选择"Camera",启用这一项开启摄像头,保存后退出,执行reboot重启树莓派。
重启后再打开终端,输入:raspistill -o image.jpg -t 3000 ,测试一下摄像头是否正常,拍完后照片会默认保存到:/home/pi目录下,进去看看是否正常,如果OK,跳下一步;

2、连接按钮
手上没有按钮,我这里用杜邦线连接,拿着树莓派,网线接口朝下,连接左竖排pin口的4针和5针(4针为GPIO04,5针为GND)完成后就开始写代码了;

3、python代码如下:

#导入树莓派gpio接口模块
from gpiozero import Button
#导入摄像头模块
from picamera import PiCamera

#定义按钮
btn = Button(4)
#初始化摄像头
camera = PiCamera()
#开始循环
while True:
	#当短接4/5针的时候,拍照并保存
	if btn.is_active:
		camera.capture('/var/www/html/image.jpg')

4、安装nginx服务,目的是提供预览和下载(现在没决定B点的方案,所以先留着备用)

  • 更新apt软件列表:sudo apt-get update
  • 安装nginx:sudo apt-get install -y nginx
  • 查看树莓派的IP地址:ifconfig
  • 然后再同一网段的电脑上,再浏览器访问派的ip地址,看看有没有nginx的欢迎页,如果有则安装成功。

上面的camera.capture('/var/www/html/image.jpg')代码,就是将照片保存到nginx的默认目录下。最后一步,就是修改/var/www/html的目录权限,否则照片是无法保存的,再终端执行:chomd 777 /var/www/html,给目录加上读写权限。

到此,如果打印机安装再B点的话,那么A点要做的就基本完成了。

测试A点:

用树莓派的Thonny运行上面的python代码,然后短接杜邦线。最后再浏览器访问:http://树莓派IP/image.jpg,就可以看到拍到的照片了!!!

B点待续~~~~~~

文章来源:https://blog.csdn.net/alinathz/article/details/135057186
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。