当前位置: 首页 > news >正文

jetson nano系统板MQTT到HA部分配置及项目运行流程心得

事先申明:该部分项目记录基于端到端项目中期,以HA为中轴,前面已经完成win摄像头RTSP推流到nano、并部署opencv活物检测警报项目,基于此过程再实现检测信号经由MQTT转到HA。具体前面部分流程以后有机会补发。

第一步:MQTT Broker 搭建
由于我是docker版的HA,所以我是从同一主机跑 eclipse-mosquitto 容器,端口 1883 暴露给局域网。
1)准备mosquitto 配置

mkdir -p ~/mosquitto/config ~/mosquitto/data ~/mosquitto/log
cat > ~/mosquitto/config/mosquitto.conf <<'EOF'
listener 1883 0.0.0.0
allow_anonymous true # 先匿名,后续再加账户
persistence true
persistence_location /mosquitto/data/
EOF

如果需要密码,把 allow_anonymous true 删掉,改为:
allow_anonymous false
password_file /mosquitto/config/passwd

2)在拉取容器后运行
docker run -d --name mosquitto
-p 1883:1883
-v ~/mosquitto/config:/mosquitto/config
-v ~/mosquitto/data:/mosquitto/data
-v ~/mosquitto/log:/mosquitto/log
eclipse-mosquitto:2

3)自检

开两个终端

mosquitto_sub -h 192.168.2.55 -p 1883 -t 'doorbell/motion/#'
mosquitto_pub -h 192.168.2.55 -p 1883 -t 'doorbell/motion/test' -m '{"ping":1}'

可以看到终端输出信息'{"ping":1}'

第二步 conda环境添加依赖
我需要在我的python环境添加paho-mqtt依赖库。由于我使用的是miniconda环境,所以只需要在终端做已下工作即可
conda activate daily #环境名
pip install paho-mqtt>=1.6.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

下载指令+包名+镜像源(加了会快点)

第三步 修改项目代码
代码略过,主要对功能做了以下修改:
配置与依赖:settings.yaml 新增 mqtt 配置块(指向 192.168.2.55:1883);requirements.txt 增加 paho-mqtt。
录像器:recorder.py 追踪当前文件并提供 get_latest_video_path。
连接器:ha_connector.py 支持 dict 配置、MQTT 发布 publish_motion,保留 REST 事件,初始化时输出 REST/MQTT 启用状态。
主线程:main.py 使用配置 dict 初始化连接器;报警时取最新视频路径并发布 MQTT(同时可选 REST 兜底)。

第四步 HA添加MQTT集成
这一步的前提是已经docker上已经运行homeassitant,并且已经安装HACS插件,然后再进行MQTT的集成。
打开 HA 前端 http://192.168.2.55:8123/config/dashboard
设置 → 设备与服务 → 添加集成 → 搜索 MQTT → 填写:
代理:192.168.2.55
端口:1883
用户名/密码:若匿名则留空;若设置了 passwd 则填写
保存,看到 “MQTT 已连接” 即成功。
然后进入集成,进行设置监听话题doorbell/motion(当然这是项目代码的设计)
然后去尝试连接监听,等待项目代码发送的信号。
那么就可以使用MQTT的集成服务,利用这进行自动化设计。

那么到这里就可以配置完成,后面是项目输入端到输出端的调试。
主要工作流:win_视频流---RTSP-->nano---识别获取信号---mosquitto_MQTT--->docker_HA_MQTT--->自动化---信号模板匹配条件---输出接入插座设备开关
遇到的问题:在这一部分最终从输入端到输出端的黑盒测试中,发现结果不匹配。深究一点一点调试信号,发现主要卡在自动化模板匹配上面,所以对于这样一个微小的端到端项目都会存在中途出错,那么在开发过程,实际的每部分技术验证和信号测试交付都要注意,这能够快速定位到问题存在的地方。

http://www.jsqmd.com/news/295224/

相关文章:

  • 救命神器!专科生必看8款AI论文写作软件测评与推荐
  • 个人算法学习项目+github+IDEA leetcode-editor插件
  • STM32之控制变量与函数的存储位置
  • 当前市场上,6个顶尖AI论文平台入选推荐榜单,涵盖写作辅助和降重优化
  • 通过数据分析,这6个AI论文平台在排名中表现优异,支持论文创作与智能降重
  • 最新发布的AI论文平台排名中,6款工具因双功能集成成为研究者首选
  • 【图像去噪】基于均值+中值+高斯低通+硬阈值+软阈值+半软硬硬阈值+广义小波阈值图像去噪(含PSNR和MSE)附Matlab代码
  • 在学术领域,6个推荐的AI论文平台排名靠前,提供写作和降重一站式服务
  • 高效学术工具榜单中,6个AI论文平台因其降重与写作协同能力上榜
  • 根据最新研究,AI论文平台排名显示6个高效工具,兼具论文写作与降重双重功能
  • 结合多维度评估,6个AI论文平台被列为优先选择,尤其适合快速修改与创作
  • 专业评测机构推荐的6个AI论文平台,在智能写作和重复率优化方面表现突出
  • 针对科研需求,这6个AI论文平台凭借写作与降重双功能获得高评价
  • 用户反馈显示,6个入选排名的AI论文平台操作便捷,尤其擅长改写和降重
  • 【电力系统】两节点电力系统的高斯 - 赛德尔(Gauss-Seidel)潮流计算MATLAB代码,求解电力网络中 PQ 节点(母线 2)的电压幅值和相角
  • 【雷达跟踪】面向目标跟踪的雷达干扰方法:提升航空器战场生存力的关键技术附Matlab复现含文献
  • 实用指南:数据库圣经——第三章CRUD(二)
  • 2026年非标PEEK零部件定制选型指南:从技术适配到供应链保障的全维度评估框架
  • 2026年耐高温PEEK零部件厂家选型指南:从技术到场景的全维度评估框架
  • buy a civil servant.
  • 在vs2015中使用vs2019的编译器
  • 华为OD机考双机位C卷- 返回矩阵中非1的元素个数/数值同化 (Java Python JS C++ C )
  • 华为OD机考双机位C卷- 分月饼 (Java Python JS C++ C )
  • 万字亿集流量系统架构总结笔记(上)
  • 万字亿集流量系统架构总结笔记(下)
  • 知识图谱的可验证性:断言图谱的设计原理
  • 量子计算:未来计算的新纪元 - 指南
  • 云原生第一周作业
  • 【路径规划】基于快速探索随机树 (RRT) 和概率路网 (PRM) 进行串联运动规划器的路径规划附matlab代码
  • 【图像加密】基于仿射变换和双随机相位的图像加密算法实现附matlab代码