MQTT协议的全称是Message Queuing Telemetry Transport,中文名叫作消息队列遥测传输。是支持所有平台的一个即时通讯协议,该协议可以当作传感器来使用。
例如,当用户在家中通过MQTT协议制造一个“传感器”时,给家中的老人在身体检查设备上安装无线发射器,老人在平时就无需往返于医院做常规的检查,该设备会将检查结果通过MQTT协议发送至主治医生,帮助医生随时了解情况并提出合理化的建议,帮助老人随时了解自身情况。
同样使用MQTT协议的人员智能定位胸牌,能够在使用者和云端管理者之间提供即时通讯,帮助云端管理人员了解智能定位胸牌使用者的实时状态。包括用户的实时地理位置、运动轨迹等状况。专业开发物联网设备的通信公司,大部分产品都涵盖了车辆跟踪、人员跟踪、环境监测领域。
提出问题:
其工作人员在智能定位胸牌的定制项目开发中,遇到了以下问题:
MQTT协议连接设备时候,不同设备使用相同的client ID连接服务器的问题
分析问题:
MQTT协议已经是众多物联网协议的最重要的协议之一。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,底层基于TCP,使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
解决问题:
那么如果MQTT协议连接设备时候,不同设备使用相同的client ID连接服务器,clientID作为设备的专属识别符,需为全局唯一。如果不同的设备使用相同的clientID同时连接物联网平台,那么先连接的那个设备会被强制断开。