从自动化到智能化:物联网技术在转转智能质检中心的应用

学术   2024-08-14 18:40   广东  
  • 1 背景
  • 2 物联网介绍
    • 2.1 开篇故事
    • 2.2 物联网是什么
    • 2.3 物联网的基本组成
  • 3 物联网技术选型和落地方案
    • 3.1 应用层协议选型
    • 3.2 Broker 选型
    • 3.3 QoS 消息质量选型
    • 3.4 Broker 的部署方案
  • 4 结语
  • 5 参考链接

1. 背景

在转转智能质检中心,随着业务的不断发展,自动化检测硬件设备、以及设备端(手机、Pad 等)的自动化检测能力越来越丰富。

下图列举了目前转转智能质检中心的几个自动化检测设备

手机参数检测设备和智能充电
外观检测
摄像头检测
NFC和震动检测
音频检测
电池检测

在前期发展过程中,各类自动化检测能力的设计和开发,主要围绕本身的功能来进行,缺少一个对整体自动化化程序的统一规划和设计,管理维护和迭代成本都较高。

在这背景下,主要存在以下几个问题:

  • 系统维护成本高: 质检自动化设备与其他设备的通信协议没有做到很好的统一,各成体系。随着业务的不断发展,系统越发臃肿,开发和维护成本随之增加。
  • 设备状态监控不足: 设备故障无法被及时发现,导致停机和维修成本增加。
  • 数据延迟与不完整: 由于设备离线运行,数据的实时性和完整性难以保证。
  • 设备维护成本高: 设备依赖人工维护,效率低下且成本高昂。
  • 自动化能力集成设备越来越多,更需要稳定可靠的架构: 随着业务发展和技术能力的突破,自动化能力建设已进步不单单是对硬件设备的调度,还不断扩大到对针对被检测设备(比如手机、Pad、笔记本等)的检测能力调度。

综上,笔者所在的团队通过引入 物联网(IoT) 技术,实现了自动化设备的智能化管理。通过物联网技术,统一技术架构设计、降低开发维护成本的同时,完善自动化设备实时监控,来解决当下面临的主要问题。本文将重点介绍物联网技术选型和落地方案。

2. 物联网介绍

2.1 开篇故事

在工作时渴望来一杯冰凉的咖啡提提神,但你每次走到楼下的咖啡店,却发现咖啡店已经打烊或者心仪的咖啡已经售罄。是不是很失望?

20 世纪 70 年代末到 80 年代初,卡内基梅隆大学计算机科学系的研究人员也有同样的烦恼,在工作时渴望喝一瓶冰凉的可乐,但每次走到楼下的自动售货机,却发现可乐已经卖完或者刚刚补货还没有冷却。这导致他们频繁地空跑,浪费了宝贵的时间和精力。

1982 年,几位计算机科学系的学生,包括 Mike Kazar、David Nichols、John Zsarnay 和 Ivor Durham,决定通过互联网解决这个问题。

他们在自动售货机内安装了微型开关,用于检测每一列饮料的库存状态。这些开关连接到一台计算机,通过互联网向研究人员报告饮料的库存和温度状态。

这台联网的可乐贩卖机成为世界上第一台连接到互联网的设备,被认为是物联网的早期雏形。

就这样,这个项目启发了后续的许多研究和发展,使得物联网技术逐渐成熟,并应用到更广泛的领域中,包括智能家居、智慧农业、智能制造等等。

2.2 物联网是什么?

物联网(IoT)是指通过传感器、软件和其他技术将物理设备连接到互联网,使它们能够相互通信和共享数据。例如,智能家居设备可以通过手机远程控制,工业机器可以自动监测和报告运行状态。

2.3 物联网的基本组成

  • 传感器和设备: 采集数据并执行操作,如温度传感器、智能灯泡等。
  • 网络连接: 通过 Wi-Fi、蓝牙、蜂窝网络等方式将设备连接到互联网。
  • 数据处理和分析: 收集的数据通过云计算或边缘计算进行分析,提供有价值的信息。
  • 用户接口: 用户通过应用程序或控制面板与设备交互。

3 物联网技术应用和选型方案

3.1 应用层协议选型

物联网协议可以根据不同的层级和功能进行分类,包括设备层协议、网络层协议、传输层协议、数据链路层协议和应用层协议等。这里主要介绍物联网的应用层协议。

针对应用层协议,调研时参考了国内各云平台的主流支持情况,从以下几个方案中做了横向对比:

3.1.1 HTTP/HTTPS

HTTP(超文本传输协议)和 HTTPS(安全超文本传输协议)是用于分布式、协作式和超媒体信息系统的应用层协议,广泛应用于 Web 浏览和其他互联网服务。

  • 优势:
    • 标准化、通用性强,几乎所有编程语言都有成熟的库。
    • HTTPS 提供加密,确保传输安全。
  • 不足:
    • 开销大,实时性差,不适用于资源受限的设备。
    • 通信开销和延迟较高,不适合高频率的小数据传输。

3.1.2 MQTT(Message Queuing Telemetry Transport)

MQTT 是一种轻量级的发布/订阅消息传输协议,设计用于低带宽、高延迟或不稳定的网络。

  • 优势:

    • 轻量级、高效,适合受限设备和低带宽环境。
    • 支持不同的服务质量(QoS)级别,确保消息的可靠传递。
    • 发布/订阅模式支持灵活的通信拓扑结构。
    • 支持基于用户名和密码的简单身份验证,还可以使用 TLS(传输层安全)或 SSL(安全套接字层)来加密通信。
  • 不足:

    • 需要消息代理,增加了系统复杂性。
    • 长连接,大规模场景下心跳包仍可能造成一定的网络开销。

3.1.3 CoAP(Constrained Application Protocol)

CoAP 是一种专为物联网设计的协议,基于 UDP,适用于资源受限的设备和网络。

  • 优势:

    • 无连接、轻量级、低功耗,专为资源受限设备设计。
    • 支持请求/响应模型,具有较好的实时性。
    • 通过 UDP 传输,网络开销小,适合低带宽和高延迟的网络环境。
  • 不足:

    • 未建立在可靠的 TCP 上,可靠性和消息确认需要额外机制。
    • 安全性需要额外考虑,通过 DTLS 实现较为复杂。

3.1.4 选型依据和结论

考虑在质检过程中自动化设备以及质检的 3C 产品都需要联网,在设备数量达到一定程度时,核心关注点主要包括:

  • 稳定性和可靠性:协议需要在复杂网络环境中保持稳定的数据传输,确保系统的可靠性。
  • 实时性:在质检流程中,需要实时的数据传输和响应,以支持快速决策和即时反馈。
  • 网络成本:随着设备数量的增加,网络传输成本显著提升,选择轻量化的协议能够有效降低成本。

方案评估:

  • HTTP/HTTPS 在频繁的数据交换过程中,协议包报文较大,网络开销大。
  • CoAP 适用于资源受限的设备和网络,如智能电表、燃气表等数据上报的场景。不太适用于大规模双向通信的场景。为了保障数据传输的安全性,通常需要通过 DTLS 来加密通信。自动化设备本身不是一个资源受限的设备。
  • MQTT 由于协议足够轻量适合低带宽和高延迟的网络环境,同时支持不同的 QoS 级别,确保消息的可靠传递和实时性。

综上,MQTT 协议在协议包大小、稳定性、可靠性等方面都能够满足智能质检中心的需求。尤其是在需要低延时和高可靠性的场景中,MQTT 凭借其轻量级和高效的特性成为最优选择。因此,我们最终选择了 MQTT 协议作为应用层协议。

3.2 Broker 选型

MQTT 消息代理(MQTT Broker)是 MQTT 协议中的核心组件,负责管理客户端之间的消息传递。它在发布/订阅模型中扮演中间人的角色,确保消息从发布者(Publisher)传递到订阅者(Subscriber)。

当前,市场上有超过 20 个开源 MQTT Broker 项目,下面主要介绍 HiveMQ、 RabbitMQ 和 EMQX。

3.2.1 HiveMQ

HiveMQ 是一种企业级的 MQTT 消息代理,专注于高性能和高可靠性的物联网(IoT)应用。

  • 高可用
    • 优势:支持分布式集群部署,具有自动故障转移和负载均衡功能,确保系统的高可用性。
    • 不足:需要企业版才能获得全套高可用性功能,免费版本功能受限。
  • 安全性
    • 优势:支持 TLS/SSL 加密、身份验证和授权,提供企业级安全特性,还支持 OAuth 2.0 和 X.509 证书。
    • 不足:高级安全特性需要企业版支持。
  • 易用性
    • 优势:提供直观的管理控制台,文档详尽,社区和企业支持非常强大。
    • 不足:企业版价格较高,入门门槛较高。

3.2.2 RabbitMQ

RabbitMQ 是一个通用的消息代理,支持多种消息协议,包括 AMQP、MQTT、STOMP 等。

  • 高可用
    • 优势:支持分布式集群部署、镜像队列和持久化,保证消息在系统故障时的可用性。
    • 不足:配置复杂,集群管理和维护需要较高的运维经验。
  • 安全性
    • 优势:支持 TLS/SSL 加密、身份验证和授权,提供细粒度的安全控制。
    • 不足:安全配置较复杂,需要深入理解 RabbitMQ 的安全模型。
  • 易用性
    • 优势:支持多种协议和插件扩展,功能非常丰富。
    • 不足:初始配置和优化可能较为复杂,需要深入了解其架构。

3.2.3 EMQX

EMQX 是一种高性能、可扩展的 MQTT 消息代理,专为物联网设计。

  • 高可用

    • 优势:原生支持分布式集群和高可用性,能够支持百万级连接,自动故障转移。
    • 不足:配置复杂,集群管理需要一定的技术背景。
  • 安全性

    • 优势:支持 TLS/SSL、LDAP、JWT 和 ACL 等安全机制,提供全面的安全保障。
    • 不足:高级安全配置可能需要较高的学习成本。
  • 易用性

    • 优势:提供丰富的插件和管理工具,支持可视化管理。
    • 不足:配置和优化需要一定的技术经验,尤其是在大规模部署中。

3.2.4 选型依据和结论

  • HiveMQ:分开源版本和付费版本,开源版本基于 Java 语言开发,集群部署最大支持 5 个节点。仅支持使用用户名和密码进行身份验证,不支持 TLS 加密,无法满足高级别的安全认证。
  • RabbitMQ:完全开源,核心使用 Erlang 语言开发,MQTT 支持是通过扩展实现的,因此 MQTT 功能相对而言不是原生的,这可能在性能上不如原生支持 MQTT 的 Broker。
  • EMQX:分开源版本和付费版本,开源版本基于 ErLang 语言开发,集群部署最大支持 3 个节点。支持基本的用户名和密码认证的同时支持 TLS/SSL 加密和简单的 ACL(访问控制列表),满足大多数中小型应用的需求。

综上,EMQX 开源版本能满足大多数中小型应用的需求,在高可用性、安全性、性能、成本和易用性等多个条件下均优于 HiveMQ 和 RabbitMQ,最终我们选择的 EMQX 作为 MQTT 的消息代理。

3.3 QoS 消息质量选型

在 MQTT 协议中,消息质量(QoS, Quality of Service) 是一个关键概念,用于决定消息在传输过程中的可靠性。MQTT 定义了三种消息质量等级(QoS 0、QoS 1、QoS 2),它们分别适用于不同的应用场景。下面是对每种 QoS 等级的详细分析,以及如何在实际应用中选择适合的 QoS 等级。

3.3.1 QoS 0: 至多一次(At most once)

消息被发送一次,发送者不会要求确认消息是否被成功接收。消息可能会丢失。

  • 优势:网络开销最小,延迟最低。
  • 不足:无法保证消息一定到达,适用于对数据可靠性要求不高的场景。

3.3.2 QoS 1: 至少一次(At least once)

消息至少会被送达一次,接收者需要确认接收到消息。如果发送者未收到确认,会重发消息,直到确认接收为止。

  • 优势:提供了较好的消息到达保障。
  • 不足:可能导致消息重复,需要额外处理逻辑来消除重复影响。

3.3.3 QoS 2: 仅一次(Exactly once)

消息保证精确传递一次,不会重复或丢失。通过多步骤握手协议来确保消息到达。

  • 优势:提供最高的消息传递保障。
  • 不足:需要更多的网络开销和处理时间,增加系统延迟。

3.3.4 选型依据和结论

在实际场景中,需要精确控制自动化设备完成一系列交互,自动化设备指令的重复执行都可能带来严重后果(例如:机械手在夹持手机过程中重复执行操作可能导致手机损坏)。因此,我们在 MQTT 的三个消息质量选项中选择了 QoS 2,具体原因如下:

  • Qos 0 效率最高,但不保证消息的可靠性,可能导致消息丢失,不适合需要严格控制的场景。

  • QoS 1 可以确保消息至少传递一次,但有可能导致消息重复,各端需要额外处理重复消息的逻辑,增加了开发和运维的复杂度。

  • QoS 2 能够确保消息仅传递一次,是最可靠的消息质量等级。尽管在网络延迟上有所牺牲,但 PUBREC、PUBREL 和 PUBCOMP 报文大小仅为 4 个字节,使得延时在大多数情况下可以接受。选择 QoS 2 可以让开发人员更专注于应用逻辑,而无需过多担心消息传输的可靠性问题。

综上所述,QoS 2 是我们在严苛场景下的最佳选择,能有效降低因消息重复而可能造成的风险,同时确保系统的高可靠性。

3.4 Broker 的部署方案

前面我们介绍了消息发布、消息中间件和消息质量的选型,接下来我们就要考虑该如何部署了。先简单介绍一下背景:

  • 云服务器:主要集中在华北地区。
  • 智能质检中心:全国各大区域均有分布。

在不考虑运营商、物理距离等其他外界环境影响的情况下,消息的延时可能会随着消息量的增加而增加(正常情况下从华南到华北的网络延时大概在 50 毫秒以上),因此提出了以下部署方案。

3.4.1 云服务器部署

将 MQTT Broker 部署在云服务器上,设备通过网络连接到中心服务器进行消息传递。

  • 优势:Broker 可以做到统一管理,简化了维护和监控。
  • 不足:由于跨区域传输,可能会出现较高的消息延时,影响实时性。

3.4.2 本地部署

在智能质检中心内部署,设备通过局域网连接到 Broker,处理当前质检中心设备的消息传递。

  • 优势:消息传递几乎是即时的。
  • 不足:多个本地 Broker 需要分别进行管理和维护,增加了运维的复杂度。

3.4.3 混合部署(边缘计算)

在智能质检中心部署边缘节点,处理当前质检中心设备的消息传递。并与中央云服务器上的 Broker 同步数据,同时中央服务器还承载着没有服务器资源站点的消息处理。

  • 优势:延时极低、有效减轻中心节点负载。
  • 不足:在大规模部署时,边缘节点的分散性可能增加管理的复杂性。

3.4.4 选型依据和结论

主要考虑的因素:

  • 网络延时:智能质检中心的地域分布不均,比如华南到华北的网络延时,如何部署 Broker 来减少延迟。
  • 扩展性:未来智能质检中心将有更多的自动化设备接入,因此系统需要具备良好的扩展能力。

方案评估:

  • 云服务器部署:网络延时较高,按照网络延时 50 毫秒计算,单台自动化设备完成一个完整流程可能增加约 2 秒的执行时间。
  • 本地部署:消息延时几乎为零,能够显著提高自动化设备的响应速度和实时性。
  • 混合部署(边缘计算):在保证低延时的同时,减轻中心节点的负载。

同时在云服务器和本地部署分别进行了以下压测(因篇幅有限,这里仅展示不同客户端连接数情况下消息质量 QoS 2 时报文大小为 1KB 的场景),结果如下:

压测场景(客户端连接数)本地部署延时云服务器部署延时
106ms42ms
1007ms47ms
100010ms57ms

综上,我们目前选择了本地部署方案。本地部署方案能够显著降低延时,虽然管理上有一定挑战,但能够满足当前的响应速度要求。

然而,随着智能质检中心自动化设备的增加,混合部署方案应该是未来的首选,即通过边缘计算降低延时,并同步关键信息至中央服务器。这个方案能够在延迟、管理难度和系统性能之间取得最佳平衡。

4 结语

通过本文的分析和讨论,我们清楚地看到,物联网技术在智能质检中心中的应用,不仅成功地解决了传统质检方式中的多项难题,还为未来的业务发展提供了坚实的技术支撑。

首先,通过引入物联网技术解耦了各端原本藕合的业务逻辑,统一了各端的通信协议。

其次,在应用层协议、MQTT Broker 的选型,以及 QoS 消息质量选择的过程中,通过全面的对比和评估,选择了最符合业务需求的技术方案。这些技术方案的落地实施,使得智能质检中心能够更加高效、稳定地运行。

最后,通过本地部署方案进一步优化了系统的响应速度和可靠性,后续我们将通过混合部署方案(边缘计算)进一步有效地降低了因地域分布而带来的网络延时问题。这一部署方案,不仅满足了当前的业务需求,也为未来的扩展和优化提供了广阔的空间。

在转转,物联网技术正推动着"智慧工厂"的崛起。物联网实现了生产设备的互联互通,使得生产过程更加透明化、自动化。未来,物联网还将深化与人工智能、机器人技术的融合,开创智能制造的新篇章。

5 参考链接

  • https://mqtt.org
  • https://www.emqx.io
  • https://www.sciencedirect.com/science/article/pii/S1389128621003364
  • https://www.kepuchina.cn/article/articleinfo?business_type=100&classify=2&ar_id=455497

关于作者

温筠庭,来自转转研发中心-履约技术部后端团队,负责转转质检自动化项目后端开发工作。

想了解更多转转公司的业务实践,欢迎点击关注下方公众号:



转转技术
转转研发中心及业界小伙伴们的技术学习交流平台,定期分享一线的实战经验及业界前沿的技术话题。 各种干货实践,欢迎交流分享,如有问题可随时联系 waterystone ~
 最新文章