0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

窄带物联网上的MQTT如何毁掉您的项目

星星科技指导员 来源:embedded 作者:Fabian Kochem 2023-05-05 09:57 次阅读

MQTT 是一种用于连接物联网IoT) 的流行协议。但它与窄带物联网(NB-IoT)不兼容,窄带物联网是大多数物联网项目中越来越流行的通信标准。它在原型设计过程中工作正常,给公司一种错误的印象,即MQTT是正确的协议选择。

但是,使用 MQTT 的产品在现场时很可能会遇到性能问题或完全故障。许多制造商和系统集成商没有意识到随之而来的风险,这一事实加剧了这个问题:高费用的支持工作、重新吸引开发团队的需求、将固件更新分发到设备队列的问题以及产品召回。

NB-IoT是一种蜂窝技术,适用于受限(通常)电池供电的设备,属于低功耗广域网(LPWA)网络类别。与LTE等更传统的标准相比,它承诺低成本,长电池寿命和卓越的覆盖范围。它是资产跟踪、智能计量、智能城市和其他需要很少数据(如地理位置、传感器数据或错误代码)的连接设备的理想选择,并且已经在实际应用中使用,部署每天都在增加。

NB-IoT网络目前在64个国家(包括美国、中国、澳大利亚和欧洲大部分地区)运营,全球166家运营商正在投资扩大这一覆盖范围。但是,尽管它有好处,但仍然存在一个未宣传的潜在障碍,如果在产品开发早期没有发现,可能会阻止10年或更长时间的稳定产品生命周期。

NB-IoT的工作方式与互联网的其他部分不同

NB-IoT针对用户数据报协议(UDP)进行了优化,但大多数互联网使用传输控制协议(TCP)进行基本通信。TCP 是某些项目(如网站、文件下载电子邮件)的不错选择,因为它保证数据到达,顺序正确,并允许在损坏时进行错误检测和重新传输。

但是TCP需要设备本身更多的处理能力,导致更多的能源消耗,并且消耗更多的流量。如果您的设备想要发送单个字节(例如,指示灯打开或关闭,以 1 或 0 的形式发送),则开销 TCP 元数据是另外 40 个字节。实际上,数据很少以单个字节发送,但值得注意的是,因为蜂窝数据传输是一种沉重的能源消耗,必须在电池供电的设备上最小化。

更糟糕的是,如果存在来自其他设备的无线电干扰,如果设备位于地下室等接收不良的区域,或者数据丢失或损坏,TCP的重传机制就会启动,并且消耗更多的数据。这些场景在蜂窝网络中很常见,这意味着设备再次发送整个数据包,这相当于两倍的流量和两倍的能量。

这些特性使TCP成为电池供电设备或受限硬件的糟糕选择。由于NB-IoT针对受限设备进行了优化,因此3GPP将其标准化为全球UDP。

在 NB-IoT 上使用 MQTT 时的陷阱

许多产品制造商选择 MQTT 作为设备和云之间的数据交换协议,因为它得到了云提供商和物联网应用支持平台的广泛支持。他们也经常选择 MQTT,仅仅是因为他们在使用 Wi-Fi 或 LTE 开发以前的连接产品时使用了它。

但MQTT依赖于TCP的纠错和重传方案,并且可以很好地与Wi-Fi,LTE和以太网配合使用。这并不是说TCP与NB-IoT不兼容,但是当公司尝试该技术时(例如,在构建原型时),它们的工作条件并不能反映设备在其部署生命周期后期会遇到的情况。

因此,如果您拥有“足够好”的网络覆盖范围,MQTT 和 TCP 效果很好。而且由于大多数办公室不在地下和/或位于大城市,那里有很多无线电覆盖,问题很少,许多公司认为MQTT将自动用于他们的特定用途。毕竟,原型是成功的,所以他们在不知不觉中向市场发布了一个低于标准的产品。

然后,一旦部署,他们开始收到遇到问题的客户的投诉,因为他们不知道将支持NB-IoT的设备放置在接收不良的地下室的后果。

像任何技术一样,TCP连接可能会失败,从而导致重复的数据重新传输。这会导致实际业务数据以外的开销浪费流量、电池寿命缩短和用户体验不佳。

对于使用TCP的项目来说,还有另一个定时炸弹:NB-IoT网络变得越拥挤,TCP连接失败的频率就越高。因此,即使公司针对不良的本地接收优化其设备,性能也会随着时间的推移而下降。

解决业务影响

起初看似良好的产品发布现在可能注定要发生灾难。高延迟会导致糟糕的用户体验,并且根据用例的不同,可能会完全破坏项目。然后最终用户理所当然地抱怨他们的设备没有按预期工作。

因此,必须重新组建开发团队,或者必须组建一个没有系统先验知识的新团队进行改进。然后必须推出新的解决方案,这对于脱机的设备来说很棘手,因为这意味着客户必须退回产品,或者必须派遣技术人员到设备位置执行升级。无论如何解决,此过程都会产生大量的时间和金钱费用。

这个复杂等式中的另一个小因素可能是与数据超额相关的成本,但使用的流量可能会超过合同约定的限制,并触发运营商的额外费用。金额取决于合同、运营商和设备队列的规模,但这也不能被忽视。

但最大的代价是不满意的客户群。很难衡量这种情况对他们对品牌的忠诚度或印象的影响,但它可能会产生长期的影响。

实际针对NB-IoT优化的协议

公平地说,上面概述的大多数要点适用于所有连接的设备,而不仅限于NB-IoT上的MQTT。然而,这是一个更大的问题,因为企业只是没有意识到风险 - 他们只是对MQTT太舒服了,不知道他们错过了什么。

产品制造商和系统集成商应选择UDP友好的协议,例如CoAP或轻量级M2M(LwM2M)。这些协议针对蜂窝物联网进行了优化,并将TCP的大部分优势带到UDP。这些协议都支持数据重传、错误检测和阶次保证。此外,LwM2M 在构建连接产品(尤其是受限设备)方面提供了比 MQTT 更广泛的功能。

通过设计这些NB-IoT友好协议,公司和工程团队可以开始进行广泛的测试,以检查设备在现场各种情况下的运行方式。此测试必须涵盖许多环境,并且计划在每个国家/地区推出,但无论如何,这可能是调试基于 NB-IoT 问题的 MQTT 的时间和资源。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IOT
    IOT
    +关注

    关注

    186

    文章

    3987

    浏览量

    193213
  • MQTT
    +关注

    关注

    5

    文章

    538

    浏览量

    21981
  • NB-IoT
    +关注

    关注

    411

    文章

    1434

    浏览量

    183545
收藏 人收藏

    评论

    相关推荐

    联网传输协议MQTT到底是个什么?

    MQTT是什么?MQTT是一个联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的
    发表于 01-08 11:27

    联网的恶补MQTT

    很多做联网的很多人都听说过MQTT,但是MQTT到底跟传统的HTTP协议的优势在哪里,可能很多人都不明白.下面的知识可以先补充一下.后续写个详细点的帖子发出来.
    发表于 07-08 11:36

    联网的必须要恶补的MQTT

    本帖最后由 cuihu 于 2016-7-8 12:01 编辑 很多做联网的很多人都听说过MQTT,但是MQTT到底跟传统的HTTP协议的优势在哪里,可能很多人都不明白. 下面
    发表于 07-08 11:55

    联网项目开发必读 深度分析MQTT协议优缺点

    +软件+私有云平台开发套件/免费的公有云平台支持小e MQTT系列全功能开发板是为了帮助工程师们快速实现联网项目的开发而提供一款配套开发板。考虑到实际的
    发表于 07-08 16:04

    关于举办窄带联网(NB-IoT)技术应用与实践 暨项目咨询高级培训班的通知

    投入资金和人力抢占NB-IoT技术制高点。为进一步提升相关从业人员的技术水平,我单位本着从实际出发,以探索具体工作难题的解决之道为目的,特举办窄带联网(NB-IoT)技术应用与实践暨项目
    发表于 07-11 09:26

    工业无线MQTT联网网关

    本帖最后由 wtblchenwei1981 于 2018-2-10 16:25 编辑 产品简介 随着越来越多的联网采用 MQTT 作为支持协议,会发现许多开源应用和产品中出现
    发表于 02-07 14:00

    窄带联网将成为发展趋势

    `在生活中我们听得比较多的是宽带这个词,比如宽带上行、下行速度能达多少,人们也在不断追求者高速率上网,追求越来越大的带宽,带宽越大时延越小,我们需要等待的时间也越短。然后窄带联网是我们了解比较
    发表于 04-30 21:34

    工业联网联网的区别是什么?

    工业联网联网的区别是什么?MQTT到底是什么?
    发表于 05-18 06:41

    在鸿蒙开发板上使用MQTT协议、OneNET实现第一个联网项目 精选资料分享

    通常来说,一个联网产品应当包括设备、云平台、手机APP。我将在鸿蒙系统上移植MQTT协议、OneNET接入协议,实现手机APP、网页两者都可以远程(跨网络,不是局域网的)访问开发板数据,并控制
    发表于 07-13 07:13

    联网温湿度显示控制项目(网页、Android双端显示&搭载linux平台网关&MQTT通信)精选资料分享

    一个小型联网项目网页端使用django,手机端Android开发,云服务器搭载数据库+mqtt服务器,底层esp32使用microPython开发,有独立设计的
    发表于 07-27 06:29

    NodeMCU是怎样通过MQTT连接阿里云联网

    NodeMCU 通过MQTT 连接阿里云联网1.NodeMCU固件的选择及刷入ESP82661123
    发表于 02-22 07:47

    联网的基石-MQTT协议初识

    1、联网的基石-mqtt协议初识随着 5G 时代的来临,万互联的伟大构想正在成为现实。联网
    发表于 09-08 16:03

    如何采用mqtt协议实现联网模块消息推送?

    如何采用mqtt协议实现联网模块消息推送
    发表于 11-03 06:55

    窄带联网上MQTT如何毁掉您的项目

      NB-IoT是一种蜂窝技术,适用于受限的(通常)电池供电设备,属于低功耗广域网(LPWA)网络类别。与LTE等更传统的标准相比,它承诺成本低,电池寿命长,覆盖范围更广。它是资产跟踪、智能计量、智能城市和其他需要很少数据(如地理定位、传感器数据或错误代码)的连接设备的理想选择,并且已经用于部署与日俱增的实际应用中。
    的头像 发表于 10-19 14:25 2079次阅读

    窄带联网上MQTT如何毁掉您的项目

    MQTT 是一种用于连接物联网 (IoT) 的流行协议。但它与窄带联网(NB-IoT)不兼容,后者是大多数物联网
    的头像 发表于 10-25 10:22 597次阅读