查看: 114|回复: 0

[项目] DIY电动轮椅后视镜,树莓派+Linux

[复制链接]

主题

好友

1万

积分

翰林

  • TA的每日心情
    开心
    2019-11-4 13:48
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2020-5-20 09:42:59 |显示全部楼层
    MAKER:NilsP5/译:趣无尽 Cherry(转载请注明出处)本期介绍安装在电动轮椅上的后视摄像头的制作方法,该项目通过手机上的 IP 视频流来实现后视摄像头的功能,该摄像头会安装在电动轮椅的操纵杆附近。是为行动障碍人士提供帮助的实用项目。当然你也可以运用到其他领域。
    项目特点:
    1、轮椅使用 24V 铅蓄电池供电,整个项目的电源由电动轮椅提供。方便为树莓派和手机供电,充电端口可以兼容 USB 接口的电源转换器。
    2、树莓派 Zero W 用于视频流的部分,作为无线访问点,并将视频流传输到连接到无线网络的任何设备上。
    3、手机托盘将使用 3D 打印的外壳安装在轮椅的控制器旁,它将提供图像显示的功能。
    4、本项目将会用到 Debian/Linux 的基础知识。

    材料清单
    树莓派 Zero W×1
    SainSmart 广角鱼眼镜头×1
    塑料外壳×2
    XLR 插头×1
    车载 USB 接口×1
    电源线(用于 XLR 接口)×若干
    USB 电线(用于树莓派)×若干
    设置树莓派摄像头
    按照说明安装 Raspbian,请点击:
    https://shumeipai.nxez.com/2013/ ... e-raspberry-pi.html
    1、通过终端运行以下两个命令来安装所有更新:

    1
    2
    sudo apt-get update
    sudo apt-get dist-upgrade



    关机,连接摄像头,再次启动树莓派。
    2、在树莓派设置面板中,启用摄像头并启用对树莓派的 SSH 访问。
    摄像头操作流程请点击查看:
    https://shumeipai.nxez.com/2013/ ... -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
    2
    3
    4
    git clone https://github.com/mpromonet/v4l2rtspserver
    cd h264v4l2rtspserver
    cmake .
    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
    2
    3
    !#/bin/bash
    sleep 20
    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/ ... reless-hotspot.html
    然后安装 hostapd 和 dnsmasq:
    1
    sudo apt-get install dnsmasq hostapd



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



    通过编辑 /etc/network/ 界面为 wlan0 接口配置静态 IP,内容为:
    1
    2
    3
    4
    5
    6
    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 配置:
    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
    2
    3
    4
    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 地址。
    1
    2
    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 连接到树莓派。
    现在,手机上应该可以看到视频了。将手机放在底盘支架上,就可以安全出门。
    回复

    使用道具 举报

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

    关闭

    站长推荐上一条 /5 下一条



    手机版|电路城

    GMT+8, 2020-7-7 16:07 , Processed in 0.075025 second(s), 13 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz!

    返回顶部