自制电动轮椅后置摄像头

用树莓派制作后置摄像头

Cherry

喜欢

3209
浏览
1
喜欢

> 更多图片

项目状态:已完成
开放度:公开
所属分类:电子
发布时间:2019-08-22
最近更新:2019-12-18

详细说明


本期介绍安装在电动轮椅上的后视摄像头的制作方法,该项目通过手机上的 IP 视频流来实现后视摄像头的功能,该摄像头会安装在电动轮椅的操纵杆附近。和往期的《基于树莓派和 Vufine 屏的谷歌眼镜》一样,是为行动障碍人士提供帮助的实用项目。当然你也可以运用到其他领域。

项目特点:
1、轮椅使用 24V 铅蓄电池供电,整个项目的电源由电动轮椅提供。方便为树莓派和手机供电,充电端口可以兼容 USB 接口的电源转换器。
2、树莓派 Zero W 用于视频流的部分,作为无线访问点,并将视频流传输到连接到无线网络的任何设备上。
3、手机托盘将使用 3D 打印的外壳安装在轮椅的控制器旁,它将提供图像显示的功能。
4、本项目将会用到 Debian/Linux 的基础知识。

链接表


文件库

hostapd.conf
[708 Bytes at 2019-10-05, 4 次下载]

handyhalterrolli.stl
[111484 Bytes at 2019-10-05, 4 次下载]



教程

组件清单
  • 树莓派 Zero W × 1
  • SainSmart 广角鱼眼镜头 × 1
  • 塑料外壳 × 2
  • XLR 插头 × 1
  • 车载 USB 接口 × 1
  • 电源线 × 若干
  • USB 电线 × 若干

材料清单


树莓派 Zero W×1
SainSmart 广角鱼眼镜头×1
塑料外壳×2
XLR 插头×1
车载 USB 接口×1
电源线(用于 XLR 接口)×若干
USB 电线(用于树莓派)×若干

设置树莓派摄像头


按照说明安装 Raspbian,请点击:
http://shumeipai.nxez.com/2013/09/07/how-to-install-and-activate-raspberry-pi.html

1、通过终端运行以下两个命令来安装所有更新:

sudo apt-get update
sudo apt-get dist-upgrade

关机,连接摄像头,再次启动树莓派。

2、在树莓派设置面板中,启用摄像头并启用对树莓派的 SSH 访问。
摄像头操作流程请点击查看:
http://shumeipai.nxez.com/2013/10/07/raspberry-pi-to-install-the-camera-module.html

3、安装 raspi-cam 的 v4l 驱动程序,该驱动程序需要处理后使用。
首先对树莓派的固件进行更新升级,以便获取最新的固件和内核驱动程序。
然后在终端中运行以下命令:

sudo raspi-update

通过在终端输入命令来加载 v4l 内核的驱动程序:

sudo modprobe bcm2835-v4l2

如果操作顺利,没有报错,应该具备设备/dev/video0,请输入以下命令,检查是否可行:

ls - l /dev/vid*

如果可行,请将 bcm2835-v4l2 添加到 /etc/modules 中,在每次启动时启用该模块。
输入以下命令检查摄像头是否可以使用:

raspistill -o cam.jpg

安装 V4l2rtspserver

安装软件部分
1、安装 cmake,需要自己编译视频流程序:

sudo apt-get install cmake

2、选用 v4l2rtspserver 作为视频流,试验了几款,发现它的延迟是最短的:
https://github.com/mpromonet/v4l2rtspserver
安装方法:

git clone https://github.com/mpromonet/v4l2rtspserver
cd h264v4l2rtspserver
cmake .
make install

3、如果没有出现报错,一切正常的话,可以通过从终端启动视频流服务器来对其进行测试:

v4l2rtspserver -W 352 -H 288 -F 10 /dev/video0

4、用同一网络中的计算机上将 VLC 连接至树莓派输入
rtsp://<IP_ADDRESS>:8554/unicast ,检查视频流是否正常工作。
5、使用你最拿手的编辑器(推荐使用 vi)在主目录中创建一个名为 launcher.sh 的脚本:

!#/bin/bash
sleep 20 
v4l2rtspserver -W 352 -H 288 -F 10 /dev/video0

6、需要 sleep 命令使视频驱动器准备就绪。将其设置为少于 20 秒。
使用 "crontab -e" 将此脚本添加到 crontab 中,再添加:

@reboot sh /home/pi/bbt/launcher.sh >/home/pi/logs/cronlog 2>&1

每次启动时将自动开启视频流式传输。

视频流传输的替代方法
我尝试了 Motion 和 VLC,有两种方法可用于视频流传输。Motion 是检测运动网络摄像头的工具,它可以对图像执行附加的图像分析,但是视频流的传输要慢一些。
VLC 则开箱即用,不需要编译:

cvlc v4l2:///dev/video0 --v4l2-width 320 --v4l2-height 200 --v4l2-chroma h264 --sout '#standard{access=http,mux=ts,dst=0.0.0.0:12345}'

此命令通过端口 12345 上的 http 视频流传输编码为 h264 的视频。测试设置中,延迟大约为两秒。

将树莓派设置为 WiFi 接入点

Hostapd
此步骤开始将树莓派设置为访问点。此后,只要树莓派打开自己的 WiFi 网络就不需要连接到网络。如果报错,只需要使用键盘和显示器访问树莓派,因此在将树莓派固定在某处时,就可以这样处理。
操作流程可参照:
http://shumeipai.nxez.com/2018/03/13/raspberry-pi-double-network-cards-for-wireless-hotspot.html

然后安装 hostapd 和 dnsmasq:

sudo apt-get install dnsmasq hostapd

将以下行添加到 /etc/dhcpd.conf (最好添加到顶部)禁用 wlan0 接口上的 dhcp。

denyinterfaces wlan0

通过编辑 /etc/network/ 界面为 wlan0 接口配置静态 IP,内容为:

allow-hotplug wlan0 
iface wlan0 inet static 
address 172.24.1.1 
netmask 255.255.255.0 
network 172.24.1.0 
broadcast 172.24.1.255

使用 sudo service dhcpcd restart 重新启动 dhcp 守护进程,然后使用以下命令重新加载 wlan0 配置:

sudo ifdown wlan0; sudo ifup wlan0

将附件的 hostapd.conf 保存在 /etc/hostapd/hostapd.conf 下。检查内容并根据自己的喜好进行调整,修改 SSID 和密码的名称,让其更安全。
运行以下命令检查其是否有效:

sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf

连接至新网络,因为没有 IP 地址,通过按 CTRL-C 停止 hostapd。通过编辑 /etc/default/hostapd 和将相应的行更改为添加配置文件位置来自动启用 hostapd。

DAEMON_CONF="/etc/hostapd/hostapd.conf"

关于 hostapd 的文件请在项目文件库中下载:
https://make.quwj.com/project/147

Dnsmasq
将提供的 dnsmasq 配置移动到备份文件(因为它包含很多注释,会起到参考作用)

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

创建一个新的 /etc/dnsmasq.conf,输入以下内容:

server=8.8.8.8 # Forward DNS requests to Google DNS 
domain-needed # Don't forward short names 
bogus-priv # Never forward addresses in the non-routed address spaces. 
dhcp-range=172.24.1.50,172.24.1.150,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time

将 dnsmasq 服务绑定到特定地址,在安装时出现一些问题。因此我们允许它在所有接口上运行。由于树莓派 Zero W 只具有 WiFi 功能,都不会有问题除非你连接 USB 以太网接口。在这种情况下,你的接口上还是具有 dhcp 服务器的功能,如果你用网线连接,它可能会弄乱你的网络。

你不需执行任何其他步骤即可在启动时运行 dnsmasq,它会自动启动。但是,在重新启动之前,你应该测试一下,然后手动启动两种服务并检查是否可以连接到 WiFi 并获取 IP 地址。

sudo service hostapd start
sudo service dnsmasq start

检查软件

软件设置完毕后,现在开始进行简单的检查,以免发生很难访问的问题。
1、重新启动树莓派。
2、如果手机安装了树莓派,请连接到 WiFi。通过选择“网络流”并连接到 rtsp://<IP_ADDRESS>:8554/unicast,将流视频客户端(例如 VLC 适用于所有操作系统)连接到树莓派的视频流。<IP_ADDRESS> 是 IP 设备,如果没有进行更改,应为 172.24.1.1。

现在可以在摄像头上看到一些实时视频。我在 Android 上使用 VLC 时遇到了一些问题,但是在 iOS 上,VLC 可以正常运行。

制作电源




Invacare 控制是电动轮椅的标准配备。该连接器使用麦克风的标准 XLR 连接器。引脚 1 为正极,引脚 2 为负极。Invacare 还有两个另外的针脚用于通信,该项目中不会使用。

将 XLR 接口连接到 USB 电源适配器,然后放入到一个盒子中。将电线也放到盒中,最好使用连接线。确保电线足够长,可以将其从轮椅控制模块布线至安装电源盒背面的位置。你可以在控制模块的电线后布线,确保它们不会被任何可移动部件卡住。

制作摄像头外壳



制作一个可以容纳树莓派和摄像头的外壳。外壳的侧面需要一个孔,方便 USB 电源线穿过,注意摄像头的孔要足够大,不会遮挡视线。


以大约 45° 的角度安装了摄像头并使其指向下方,以便可以看到轮椅的后轮。我使用一个塑料盒并手动切割孔,你可以选择 3D 打印外壳。

制作手机支架底盘




如图所示,将手机安装在轮椅上,我 3D 打印了一个转接板。
支架将安装在轮椅控制单元。在这个底盘上,你可以粘贴任何车载手机支架。

关于 3D 打印的文件请在项目文件库中下载。
https://make.quwj.com/project/147

组装所有组件并测试


1、将摄像头安装在轮椅后部并朝向后方,注意不能遮挡视线。
2、将电源盒安装在后面,注意不要妨碍使用。

3、使用 USB 线将树莓派连接到电源盒。

4、将带有 XLR 插头的电源盒连接到轮椅控制单元上的充电接口。
5、在手机上安装 VLC;如果没有安装,可以通过 rtsp://<IP_ADDRESS>:8554/unicast 连接到树莓派。

现在,手机上应该可以看到视频了。将手机放在底盘支架上,就可以安全出门。