找回密码
 立即注册

QQ登录

只需一步,快速开始

本帖最后由 lou 于 2020-5-7 15:06 编辑

用树莓派 Zero 制造电动轮椅后视镜



105.jpg

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

项目特点:

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

材料清单

106.jpg

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

设置树莓派摄像头

107.jpg

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

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

  1. sudo apt-get update

  2. sudo apt-get dist-upgrade
复制代码

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

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

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

  1. sudo raspi-update
复制代码

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

  1. sudo modprobe bcm2835-v4l2
复制代码

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

  1. ls - l /dev/vid*
复制代码

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

  1. raspistill -o cam.jpg
复制代码

安装V4l2rtspserver
安装软件部分

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

  1. sudo apt-get install cmake
复制代码

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

  1. git clone https://github.com/mpromonet/v4l2rtspserver

  2. cd h264v4l2rtspserver

  3. cmake .

  4. make install
复制代码

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

  1. v4l2rtspserver -W 352 -H 288 -F 10 /dev/video0
复制代码

4、用同一网络中的计算机上将 VLC 连接至树莓派输入

  1. rtsp://<IP_ADDRESS>:8554/unicast
复制代码

检查视频流是否正常工作。

5、使用你最拿手的编辑器(推荐使用 vi)在主目录中创建一个名为 launcher.sh 的脚本:

  1. !#/bin/bash

  2. sleep 20

  3. v4l2rtspserver -W 352 -H 288 -F 10 /dev/video0
复制代码

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

  1. @reboot sh /home/pi/bbt/launcher.sh >/home/pi/logs/cronlog 2>&1
复制代码

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

视频流传输的替代方法

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

  1. 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 网络就不需要连接到网络。如果报错,只需要使用键盘和显示器访问树莓派,因此在将树莓派固定在某处时,就可以这样处理。
操作流程可参照:
https://shumeipai.nxez.com/2018/03/13/raspberry-pi-double-network-cards-for-wireless-hotspot.html
然后安装hostapd 和 dnsmasq:

  1. sudo apt-get install dnsmasq hostapd
复制代码

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

  1. denyinterfaces wlan0
复制代码

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

  1. allow-hotplug wlan0

  2. iface wlan0 inet static

  3. address 172.24.1.1

  4. netmask 255.255.255.0

  5. network 172.24.1.0

  6. broadcast 172.24.1.255
复制代码

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

  1. sudo ifdown wlan0; sudo ifup wlan0
复制代码

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

  1. sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
复制代码

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

  1. DAEMON_CONF="/etc/hostapd/hostapd.conf"
复制代码

关于hostapd 的文件请在项目文件库中下载:
https://make.quwj.com/project/147
Dnsmasq
将提供的dnsmasq 配置移动到备份文件(因为它包含很多注释,会起到参考作用)

  1. sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
复制代码

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

  1. server=8.8.8.8 # Forward DNS requests to Google DNS

  2. domain-needed # Don't forward short names

  3. bogus-priv # Never forward addresses in the non-routed address spaces.

  4. 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 服务绑定到特定地址,在安装时出现一些问题。因此我们允许它在所有接口上运行。由于树莓派 ZeroW 只具有 WiFi 功能,都不会有问题除非你连接 USB 以太网接口。在这种情况下,你的接口上还是具有 dhcp 服务器的功能,如果你用网线连接,它可能会弄乱你的网络。
你不需执行任何其他步骤即可在启动时运行 dnsmasq,它会自动启动。但是,在重新启动之前,你应该测试一下,然后手动启动两种服务并检查是否可以连接到 WiFi 并获取 IP 地址。

  1. sudo service hostapd start

  2. sudo service dnsmasq start
复制代码

检查软件

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

制作电源

108.jpg

109.jpg

110.jpg

Invacare 控制是电动轮椅的标准配备。该连接器使用麦克风的标准 XLR 连接器。引脚 1 为正极,引脚 2 为负极。Invacare还有两个另外的针脚用于通信,该项目中不会使用。
将 XLR 接口连接到 USB 电源适配器,然后放入到一个盒子中。将电线也放到盒中,最好使用连接线。确保电线足够长,可以将其从轮椅控制模块布线至安装电源盒背面的位置。你可以在控制模块的电线后布线,确保它们不会被任何可移动部件卡住。

制作摄像头外壳

111.jpg

112.jpg

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

113.jpg

114.jpg

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

制作手机支架底盘
115.jpg

116.jpg

117.jpg

如图所示,将手机安装在轮椅上,我 3D 打印了一个转接板。
支架将安装在轮椅控制单元。在这个底盘上,你可以粘贴任何车载手机支架。
关于 3D 打印的文件请在项目文件库中下载。
https://make.quwj.com/project/147

组装所有组件并测试

118.jpg

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

119.jpg

120.jpg

4、将带有 XLR 插头的电源盒连接到轮椅控制单元上的充电接口。
5、在手机上安装 VLC;如果没有安装,可以通过rtsp://<IP_ADDRESS>:8554/unicast 连接到树莓派。
现在,手机上应该可以看到视频了。将手机放在底盘支架上,就可以安全出门。
分享至 : QQ空间
收藏

0 个回复

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