BLE如何在水表应用实现1拖7数据采集?

news/2024/11/8 14:47:12/

在集中式水表抄表应用中,一种合理的通讯方案是采用BLE本地1拖7采集,再通过NB远传,具体是1个水井中装有8只水表,其中7只水表装E95透传从机模块,剩下1只水表装E92主从一体模块+NB模块,7只从机水表将数据汇总到这1只主机水表,主机水表再通过NB上传至基站+后台。

  具体从机水表1天传n次数据给主机,通信由从机发起,从机1次上报的数据量是35bytes左右,主机回复的数据量也是35bytes左右,主从机间是双向通信。1个回合中,从机可能会有多次数据上报。

  主机上电开始扫描周围从机,当扫到全部7个从机后,主从1V1连接上,主机发送抄表指令,从机进行第1次数据上报,主机收到后下发第1个回复包,从机收到后发起第2次上报......,直到从机数据全部上报完毕。再去连第2个从机,依次类推。待主跟7个从机全部通信一轮完毕后,主机断开连接。

  注:客户选择主机跟7个从机保持长连接,即7个连接同时存在,原因是客户后台可能随时会有数据下发,所以从机要随时待命。

  如果客户没有后台数据随时下发这个需求,可以采用主机跟1号从机1V1连接、通信完,断开连接,再去连接2号从机,依次类推。这种方式的好处是主机只维护1个连接,数据处理能力会更强。

  经沟通,客户的痛点是:

  ●主机要尽快扫描到从机广播。

  ●7个从机必须全部扫描到。

  一、描述

  1、1主7从通信流程细化

  主机:上电初始化,主要包含设置连接参数、扫描参数——开启扫描(必须要扫描到全部7个从机)——停止扫描——对1号从机发起连接——使能notify——发送抄表命令——收数据,直到数据全部上报完毕——对2号从机发起连接——依次类推,跟全部7个从机连接上,并通信完毕——主动断开连接。

  从机:上电初始化,主要包含设置广播参数——进入广播态——收到主机抄表命令后上报数据,直到数据全部上报完毕——保持连接状态——主机断开连接后,保持广播态。

  2、参数设置

  主、从机相关参数设置,如下所示:

  1、E95从机

  出于降低功耗考虑,广播间隔选择2s。

  2、E92主机

设置扫描参数

  0x01,0xFC,0x34,0x2F,0x00, 0x64,0x00,  0x5A,  0x01,  0x01,  0x07,  0x80,  0x32  ,0x64,0x00,  0x28,0x00  ,0x00,  0x01 //设置扫描参数

  0x64,0x00=100*625us=62500us=62.5ms,扫描间隔。//因为从机广播间隔是2s,比较大,为了尽快扫描到从机,主机扫描间隔设置的小一些,比如说采用默认值62.5ms。

  0x5A=90%,scan duty占空比。//也是为了尽快扫描到从机,占空比设置的大一些,比如90%,即一个扫描间隔里,扫描窗口开90%,剩下10%时间处理其他事件。

  0x01=主动扫描。//推荐设置成主动扫描,可获取扫描响应。

  0x01=1M phy。

  0x07=扫描37、38、39信道。

  0x80=-128dbm,rssi阈值。

  0x32=每次扫描可缓存最大设备数,50个

  0x64,0x00=100*100ms=10 000ms=10s,一次扫描持续的最长时间10s。//因为广播间隔是2s,建议采用默认值10s,10÷2=5,即给主机留了5个广播包时间,来扫描到从机。

  0x28,0x00=40ms.   //改参数指定空闲时间。

  0x00=不允许重复上报。

  0x01=连续扫描

设置连接参数

  0x01,0xFC,0x36,0x0F,0x00,  0xA0,0x00,  0x32,  0x01  ,0x18,0x01   ,0x64,0x00,  0x64,0x00  ,0x00,0x00  ,0xB0,0x04//设置连接参数

  0x00 A0=160*625us=100 000us=100ms//推荐使用默认值100ms,此处扫描间隔,跟ID=0x34指令中的扫描间隔含义是一样的,区别是使用场景不同,比如说主机保持1V7连接,突然与1个从机的连接断开了,那么主机就直接用0x36指令发起连接。

  0x32=50%,扫描占空比。//此处的扫描占空比不能设置的太大,一般采用默认值50%,因为设置的太大,那么一个扫描间隔中,主机几乎都处于扫描态,那么它就没空处理连接事件了,可能会导致连接断开。

  0x01=PHY 1M.

  0x18,0x01=280*100ms=28000ms=28s,连接失败检测超时。//指MCU给主机发送0x36指令后,一旦≥28s连接还未建立成功,那么主机会吐出连接建立失败的log。

  0x64,0x00=100ms,最小连接间隔。//连接间隔可以根据自己应用层数据量来决定,注意如果客户想设置成某个值,那么建议主、从机的最小、最大连接间隔都设置成这个值。

  0x64,0x00=100ms,最大连接间隔。//同上。

  0x00,0x00=0s,从机潜伏次数。

  0xB0,0x04=1200*10ms=12000ms=12s,初始连接丢失监测超时时间。//如果客户采用长连接,为了保证连接的稳定性,必须设置成≥12s(经验值)


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

相关文章

OR值的意义和计算公式,和95% CI

OR值的意义和计算公式,和95% CI ML_NI_CSU 2014-11-11 21:49:47 34780 收藏 2 展开 OR值的全称是oddratio,又称比值比,对于发病率很低的疾病来说,它是OR值即是相对危险度的精确估计值。 计算公式如下: Odd ratio, 95%CI 假…

为什么蓝牙一主多从能解决集中式水表抄表难题?

我们曾在《意外风险直升?利尔达燃气智能解决方案助力安全过冬》一文中介绍过基于利尔达E9x系列蓝牙模组的主从一体多连接方案。该方案能保证在低功耗的前提下实现多设备互联互通。蓝牙一主多从是怎么解决集中式水表抄表难题的呢? 一、计算背景 在集中式…

FLIR E95红外热像仪,带你走进建筑诊断解决方案

众所周知,从商业摩天大楼到工业制造厂,关键设施必须维持在一个相对安全可靠的环境,以实现最佳运营。为满足这一需求,更多建筑团队正利用FLIR红外热像仪加强周边的入侵检测,并简化入口处的体表温度升高筛查。如今&#…

957E

题意: Arkady在一个有n架飞机的机场做交管员。飞机的移动可以看做是在一维坐标系上&#xff0c;Arkady的站台位于原点&#xff08;0坐标&#xff09;。第i架飞机位于 xi x i 坐标&#xff0c;以速度 vi v i 向站台移动&#xff08;保证 xi∗vi<0 x i ∗ v i < 0 &#x…

以安全为重,利尔达推出燃气表报警器联动解决方案

近日&#xff0c;由于改天然气管道公司未严格执行燃气管道巡线检查制度&#xff0c;相关设备运行存在严重缺陷&#xff0c;十堰市张湾区车城街办艳湖社区菜市场发生严重的燃气爆炸事故。 夏季安全形势严峻&#xff0c;事故频发。利尔达燃气表报警器联动解决方案可有效解决此类问…

E95-DTU(4G01-485)数传电台的特点及其应用详解

1、E95-DTU(4G01-485简介 E95-DTU(4G01-485)是采用 4G CAT1 方案的云数传电台&#xff0c;电台支持微信小程序简单配对使用。可以显现一对一、一对多、多对多等复杂应用场景。由于采用了云技术&#xff0c;数传电台相互透传的距离不受限制。 云数传电台作为一种突破性的数传产…

意外风险直升?利尔达燃气智能解决方案助力安全过冬

伴随着超强冷空气席卷而来的“断崖式”降温&#xff0c;城乡居民燃气用量大幅增加&#xff0c;安全风险指数也直线上升。 2021年10月21日&#xff0c;沈阳一饭店发生燃气事故&#xff0c;致5死30余伤&#xff1b; 2021年10月24日&#xff0c;大连一居民楼发生燃气爆炸&#x…

在 iPhone 和 Android 上恢复已删除的微信消息/聊天的 3 种方法

微信是一款面向移动用户的免费即时通讯应用程序。它适用于 iOS 和 Android。 好消息是&#xff0c;在微信 经历了如此艰难的运行之后&#xff0c;它仍在我们身边&#xff0c;并将在其新所有者恢复工具的帮助下继续发展。 微信 是一个相当受欢迎消息应用程序。非常简单易用&am…