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

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

 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点待续~~~~~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

୧⍢⃝୨ LonelyCoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值