拓竹P1P/P1S树莓派实时监控摄像头
Kyle-zh
编辑于 2025年01月01日 21:24
拓竹打印机

前情提要(废话较多,可略过):

小米小方方案:

从去年双十一购入拓竹的P1SC,被那个720P的原厂摄像头恶心到了。然后开始寻找第三方解决方案,国外大部分的方案是购买一个现成的摄像头然后通过夸张的支架外挂在打印机上,实在不优雅。后发现Ws工作室R​提供了一个很不错的方案,使用小米小方的某个特定型号的摄像头,拆出来后尺寸刚好可以放在打印机内,自己也在咸鱼上买了4个。最后只拆出2个可用,并且装了一个在打印机上。

其实,到这里就应该结束了。但我不想只通过小米的app来查看视频,我有群晖NAS,我想接入群晖的Surveillance Station,这样可以开机就录像,并且空间不受TF卡大小限制。而且切片软件OrcaSlicer是支持嵌入第三方摄像头视频流的,这些小米小方的原厂固件都不支持。所以我给小米小方刷入了第三方固件OpenIPC,这样既可以使用RTSP流给群晖,也可以WebRTC给OrcaSlicer。

看着很完美,到这里也应该折腾完毕了。但不知道是硬件问题还是OpenIPC的固件问题,群晖在上电了之后,小米小方很大概率启动失败,只有拔掉供电重新插一次才正常,后面为了不去拔插USB,我只能做了个手动开关,但还是麻烦,最后都懒得开了。

树莓派方案:

眼看着一年了,还是没有什么更优的解决方案,国外有树莓派的摄像头解决方案,但要么主板外挂到机箱外面,要么也是像小米小方那样,主板和摄像头分离,主板外挂在下方。有机器的同学都知道,那边几乎没有缝隙能让正常的电源线通到下层去。这也是我最后放弃了小米小方的原因之一。没办法,强迫症。

而且我想要得到比小米小方更好的成像效果,毕竟小米小方的硬件是17年的产品了。如果换个树莓派支持的更好的摄像头,那更高的画质岂不是爽翻(并不,后面会提到)

我找出了我的树莓派zerow,这是树莓派zero的一代产品,发现尺寸合适,刚好可以整合成一个,可以做到不用主板和摄像头分离,调试到最后发现性能不行,更换成zero2代,并配合Sony的1200W像素的IMX708传感器摄像头模块,最终的成品样子:

群晖的Surveillance Station:

OrcaSlicer:

这是小米小方的效果:

是不是感觉好像差不多?是的,不管摄像头模块多强大,树莓派zero2w只支持1920*1080P30帧的视频流...所以,剩下的优点就是一体化,支持RTSP和WebRTC了。

如果你看到这里还有兴趣,那么下面是制作方法。需要懂一点焊接技术。

前期准备:

需要准备的硬件:

  1. 树莓派Zero2W主板

  2. IMX708摄像头模块(请别买原厂,那个太贵了,我买了副厂的,尺寸和原厂不同。副厂价格也便宜很多。淘宝搜索店名:摄像头工厂店。价格是108。和卖家说要WIDE版本并且配一条连接到树莓派zero2w的8cm数据线就行。一定要说明,否则可能会发标准版。我就是没备注,卖家发了标准版,后面知道发错了立马顺丰特快补发了WIDE版本,服务相当好。)

  3. 打印的外壳

  4. 3cm*3cm*1cm的5V静音风扇(可选,树莓派的CPU在打印的时候最高温度会超过90度)

  5. 散热片带背胶14mm*14mm*6mm(可选,加散热片的效果没有风扇好)

  6. 2*2.5*3的热熔螺母 X4

  7. M2*3的平头螺丝 X4

  8. 一条不用的USB数据线

  9. 公对母的杜邦线(可选,最好选全铜版本,好焊接)

  10. 直径6mm高度3mm的圆形强力磁铁(可选)

  11. 2G以上的TF卡,建议使用高速卡

工具准备:

  1. 可调温电烙铁

  2. 电脑,带TF读卡器

  3. TF卡写入软件:balenaEtcher等

开始制作:

软件部分:

下载我buildroot定制好的固件(文件在最后),用balenaEther烧录到TF卡中。拔插一次TF卡,电脑上会出现TF卡盘符,打开,找到wpa_supplicant.conf用记事本打开,在ssid里填入你的wifi名称,psk里填入你的wifi密码。像这样:

注意保留双引号

然后拔出TF卡,备用。

 

硬件部分:

1.先打印外壳,并去掉支撑,材料使用PETG或者ABS等耐高温耗材,勿用PLA,模型地址:https://makeworld.cn 搜索“P1P/P1S用树莓派摄像头模块”

2.用电烙铁把热熔螺母嵌入外壳

3.将公母杜邦线从中间剪断,然后焊接在树莓派的这两个位置(注意别焊错,错了通电烧主板)并注意正极线的颜色。公头的那段焊接在树莓派上。

4.USB线,量好长度,剪断,4芯里只取红黑两色线,把刚才剪断的另一段杜邦线,根据树莓派上的正对红,负对黑,焊接,做好绝缘。别搞错了,请一定认真再三确认。如果没有杜邦线,就直接把usb的线焊接在树莓派对应的点位上。

5.把风扇焊接在树莓派的这个位置(正极接在4上,负极接在6上),并给树莓派的CPU贴上散热片(可选)

6.把两颗磁铁压入到外壳中(可选),如果没有磁铁,也可以用双面胶粘贴的方式固定在打印机里

7.插上摄像头到树莓派的连接排线,注意正反面,别插错

8.把摄像头模块先安装进外壳,拧上2颗螺丝,并观察是否安装到位

9.将风扇压入外壳,标签一面朝外(可选)

感谢 @N0T_千百 反馈,在打印一些需要舱温的环境,例如ABS时,会因为树莓派温度过高导致降频而造成视频卡顿,所以建议风扇改成朝外吹(风扇标签在下)

10.将制作好的TF卡查到树莓派上

11.将树莓派装入外壳,从一侧滑入(记得拆掉左侧卡位的支撑),这时候注意风扇电源线,不要卡在风扇中

12.给树莓派拧上螺丝,完成!

开始测试:

  1. 将做好的USB线插上充电头,观察杜邦线的颜色,和树莓派上的公杜邦线对接。(充电头尽量选择1.5A及以上的,否则可能会一直重启)等待10秒钟左右设备初始化完毕(时间取决于你的TF卡速度)

  2. 登录你的路由器,查找树莓派设备IP地址,并将设备分配为静态IP,这样IP不会变动(无法提供教程,不同的路由器配置方式不同,请自行搜索教程)

  3. 打开浏览器,输入网址:http://设备ip:8889/cam。例如我的树莓派分配的ip是192.168.1.95,那么就是http://192.168.1.95:8889/cam

  4. 这时候没有问题的话应该可以看到画面了(如果没有画面,请确认摄像头的两头排线是否插反,树莓派IP地址是否正确)

装机:

1.将USB插入拓竹打印机的USB口,另一边穿入这个孔,把杜邦线插上,整理好走线,将树莓派安装在打印机的这个位置

2.移动打印机的喷头到最右边,检查是否会刮蹭到摄像头,确保万无一失

3.启动打印机,给摄像机通电

4.在电脑上通过浏览器观察摆放位置,适当调整摄像头位置

软件配置:

RTSP的地址为:IP:8554/cam

WebRTC的地址为:IP:8889/cam

Surveillance Station

群晖上安装Surveillance Station。

安装后,点击打开按钮,点击“网络摄像机”

然后点左上角的新增,按照图片里标识的,增加设备

状态为绿色勾则正确,后面一直下一步就完成了。

配置完成后,返回首页,点击“监控中心”,将摄像头拉入版面

完成。这样你可以在网页、桌面app、手机客户端上自由查看实时画面和历史视频。

OrcaSlicer

比较简单,直接在这里填入WebRTC的网址就行

其他碎碎念:

我一开始使用的是Dietpi这个树莓派系统,启动速度也不错,但配置麻烦,所以为了大家方便,折腾了一个多礼拜的buildroot,做了一个直接烧录就可用几乎零配置的固件。但如果你不放心我的固件,可以自己用Dietpi系统或者buildroot制作自己的固件。rtsp和webrtc视频流的软件用的mediamtx这个软件来实现。至于buildroot固件开源,能力有限,可能不会去折腾了。或者如果有这方面的大佬出手,也欢迎,做好了请私信我,我会附在这个教程里。

Mediamtx这个软件支持的视频流格式有很多,可以自己去github上查阅。mediamtx的配置文件可以将TF卡插入电脑后,在TF的根目录里看到,文件名是mediamtx.yml,可以打开后自己修改各种参数,例如开启更多的流媒体支持协议(比如直播用的RTMP)和协议使用的端口。也可以修改摄像头参数,例如白平衡、对焦距离、曝光补偿等。我已经优化过了,但你想自己动手试试也可以,记得备份源文件免得改坏了软件无法启动。也欢迎各位分享自己的参数。

固件里带了dropbear,可以ssh连接,也开了uart,可以用串口调试。dropbear的端口是22,账号密码都是root。这方面就不提供教程了,懂得自然懂,不懂你也别进去折腾了。

通过群晖的手机端app,可以实现在外网查看远程摄像头的功能。威联通支持的软件叫Qvr elite或者 Qvr pro。其他NAS就不清楚了,欢迎留言补充。