MQTT 是一种用于连接物联网 (IoT) 的流行协议。但它与窄带物联网(NB-IoT)不兼容,后者是大多数物联网项目越来越流行的通信标准。它在原型设计期间工作正常,给公司一个错误的印象,即MQTT是正确的协议选择。
但是,使用 MQTT 的产品在现场时很有可能会遇到性能问题或完全出现故障。许多制造商和系统集成商没有意识到随之而来的风险,这一事实加剧了这个问题:高费用的支持工作,需要重新吸引开发团队,将固件更新分发到设备组的问题以及产品召回。
NB-IoT是一种蜂窝技术,适用于受限的(通常)电池供电设备,属于低功耗广域网(LPWA)网络类别。与LTE等更传统的标准相比,它承诺成本低,电池寿命长,覆盖范围更广。它是资产跟踪、智能计量、智能城市和其他需要很少数据(如地理定位、传感器数据或错误代码)的连接设备的理想选择,并且已经用于部署与日俱增的实际应用中。
NB-IoT网络目前在64个国家(包括美国,中国,澳大利亚和欧洲大部分地区)运营,全球166家运营商正在投资扩大这一覆盖范围。但是,尽管它有好处,但仍然存在一个未被宣传的潜在障碍,如果它没有在产品开发早期被发现,可能会阻止10年或更长时间的稳定产品生命周期。
NB-物联网的工作方式与互联网的其余部分不同
NB-IoT针对用户数据报协议(UDP)进行了优化,但大多数互联网使用传输控制协议(TCP)进行基本通信。TCP是某些项目(如网站,文件下载和电子邮件)的不错选择,因为它可以保证数据到达,按正确的顺序排列,并允许在损坏的情况下进行错误检测和重新传输。
但是TCP需要对设备本身有更多的处理能力,导致更多的能源消耗,并且消耗更多的流量。如果您的设备想要发送单个字节(例如,指示灯打开或关闭,以 1 或 0 的形式发送),则开销 TCP 元数据是另一个 40 字节。在实践中,数据很少以单个字节发送,但值得注意的是,因为蜂窝数据传输是一个沉重的能源消耗,必须在电池供电的设备上最小化。
更糟糕的是,如果来自其他设备的无线电干扰,如果设备位于地下室等接收较差的区域,或者数据丢失或损坏,则TCP的重传机制将启动并消耗更多数据。这些场景在蜂窝网络中很常见,这意味着设备再次发送整个数据包,相当于两倍的流量和两倍的能量。
这些特性使 TCP 成为电池供电设备或受限硬件的不良选择。由于NB-IoT针对受限设备进行了优化,因此3GPP围绕全局UDP对其进行了标准化。
在网络导航物联网上使用 MQTT 时的陷阱
许多产品制造商选择MQTT作为设备和云之间的数据交换协议,因为它得到了云提供商和物联网应用支持平台的广泛支持。他们也经常选择MQTT,仅仅是因为他们在开发以前使用Wi-Fi或LTE的连接产品时使用了MQTT。
但 MQTT 依赖于 TCP 的纠错和重传方案,并且与无线网络、LTE 和以太网配合良好。这并不是说TCP与NB-IoT不兼容,但是当公司试验该技术时(例如,在构建原型时),他们的工作条件并不反映设备在其部署生命周期的后期会遇到的情况。
因此,如果您有“足够好”的网络覆盖范围,MQTT和TCP可以很好地工作。而且,由于大多数办公室不在地下和/或位于无线电覆盖范围很大的大城市,而这些问题很少,因此许多公司认为MQTT将自动工作以用于其特定用途。毕竟,原型是成功的,所以他们在不知不觉中向市场发布了一个低于标准的产品。
然后,一旦部署,他们开始收到来自有问题的客户的投诉,因为他们不知道将支持NB-IoT的设备放置在接收不良的地下室的后果。
像任何技术一样,TCP连接可能会并且将会失败,从而导致重复的数据重新传输。这导致流量浪费在实际业务数据以外的开销上,电池寿命缩短,用户体验不佳。
对于使用TCP的项目来说,还有另一个滴答作响的定时炸弹:NB-IoT网络越拥挤,TCP连接失败的频率就越高。因此,即使公司针对不良的本地接收优化其设备,性能也会随着时间的推移而降低。
解决业务影响
起初似乎是一个好的产品发布,现在可能会带来灾难。高延迟会导致糟糕的用户体验,并且根据用例,可能会完全破坏项目。然后,最终用户理所当然地抱怨他们的设备无法按预期工作。
因此,必须重组开发团队,或者必须组建一个不了解系统的新团队进行改进。然后必须推出新的解决方案,这对于处于脱机状态的设备来说是棘手的,因为这意味着客户必须退回产品或必须将技术人员派遣到设备位置才能执行升级。无论如何解决,此过程都会产生大量的时间和金钱费用。
这个复杂等式中的另一个小因素可能是与数据超额相关的成本,但使用的流量可能会超过合同约定的限制,并触发运营商的额外费用。金额取决于合同,运营商和设备组的大小,但这也不能被忽视。
但最大的成本是不满意的客户群。很难衡量这种情况对他们的忠诚度或品牌印象的影响,但它可能会产生长期的影响。
针对 NB-物联网实际优化的协议
公平地说,上述大多数要点适用于所有连接的设备,而不仅限于NB-IoT上的MQTT。然而,这是一个更大的问题,因为企业只是没有意识到风险 - 他们只是对MQTT太满意了,不知道他们错过了什么。
产品制造商和系统集成商应选择 UDP 友好型协议,如 CoAP 或轻量级 M2M (LwM2M)。这些协议针对蜂窝物联网进行了优化,并将TCP的大部分优势带到了UDP。这些协议都支持数据重传、错误检测和订单保证。此外,LwM2M 在构建互联产品,尤其是受限设备方面,提供了比 MQTT 更广泛的功能。
通过设计这些NB-IoT友好协议,公司和工程团队可以开始进行广泛的测试,以检查设备在现场的各种操作方式。此测试必须涵盖许多环境,并且计划在每个国家/地区进行部署,但无论如何,这可能是用于调试MQTT通过NB-IoT问题的时间和资源。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !