家用水表物联网检测仪

news/2024/10/23 5:51:47/

欢迎去github点星星:https://github.com/biggestorangecat/WATER_METER_DETECTOR

MIT协议,可随意更改。

micropython

 

0 引言

本报告为家用水表物联网检测仪实例的技术报告:

(1)本家用水表物联网检测仪实例的开发流程包含相机定位架、运算和显示模块固定架的机械设计;

(2)本实例采用Vscode+M5插件开发M5GO Lite,用于显示图像处理结果,并将结果通过wifi传输给阿里云;

(3)本实例采用Maxipy开发Widora AIRV r2用于处理表端图像,并将图像处理结果传输给M5 GO;

(4)本实例采用Flask Python于阿里云开发数据接收脚本。       

1机械设计方面

本实例购置了如图所示的家用水表检测仪。通过测量家用水表的相应参数,设计了相应的家用水表检测仪实例的机械结构。通过Solidworks绘制三维图纸和3D打印机打印,按照最终方案设计图制作最终实例。

设计主要分为以下两部分:

1.1底座部分

关于检测仪的底座部分,采购相应的标准家用水表,根据水表的外边尺寸规划安装固定部分。多次实践后,采用了将检测仪固定在水表表盖上的解决方案。该方案具体实施流程:一对表盖连接构件与表盖直接连接,两表盖连接结构件同时固定在中间梁架;

1.2 模块固定部分

关于M5 GO和AIRV r2模块的固定,根据官方提供的外观参数,本实例设计了相应的固定件。其设计图和实际图的最终效果如图3所示,两模块的固定件同时与中间连接件连接。关于ov2640相机的标定计算参照相关的相机标定流程。

2 硬件算法设计

整体硬件算法流程图,如图4所示。

2.1 k210图像处理模块算法设计

本实例的图像处理算法,包含针对指针的识别计算以及数字的识别计算。当完成整个表示数的检测时,通过串口将结果发送给M5 GO模块。

2.1.1 k210指针识别

基于Openmv库开发设计,包含对四个圆区域内指针的检测。检测指针内圆与小表盘外圆之间范围内满足特定像素值范围的像素信息,根据统计到的像素信息,经过相应加权计算将得到最终的指针角度,其检测效果如图5所示。

2.1.2 k210数字识别

基于K210的神经网络数字检测,利用k210芯片自带的kpu,加载kmodel网络模型,实现对印刷体数字的检测识别分类。提取五个数字矩形区域,针对五块矩形数字区域进行预处理:预处理包括灰度化、中值滤波二值化等操作。在预处理后,将预处理后矩形区域内像素数据输入进网络中进行类别预测。

针对所述kmodel模型生成的前期工作包含以下过程:

  1. 基于tensorflow编写打印字母神经网络脚本;
  2. 通过数据增广生产打印字母数据集;
  3. 训练网络并保存pb模型;
  4. 将pb转化为tflite模型;
  5. 通过ncc工具将tflite转化为可供k210加载的kmodel模型;

2.1.3串口通讯

模块完成2.1.1和2.1.2中的检测算法后,模块需要将检测结果通过串口形式传输给M5 GO模块。针对k210的串口通讯,实例选用串口2。随串口2的初始化及设置,相关串口设置信息为:比特率115200;数据位8;校验位None;停止位1。

 

2.2 关于M5 GO算法设计

2.2.1 M5 GO串口通讯

M5 GO模块采用与2.1.3同样配置完成通讯。

2.2.2 M5 GO界面设计

从左至右的数字分别表示×10000、×1000、×100、×10、×1。从右至左的小表盘分别表示×0.1、×0.01、×0.001、×0.0001。

2.2.3 数据上传

通过https请求,将2.2.1接收到的数据传输给服务器。

 

3 服务器

注册阿里云服务器,购买域名,并进行实名认证。配置服务器为ubuntu系统,安装相应开发环境。其中服务器端接收脚本基于Flask库。

此处附图为阿里云后台数据。

由于设备数目较少,并未制作数据库和相应网站,仅验证了跨域通讯功能。


http://www.ppmy.cn/news/371785.html

相关文章

高效空气过滤器检漏

广州特耐苏净化设备有限公司详细介绍:高效空气过滤器安装后的检漏 高效空气过滤器安装后的检漏是确认安装质量,检测高效空气过滤器送风口的整个面、过滤器的周边、过滤器外框和安装框架之间的密封处。检漏时,从过滤器的上风侧引入测试气溶胶…

10.过滤器

过滤器是做文本格式化的,只能用在 插值表达式 与 v-bind 上,在vue3中已经被弃用了,这里我简单记录一下并写一下在vue3的替代方法 目录 1 基本使用 1.1 vue2中的写法 1.2 vue3的替代 2 私有过滤器与全局过滤器 2.1 vue2的写法 2.2…

过滤器介绍

1、什么是过滤器? 过滤器,顾名思义就是起到过滤筛选作用的一种事物,只不过相较于现实生活中的过滤器(课上邓老师所列举的例子:滤水器、空气净化器等等),这里的过滤器过滤的对象是客户端访问的w…

实验7-3-6 字符串转换成十进制整数

实验7-3-6 字符串转换成十进制整数 题目描述 输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字…

醒醒吧,连新来的实习生都在进阶自动化,你还在点点点吗,聪明人都在提升自己!

5年测试老兵了,真的很迷茫,觉得自己不再提升自己,真的会被实习生替代。 很多朋友跟我吐槽,说自己虽然已经工作3-4年,可工作依旧是点点点,新来的实习生用一周的时间就把工作内容学会了,他的压力…

用Arduino打造智能苹果手表,可同步提示苹果手机的消息

我想要一款智能手表,它向我展示了来自iPhone的通知,尺寸足够小,并且有可充电电池持续至少一天。我基于Arduino创建了自己的Apple手表。它是基于Arduino mini pro的智能手表,通过蓝牙连接到iPhone。USB微型端口连接到电池&#xff…

制作一款可以【记录运动历史数据】的智能呼啦圈——硬件改造篇

简介:本文将从硬件选型,原理图解析以及3D建模来完成普通呼啦圈到智能呼啦圈硬件改造。 一、概述 又是在电脑前连坐几小时的一天,和大部分上班族一样,由于工作原因没空去健身房,也抽不出多少时间进行户外锻炼&#xf…

把电梯当跑步机

逸彩城中间有个大厅,大厅的两边有上下的滚梯,早上9点多,人不是很多。 我看到一个人站在电梯上,不上也不下,我还以为电梯没有开呢。 过去一看,把我乐的,他把电梯当跑步机了。 这小伙是边上理发…