背景
GPS定位器是内置GPS模块和移动通信模块的终端,用于将GPS模块获得的定位数据通过移动通信模块传输到上层服务器,以便查询终端位置在电脑或手机上。
GPS定位器可用于控制儿童和老人的行踪、高速公路巡查、贵重货物追踪、跟踪和服务调度、私家侦探工具、个人财产追踪、宠物追踪、野生动物追踪、货运行业、汽车防盗、自行车防盗、电动车防盗、摩托车防盗、银行现金运输车辆、公务车辆管理等。
传统定位方案
定位器设备启动后,基于TCP/IP协议与云业务服务器建立连接,然后通过时间调整命令同步时钟,然后定时发送心跳包,维持TCP长连接。 当GPS数据变化超过阈值时,会自动上报当前坐标设备的经纬度值,也会定期上报至云端,以优化GPS数据采集规则。
云服务器还可以向定位器设备推送配置信息和控制命令,以改变定位器的行为模式。
云端定位业务
随着云计算厂商纷纷布局物联网场景技术产品,基于MQTT协议的全托管物联网云服务逐渐成为70%中小企业开展物联网业务的首选解决方案。 从TCP协议迁移到MQTT协议的解决方案已经逐渐成熟,实现现有设备低成本快速迁移到云端,减少设备和业务系统的改造,大幅提升整体安全性和稳定性,大大提高了设备的安全性和稳定性。减少业务延迟,借助云上的动态无限扩展能力承载海量规模增长。
当我们将设备连接迁移到阿里云物联网平台并重新梳理业务链路后,我们发现物联网服务承载了与设备交互的繁重工作量,云上业务服务器的压力变小了很多。
验证
定位器设备与物联网平台基于MQTT协议进行通信,TCP消息调整为MQTT/消息。 此时业务服务器不需要做身份验证,物联网平台会将设备上下线消息通过规则引擎实时推送到业务服务器。
时钟同步
企业基于TCP搭建的时钟同步服务也可以离线。 IoT平台提供完整的NTP服务,解决嵌入式设备资源有限、末端无准确时间戳的问题。详细文档
心跳
MQTT协议本身规定了/的心跳机制,此时业务服务器不需要干预,物联网平台会响应设备的心跳行为。
双向消息传递
基于MQTT协议的通信需要主题一致,为了减少业务系统变更,我们增加了两个主题定义,消息结构保持不变。
设备上报业务数据后,通过规则引擎的配置,我们将上游Topic:/{pk}/{dn}/user/up中的数据实时传输到业务系统,数据格式保持不变不变; 业务系统推送配置信息或指令,物联网平台封装成下行Topic:/{pk}/{dn}/user/up,设备接收到的服务数据格式不变。
迁移实战创造产品并定义传播主题