0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

X3Pi 内测上手体验+智能监控部署实例

地瓜机器人 2022-07-20 14:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

外观

poYBAGLXmh2AFVB4AAuZz92vSPE419.jpg


有幸拿到X3Pi的内测版本, 在树莓派疯狂涨价的这个大背景下, 一个有树莓派基本全部功能
+AI加速器BPU的X3Pi售价仅为树莓派的一半, 可以说是性价比非常高了.
先说外观: 尺寸上和树莓派保持一致, 外设接口详见如下表格.

pYYBAGLXmheAAH-TAABYAqav_LE059.png



值得注意的是, 虽然基本尺寸和树莓派一致, 但是一些接口位置和大小有所不同, 导致我手
上的两个树莓派的盒子都不能成功套在X3Pi上, 不过官方开发者论坛里已经有人放出了X3Pi
盒子的3D打印模型了, 有条件的可以自行打印.

性能
功耗上, usb-c口5V2A供电, 实测CPU空载时功率不到5W, 相比树莓派4B 5V3A的供电, 功
耗上的优势还是非常明显的. 较低的功耗不论时对于智能家居系统这种需要7x24在线的常
见, 还是移动小车无人机等电池供电功耗敏感的应用都是非常重要的.
CPU和内存方面基本能够应付日常使用, 我手上拿到的是2GB内存的版本, 有时候本地编译可
能会遇到内存不够的情况, 可能需要交叉编译, 有条件建议选择4GB的版本.
BPU推理引擎方面测试了官方提供的FCOS检测模型, 实测512x512输入.

部署实测
作为一个Home Assistant玩家, X3 Pi这个配置和加个其实完全切中了一个HA盒子的需求.这
里先简单介绍一下Home Assistant(HA), 这是一个开源的智能家居管理平台, 通过HA可以本
地接入包括米家, 涂鸦在内的各品牌智能家居配件, 打破厂家设定的生态壁垒. 它可以运行
在各种载体上: 树莓派, 群晖, 服务器等等. 首先, 作为一项服务(service), 它必须7x24
不间断运行, 因此硬件载体的功耗就是一个很重要的考虑因素, X3Pi 不足5W的待机功耗在
这一点上十分吸引人.
另外, HA社群种大家有一个很大的难题就是监控视频的AI检测: 在家里或者门口装监控摄像
头, 大家都很注重隐私, 一般会选择基于标准视频传输协议的摄像头, 避免了比如米家等大
厂的摄像头把数据上传. 而本地监控摄像头缺乏一个检测监控功能, 目前要么是通过联网
API接口, 要么是通过一些偏向传统的CV检测算法或者是用CPU硬跑AI推理, 不论是实时性还
是精度都不尽如人意. X3 Pi的出现完美解决了这个需求, 通过接受摄像头的RTSP视频流,内
置的BPU直接处理实时低延迟的处理这些信息, 把有用的检测信息推送的HA系统中.

下面我按照这个思路实现了一个简单的例子, 抛砖引玉:


安装教程

1. 安装Simple RTSP Server
只要直接去github下载打包文件到X3Pi上解压就可以运行, 注意选择armv 版本
2. 从官网下载OpenCV, 编译时开启GStreamer, 这一步有几个坑:
a. 2GB内存上源码OpenCV比较慢有点难度, 可以选择交叉编译, 懒得搞交叉编译的我这里提供一个方法:
编译的时候关闭其他不必要测试和文档:
```
cmake -D BUILD_EXAMPLES=OFF -D BUILD_opencv_apps=OFF -D BUILD_DOCS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D CMAKE_INSTALL_PREFIX=/usr/local/ -D WITH_GSTREAMER=ON ....
```
b. python调用的时候, 如果之前有通过pip包安装的opencv, python会默认使用pip包的, 这时候需要先写在pip安装的:
```pip uninstall opencv-python```
c. 最后测试一下python 的opencv是不是能够使用gstreamer了:
```python -c "import cv2;print(cv2.getBuildInformation())"```
如图所示, GStreamer这里如果显示NO就说明没有安装成功, 必须是YES才行

poYBAGLXmheAbiaJAADHv8YrPcE224.png


3. 下面以MIPI相机为例, 给出一个打开相机->FCOS检测->推流的代码例子
a. 首先新建一个terminal, 运行rtsp-simple-server, 注意需要保持这个service处于运行状态.
b. 接好F37相机, 同时结合官方给出的MIPI相机+FCOS例子, 把渲染后的检测结果推流到rtsp相机种.
具体代码如下见附件, 这里提一句, gstreamer的RTSP推流是需要稳定的帧率的,

所以代码里设定了一个比较低的帧率, 然后在while循环中动态判断sleep时间以达到稳定帧率的效果
c. 如果一切顺利的话, 可以在利用VLC或者PotPlayer打开查看, 或者直接在浏览器打开
其中http是可以直接在浏览器打开的: http://192.168.0.115:8888/mystream/

RTSP协议可以在VLC或者PotPlayer中打开rtsp://192.168.0.115:8554/mystream/

pYYBAGLXmiWANDxYABm7ybSgtE8489.png



使用示例
1. 可以通过Home Assistant官方的Stream插件直接接入RTSP流, 可以在网页端实时查看

pYYBAGLXmhaAH4jQAABxxzJsXpg098.png

poYBAGLXmhiAI6AZAAOnMLm_I68558.png


2. 既然已经接入了Home Assistant, 如果是苹果用户的话, 把摄像头接入Homekit就不在话下了, 这样可以
3. 可以在Python脚本里加入MQTT, 把检测到的人脸/人体信息发送到MQTT服务器, 成为Home Assistant的人体传感器


本文转自地平线开发者社区

原作者:manymuch

原链接:https://developer.horizon.ai/forumDetail/98129467158916262

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5210

    文章

    20692

    浏览量

    337597
  • AI
    AI
    +关注

    关注

    91

    文章

    41479

    浏览量

    302801
  • 人工智能
    +关注

    关注

    1821

    文章

    50396

    浏览量

    267201
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PI7C9X130:PCI Express与PCI - X的高效桥梁

    PI7C9X130:PCI Express与PCI - X的高效桥梁 在当今的电子系统设计中,如何实现不同总线标准之间的高效连接是一个关键问题。PI7C9X130作为一款PCI Express到
    的头像 发表于 03-13 16:05 309次阅读

    PI3HDMI511A HDMI应用信息解读

    PI3HDMI511A HDMI应用信息解读 一、引言 PI3HDMI511A 是一款用于源应用的 HDMI 1.4 重驱动器,它能够对来自双模 DP 源或 HDMI 源的 TMDS 信号进行重驱动
    的头像 发表于 02-28 15:05 311次阅读

    深入解析PI7C9X113SL:PCIe到PCI/PCI - X的桥梁专家

    深入解析PI7C9X113SL:PCIe到PCI/PCI - X的桥梁专家 作为一名电子工程师,在日常的硬件设计开发中,我们常常会遇到不同接口标准之间转换的问题。今天,就来和大家详细聊聊
    的头像 发表于 02-26 17:45 1771次阅读

    探索PI7C9X2G312GP:高性能PCIe 2 3 - 端口/12 - 通道数据包交换机

    探索PI7C9X2G312GP:高性能PCIe 2 3 - 端口/12 - 通道数据包交换机 在电子设计领域,PCI Express(PCIe)技术一直是实现高速数据传输和系统连接的关键。今天,我们
    的头像 发表于 02-26 16:35 297次阅读

    PI7C9X110:PCI Express到PCI可逆桥接器的技术剖析与应用指南

    PI7C9X110:PCI Express到PCI可逆桥接器的技术剖析与应用指南 在当今的电子科技领域,PCI Express和PCI技术是I/O互连技术市场的重要组成部分。然而,将现有的PCI产品
    的头像 发表于 01-31 15:20 1104次阅读

    CoolMonitor 监控系统部署及公网访问方案

    监控是一个高颜值的监控工具,支持网站监控/接口监控/HTTPS证书监控等多种监控类型,帮助开发
    的头像 发表于 01-19 14:42 942次阅读
    CoolMonitor <b class='flag-5'>监控</b>系统<b class='flag-5'>部署</b>及公网访问方案

    【深圳】嵌入式AI实战:半天上手,人形检测模型部署+优化全流程

    12月27日(周六)深圳南山区,我们举办一场纯干货的嵌入式AI实战培训!全程动手操作,半天时间让你从零上手,完成AI模型的部署与优化。
    的头像 发表于 12-17 15:16 986次阅读
    【深圳】嵌入式AI实战:半天<b class='flag-5'>上手</b>,人形检测模型<b class='flag-5'>部署</b>+优化全流程

    【深圳】嵌入式AI实战:半天上手,人形检测模型部署+优化全流程

    12月27日(周六)深圳南山区,我们举办一场纯干货的嵌入式AI实战培训!全程动手操作,半天时间让你从零上手,完成AI模型的部署与优化。
    的头像 发表于 12-17 14:40 649次阅读
    【深圳】嵌入式AI实战:半天<b class='flag-5'>上手</b>,人形检测模型<b class='flag-5'>部署</b>+优化全流程

    【深圳】嵌入式AI实战:半天上手,人形检测模型部署+优化全流程

    你是否在项目中遇到这些痛点:AI模型太大,无法高效部署到资源受限的嵌入式设备?模型优化后,内存和算力平衡难把握?想快速将AI应用到智能摄像头、机器人视觉等真实场景?12月27日(周六)深圳南山区
    的头像 发表于 12-16 18:31 76次阅读
    【深圳】嵌入式AI实战:半天<b class='flag-5'>上手</b>,人形检测模型<b class='flag-5'>部署</b>+优化全流程

    智能防雷预警检测监控系统行业部署方案

    智能防雷预警检测监控系统 是一套集雷电环境监测、雷电风险评估、设备运行监控及预警发布于一体的综合性防雷体系,广泛应用于电力、通信、轨道交通、石化、建筑、大数据中心等行业。其核心目标是实现“提前预警
    的头像 发表于 11-20 11:35 445次阅读
    <b class='flag-5'>智能</b>防雷预警检测<b class='flag-5'>监控</b>系统行业<b class='flag-5'>部署</b>方案

    探索 Kunlun Pi | 基于匠芯创D13x系列开发板分享(二)

    探索 Kunlun Pi | 基于匠芯创D13x系列开发板分享(二)
    的头像 发表于 11-18 18:11 2113次阅读
    探索 Kunlun <b class='flag-5'>Pi</b> | 基于匠芯创D13<b class='flag-5'>x</b>系列开发板分享(二)

    如何部署流媒体服务实现监控功能--基于米尔TI AM62x开发板

    本文将介绍基于米尔电子MYD-YM62X开发板(米尔基于TIAM62开发板)的部署流媒体服务实现监控功能方案的开发测试。摘自优秀创作者-HonestQiao米尔-TIAM62x开发板除
    的头像 发表于 07-03 08:03 3978次阅读
    如何<b class='flag-5'>部署</b>流媒体服务实现<b class='flag-5'>监控</b>功能--基于米尔TI AM62<b class='flag-5'>x</b>开发板

    【Banana Pi BPI-RV2开发板试用体验】部署内网穿透

    BPI-RV2 RISC-V开源路由器之部署内网穿透 背景 最近刚弄到一块 BPI-RV2 RISC-V 开源路由器,刚好自己有个云服务器和公网IP,打算在openwrt上面部署frp来做内网穿透
    发表于 06-29 20:05

    轻松上手边缘AI:MemryX MX3+结合Orange Pi 5 Plus的C/C++实战指南

    在 AI 和边缘计算快速发展的时代,MemryX MX3+ 加速卡凭借其 20 TOPS 的强大性能和低功耗(5 TFLOPS/W),成为边缘智能应用的理想选择。结合 Orange Pi 5 Plus(Rockchip RK35
    的头像 发表于 05-28 08:01 1014次阅读
    轻松<b class='flag-5'>上手</b>边缘AI:MemryX MX<b class='flag-5'>3</b>+结合Orange <b class='flag-5'>Pi</b> 5 Plus的C/C++实战指南

    CyU3PI2cReceiveBytes在读取操作期间缺少重复的启动和停止,什么原因引起的?

    = CY_U3P_SUCCESS; CyU3PI2cPreamble_tpreamble; mini640VdcmdData_tcmdData; mini640CmdSts_tcmdSts; uint8_t
    发表于 05-13 06:09