请选择 进入手机版 | 继续访问电脑版
用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1308|回复: 0

树莓派物联网应用初尝试——使用Raspberry Pi camera 打...

[复制链接]

4

主题

5

帖子

44

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
44
发表于 2016-6-29 21:06:02 | 显示全部楼层 |阅读模式
物联网在先进社会已经越来越火热,笔者将利用手上的树莓派和camera,借助网上的云存储平台来打造属于自己的物联网应用。本期博客笔者将探讨如何使用树莓派自带的camera采集图像,以及如何在远端比如电脑或者手机端查看树莓派的监控图像。
在写本博客之前,首先感谢小米社区的浩子同学和固本培元的专栏中关于树莓派远程监控应用和Linux下curl使用的详细介绍,笔者通过对自己树莓派的相机模组进行尝试,通过对采集的图像大小和输出格式的调整,最终实现预期的功能。
图示是整个硬件的接线,我们所熟悉的树莓派其实是放置到了黑色的外壳里面,相机模组从外壳下边的开口处接入树莓派板子上的卡槽。白色为供电线,下方是无线网卡,已经配置成固定IP并能连接到外网。
硬件材料
树莓派B版本
树莓派相机模组
TP-LINK无线网卡
操作步骤
1云端准备
首先需要有借助一个云存储平台,笔者使用Yeelink,你需要申请一个账号,在用户中心中为添加自己的设备——树莓派,为树莓派添加添加相应的传感器,这里我们上传的是图像数据
添加新的设备
添加传感器
2 获取自己的API key和 传感器的url
查看图像传感器的URL
查看用户的API KEY
3 树莓派端设置过程
我们首先明确自己的设计目的,使用树莓派的相机每隔两分钟采集一次图片,并上传到云平台上面。
如何采集图片
相机模组的使用介绍,看到使用
raspistill -o image.jpg
能够捕捉图片,并以指定的文件名保存。
而yeelink提供了HTTP Post ,能够完成网络的写操作
这里格式是
curl --request POST --data-binary @"/home/pi/yeelink.jpg" --header " your U-ApiKey here"  your sensor url here

其中ApiKey和URL以上边介绍的方法来获取。
综上我们建立一个脚本文件
nano picamera.sh
增加内容
raspistill -o image.jpg

curl --request POST --data-binary @"/home/pi/image.jpg" --header  "U-ApiKey:11245455*******" http://api.yeelink.net/v1.0/device/***********
(强调下,这里的our U-ApiKey和your sensor url是利用上边在yeelink中查到具体信息,这里笔者不方便展示,不过写自己代码时记得代换哦)
为脚本增加定时任务
crontab -e
增加下边的代码
*/2 * * * * /home/pi/picamera.sh
脚本将以每两分钟一次采集并上传到云平台。
4 可能遇到的问题及解决方案
当我们设置完成后,打开Yeelink,却发现什么也没有,怎么回事呢?
通过ls ,发现在用户目录下已经产生一个image.jpg的图形文件,可是并没有上传到网络平台。
我们使用
curl --request POST --data-binary @"/home/pi/image.jpg" --header  "U-ApiKey:11245455*******" http://api.yeelink.net/v1.0/device/***********
执行文件写操作
发现系统提示request entity too large,这是图片大小超过服务器设定值,我们通过
raspistill | less
查看相机的扩展选项
在这里,可以看到可以增加扩展选型改变图片的大小和质量
我们再次在nano picamera.sh中修改相机的命令
sudo raspistill -o image.jpg -w 320 -h 240
5 成果展示
这次终于看到我们期待的图片啦
手机客户端显示

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则