当然也可以使用专门的供电拓展模块,比如 Zero LiPo:
1.3 RPi
Zero仅支持RPi v1.3,彼时zero发布时并没有v2的摄像头模块。关于RPi摄像头模块的详细信息务必阅读的页面。
v1.3采用 摄像头组件,支持500万像素,实测效果还不错,比较清晰。
需要注意的是,RPi和RPi Zero CSI摄像头接口大小是不一样的,v1.3默认只有适用尺寸较大的RPi接口排线,相用在Zero上的话需要额外购买排线。我是在阿里巴巴上购买的,¥7.5供参考,并额外购买了亚克力支架。
1.4
因为在室外操作,信号衰减较小,这里我们的方案是otg线+小米随身wifi(采用芯片)进行无线传输。使用小米wifi的原因是因为功耗很小,稳定性/发热/传输速度距离都可以接受,后期可能会换用模块或者加装天线。
当然也可以选用现成的模块,比如Red Bear IoT pHAT:
2. 软件部分 2.1 Zero操作系统选择
操作系统是相当于开车的司机,为zero选择一个合适、方便的系统如虎添翼。由于项目需要,我们选择模式进行操作,不需要图形界面,这里讲两个系统:和。
2.1.1
一直以来使用的且十分推崇的树莓派操作系统,有些过相关介绍,很久没更新了,现在又增加了很多新特性。其特色包括性能优化,可以快速方便地自动安装配置各种软件,无痛学习上手树莓派,另外作者的脚本写的很棒,可以学到很多东西。
虽然支持Zero,但是对OTG 虚拟网卡支持并不好,所以最近一直在尝试进行适配,也遇到了很多问题,卡在这里很久,记录如下。
按照《一根数据线玩转树莓派Zero》的方法,分别更改boot分区下.txt和.txt文件,启用usb ether功能,并在/etc//里预增加usb0虚拟网卡相关设置文件。使用连接Host后,正常上电可以识别到LAN连接,但是
以上问题在使用 Lite时并不存在,经群里枫大的提醒,使用软件进行局域网抓包分析和串口模块直接调试的方式寻找分析问题。结果如下:可以捕获主机ping zero的ICMP协议包,反向无任何响应。最后尝试关闭防火墙解决,怀疑是正常使用,没有测试ping命令,所以默认为无需关闭防火墙,这里绕了很大弯路。
注意,开启网卡混淆模式进行监听数据包时,ping命令会返回(DUP!),提示数据包重复。
此时仍然无法上网,ping 提示 host,直接ping IP地址ok,cat /etc/.conf没有发现正确的DNS服务器地址。手动在文件增加dns- 114.114.114.114后解决,可以正常联网并更新系统。
注意,插拔zero后可能会无法联网,此时关闭|重新开启主机网卡网络共享稍等即可。
完成以上设置之后,安装网页服务器、php等之后,重启失败,串口无任何输出。如此这般,屡试不爽。长久的沉默与崩溃,遂放弃。经历阅读脚本源码,完善修改相关设置,查看了很多相关驱动说明和其他文档资料,都准备向上提交了,然后又回到原点,个中滋味,百般无奈,于是怒打了几把王者荣耀平复心情。。。话说之前玩DOTA的,对王者荣耀这种小学生游戏嗤之以鼻,某日和师弟们玩了下,发现我凑上瘾了—
注意,使用otg时推荐使用,在正式环境(GPIO供电+USB无线网卡),是没问题的。
2.1.2 Lite
平复一下心情之后,我们回到树莓派基金会官方推荐的 Lite,无图形界面,没有预装各种。之前的文章是以此为基础进行演示的,各方面比较完善。安装使用过程中比较顺利,这次没有出什么幺蛾子了,泪目。。。
2.2 RPi Cam Web
图像传输与控制首先想到的是使用RPi Cam Web 来管理和传输图像:
Web based for the Pi , , time lapse, and image and video 。控制树莓派摄像头的网页前端,支持运动检测、定时拍摄以及图像、视频录制。
项目架构如下,主要包括——负责运动检测、——图像捕获与视频流传输、Web (|Ngnix|)——网页控制界面。受限于zero的性能,以及并不需要多少高级特性,这里Web 选用更轻量的。
原本执着于就是因为可以一键安装配置好各种软件,RPi-Cam-Web-也在其中。因为存在问题没解决,所以按照 的脚本手动操作,仍然失败。。。最终在上按照官网的方法安装成功。
启用RPi :sudo raspi-命令
正确连接:金手指朝下(也是如此)
安装RCWI:
# 更新系统并安装git
sudo apt update && sudo apt dist-upgrade && sudo apt install git
# 下载源码并进行安装
git clone https://github.com/silvanmelchior/RPi_Cam_Web_Interface.git
cd RPi_Cam_Web_Interface
chmod u+x *.sh
sudo ./install.sh
期间会跳出一个命令行对话框:
使用键删除,无法使用Del。如图所示,则可以通过在浏览器里输入[pi_ip]:80/rcam访问Web ,且开机自动运行。这里[pi_ip]填入树莓派的ip地址,我这里是192.168.137.2。
注意:
Zero 图像传输部分
分别是a. OTG线+USB无线网卡(为例,小米WIFI没找着); b. Zero本体; c. RPi + 排线; d. TTL转USB模块,可以进行调试同时通过GPIO引脚为树莓派提供5v供电。正式版仅需要两根线为Zero供电即可。
获取Zero实时图像(网页)
帧率和清晰度都相当可以,拍得比较糊,大家凑合着看,看不清的想象一下。只需要在里打开网页,地址填[pi_ip/]即可。注意在里设置为 Steam比MJPEG Steam流畅。
移动设备获取Zero实时图像(网页)
和PC版基本相同,注意似乎同时只支持串流到一个设备。
移动设备获取Zero实时图像(APP)
这里可以使用免费版的IP Cam Lite(支持和),当然你也可以购买Pro版,不过Lite版足够使用了。ICVL内置支持RPi-Cam-Web-,如图添加摄像头,修改相关参数。
PC软件获取Zero实时图像(待补充)
因为RPi-Cam-Web-支持视频串流,我们可以使用VLC或者自己写软件(比如QT编写的图形界面程序)直接播放视频流,由于遇到一些问题,后面再完善相关内容。
总结
以上通过多种方式获得树莓派Zero传输过来的实时图像,并且清晰度和帧率都相当不错,符合我们的项目预期。在室外可以让树莓派或者建立无线热点,提供两者通讯的手段,当然,也可以,待求证。
进一步阅读
发表回复