【零基础】一起DIY智能家居 篇十一:非智能盖革计数器接入homeassistant(光学识别)上
追加修改(2022-09-26 09:14:45):
发现大家关注点有点跑偏,本文重点是非智能设备光学识别接入流程。盖革计数器只是演示设备,大家可以根据需要接入其他设备。
前言
本期以盖革计数器为例演示如何将非智能设备接入到homeassistant中
涉及内容比较多
上篇主要讲HA设置部分
硬件准备
摄像头一个
因为不想对盖革计数器进行硬件改造
而且手头有个esp32-cam
所以打算用OCR方案(光学识别)
如果所拍摄物体比较远
建议用好一点的ip cam
百元左右TP或者水星性价比都不错
还可以用闲置手机当网络摄像头
APP推荐IP Webcam
如果介意有水印的可以百度下 PJ版的 IP Webcam PRO
然后在HA里添加集成就可以了
创建OCR服务器
本来打算用自带的Seven Segments OCR组件
不知为什么我这个docker版HA没有 ,组件安装还比麻烦
干脆搭建个飞桨ocr服务器
不用设置文字坐标
也不仅限于数字
调用起来也方便
代码如下
docker run -d -p 5001:5000 --restart=always c403/paddleocr
调用例子
json 格式
curl IP:5001/ocr -F imgurl=https://res.smzdm.com/mobile/wap/dist/img/download_logo.png -F outtype=json
只显示结果
curl IP:5001/ocr -F imgurl=https://res.smzdm.com/mobile/wap/dist/img/download_logo.png
上传图片文件
curl ip:5001/ocr -F img=@/tmp/img.png
识别测试
示例图片
第一行是即时辐射值
第二行是运行5分钟之后的平均数值
识别结果
可以看到第二行就是要提取的数据
homeassistant设置
修改configuration.yaml文件添加如下代码
homeassistant:
allowlist_external_dirs:
- /config/
- /tmp/
sensor:
- platform: command_line
name: radiation
command: "curl 172.17.0.1:5001/ocr -F img=@/config/radiation_ocr.jpg -s | sed -n '2p'"
unit_of_measurement: "uSv/h"
unique_id: "sensor.radiation"
这里 sed -n '2p'" 即获取第二行数据
大家按需求自行修改
然后创建自动化就就可以了
我设置的是每天8点
摄像头截图保存在 /config/radiation_ocr.jpg
然后更新命令行传感器
alias: 每天八点自动更新
description: ""
trigger:
- platform: time
at: "08:00:00"
condition: []
action:
- service: camera.snapshot
data:
filename: /config/radiation_ocr.jpg
target:
entity_id: camera.192_168_68_94
- delay:
hours: 0
minutes: 0
seconds: 3
milliseconds: 0
- service: homeassistant.update_entity
data: {}
target:
entity_id: binary_sensor.updater
mode: single
测试ok
几行代码就搞定了
是不是很简单
闲来无事我又测试了下文字识别
还是挺好用的
总结
本文主要学习了HA的命令行传感器和orc服务器搭建
https://www.home-assistant.io/integrations/sensor.command_line/
该ocr方案相比HA自带的seven segments省去了调试的麻烦
而且也不用设置完坐标担心摄像头位移问题
缺点就是docker体积有点大(2G),不兼容ARM架构
最后附上操作视频
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
三大妈在风雨中
校验提示文案
花花花的柄
校验提示文案
Max成长日记
校验提示文案
麦麦麦啊啊啊啊啊
校验提示文案
李B刀
校验提示文案
rayno
校验提示文案
野原小老弟
校验提示文案
红烧牛肉6
校验提示文案
xiuxiuxium
校验提示文案
Hsiaopan
校验提示文案
穆穆穆穆
校验提示文案
不离火
校验提示文案
不离火
校验提示文案
穆穆穆穆
校验提示文案
Hsiaopan
校验提示文案
xiuxiuxium
校验提示文案
麦麦麦啊啊啊啊啊
校验提示文案
红烧牛肉6
校验提示文案
Max成长日记
校验提示文案
野原小老弟
校验提示文案
rayno
校验提示文案
李B刀
校验提示文案
花花花的柄
校验提示文案
三大妈在风雨中
校验提示文案