物联网提供商的说明。 LoRaWAN和RS-485

您好亲爱的物联网爱好者。 我继续我的系列文章。


第一部分第二部分第三部分第四部分第五部分

因此,我们学习了如何处理计数器的脉冲输出并掌握了加密技术。 下一步是什么? 答案很明显。 RS-485。

有点理论。 RS-485(推荐标准)是异步物理层接口。 他在工业Internet上获得了极大的欢迎,从公用事业到各种工厂和企业的结束。


原则上,几乎所有不愿给我们一个仪表,但最有可能给我们几个参数的仪表都将配备RS-485。 不太常见的是RS-232或M-Bus,但现在让我们将它们放在一边,分析最能说明问题的示例。 更确切地说,与他合作时遇到了问题。



速度问题


RS-485是有线标准。 LoRa-无线。 逻辑上必须有某种能够与他们交朋友的设备。

好吧 生产线中几乎每个终端制造商都具有带有RS-485支持的无线电模块。 它基于透明通道的原理工作。 所有通过网络的数据包都打包为LoRaWAN数据包的有效负载,然后发送给传输。 或被接收并转换为电脉冲。


这是第一个问题。 RS-485是一个非常高速的接口。 它上的数据包以几千比特/秒甚至几十秒的速度运行。 例如,典型的Modbus速度之一是9.6 kbit / s。


即使具有最佳SF = 7(125 kHz,4/5),LoRa也会压缩5.5 kbit / s。 使用更高的SF将会更少。

这意味着对某些电表的值的调查将不需要几秒钟,甚至不需要几十秒钟。 比分将持续几分钟。 这是经过适当调整的等待时间。 如果您保留默认设置,则您的调查很可能以超时错误结束。 对于LoRaWAN数据包长度的限制,我保持沉默。 只是有麻烦。



轮询问题


使用脉冲输出,一切都很简单。 我们对脉冲进行计数,然后将它们乘以除法价格并获得仪表读数。 任何简单的界面都可以处理。 这样的接口,除了简单之外,还将更加通用。


使用RS-485,一切都会变得更糟。 令人惊讶的是,许多人不了解一件重要的事情。
RS-485不是交换协议! 它没有指定进入其中的数据包的格式。 实际上,它只是一种传输介质。 仅指定接口的电气和时间特性。 仅此而已! 上面的所有物品都必须已经分别拆卸。


而且有一些需要拆卸的东西! 在我们的环境中,每个制造商都可以完成自己想要的事情。 好吧,或者事实证明对他个人来说很方便。 例如,VKT-7热量表将通过ModBus与我们通信。 和Energomera-通过GOST R IEC 61107-2001。


这些都是从上方叠加在传输介质上并且具有更高级别的协议。 每个协议都有其自己的框架组成,要求其自己的团队执行某些操作,提供不同的值存储(并因此进行轮询)。 因此,每个设备都需要自己的轮询脚本。 而且,即使在一个协议(相同的ModBus)的框架内,该脚本也因设备而异。


协议本身并不是秘密,并且在大多数情况下是开放的。 此外,每个制造商的网站通常包含一个免费实用程序,您可以使用该实用程序询问设备。 但是这些实用程序不是通用的,并且对于一个制造商来说是更加完善的。 而且我们还记得几乎总是有很多设备。 并同时在客户端上放置多个程序...好吧,这不太方便。


有两种方法。 或写自己的东西。 或采用其中已编译了最流行设备的轮询脚本的程序。 市场上有许多现成的解决方案,例如“ LERS-accounting”或“ YaEnergetik”。 但是他们得到了报酬并且花费了很多钱。 以及其软件的开发。

此外,如果我们谈论的是工业互联网(也就是说,我们超越了住房和公共服务的框架),那么现成的通用解决方案将不再对您有帮助。 如何成为


没办法


如果您仍然打算通过透明通道通过LoRa进行轮询,则仍然会遇到速度限制和超时。 它可能不会立即生效,也不会在第一个设备上生效,但是会发生。


标准发行


除了所有麻烦之外,我们还有其他麻烦。 因为 RS-485意味着我们可以随时与该设备联系,其支持的LoRa无线电模块必须为C类。也就是说,始终收听广播并准备应答。

让我提醒您,C级并不意味着电池电量大,但是麻烦并不那么严重。 通常,可以从RS-485获得外部电源。


更糟的是另一个。

根据法律,我们可以在两个频率范围内运行。 还记得864-865 MHz的限制吗? 播放时间不超过0.1%? 这意味着每个单独购买的设备可以在空中播放,例如每小时不超过3.6秒。 但是在这段时间内,当SF = 12时,我们甚至不会推送三个包裹。

您可以尝试从通道868.7-869.2中挤出最大值。 但是,LoRaWAN规范的区域标准的另一项限制在此处生效-每个终端设备(占空系数)的通话时间不得超过广播时间的1%。 OK,已经很容易了,只需36秒。 只是感觉还不是真的。



在某个时候,我们可以说-哦,他们,这些废话! 我将在必要的时间坐在电视上! 但随后出现:


醚容量问题


LoRa不会交换短而稀有的数据包。 实际上,整个标准就是以此为基础的。 每个设备的播出时间都应尽可能短。 然后,我们将减少发生碰撞的风险,并能够实现每个BS数千个radimodules的惊人密度。 如果一个无线电模块像机枪一样在数据包中乱涂会怎样? 其频率在传输时被占用。 在回答问题时,所有频率都被占用,因为 基站发送自身时什么也听不到。


当然,没有人取消积压以增加容量。 即 如果一个无线模块的覆盖区域中有两个BS,则一个仍将响应,第二个可能会听到其他分组。 但是,醚不是橡胶。 如果每个无线电模块将花费一分钟来交换数据包,则在一个小时内,每个BS可以挂断不超过60个终端设备,这是因为没有冲突。 很少,尤其是当您回想起城市中每个BS的作用半径约为2 km或更大时。


那不是吗


事实证明,我们的LoRaWAN网络仅限于具有脉冲输出和监视系统的设备,哪里记录了旅行的事实?


不行

我们只是试图使用无法做到这一点的人际网络的概念。 同意,这是我们过度使用稳定的互联网渠道的习惯。 例如,打开一个视频,在缓冲区中抓取股票,然后不观看。 即 流量会通过,但实际上不会使用。

但是,这里的一切都不同。 我们的速度不快,也没有时间播放。 必须谨慎使用。 你能想到什么?


答案在表面上。 不要通过LoRa在RS-485上驱动大量协议开销流量。

轮询脚本可以下载到无线电模块本身。 他将以特定频率在现场询问仪表,并仅向我们发送预先约定的干燥值。


此方法有两个缺点:


  • 这样的无线电模块需要某些计算资源。 在当前的技术发展水平上,这不是一个大问题。
  • 这样的无线电模块消耗更多的功率。 但是在透明通道的情况下,我们被迫使用C类,该类也不依靠电池供电。 就是这样

但是我们以2-3个软件包的形式获得了我们需要的所有信息。 然后,如果实际上需要几个参数,则所有内容都将合而为一。 确实,经常发生我们不需要传递ALL(一组相当有限的值)的情况。

无线电模块可以每小时发送一次数据。 在服务器端,我们将它们存储。 如果您需要访问归档文件,则服务器甚至不必轮询设备。


当然,您需要具有某种通用无线电模块,可以在其中加载各种脚本。 以及能够感知此类信息的界面。 这不是一个简单的方法,而是仅满足所有要求和限制。

目前,越来越多的制造商正在做出这一决定。 Vega正在准备类似的设备; icbcom,ORION M2M等已经有了。

因为 如果我们使用一个自写的界面,那么我们会有类似的发展。 在某个时候,很明显,如果我们不深入,我们就根本无法工作。


除了节省流量的技巧外,我们仍然需要一个良好的网络,使设备以最小的SF和最大的速度运行。 我强调-不是所有SF = 7的网络。 您仍然无法实现这一目标。


这样的网络寻求SF = 7。 这意味着有能力进行计划和ADR。


在输出端,我们获得了足够的速度来传输数据包,每个BS仍然有大量的无线模块,并且能够与高于脉冲输出水平的接口一起工作。 这是必需的。


PS同事,我感谢大家的反馈。 告诉我,您仍然对学习LoRaWAN或物联网感兴趣吗? 答案可以在PM或评论中写给我。 对于最有趣或最庞大的请求,将发表文章。

Source: https://habr.com/ru/post/zh-CN414159/


All Articles