万佳信产品故事之:边缘计算
边缘计算是相对于云计算的技术概念,是一种分散式运算的架构,将应用程序、数据资料与服务的运算,由网络中心节点,移往网络逻辑上的边缘节点来处理。它是将原本完全由中心节点处理大型服务加以分解,切割成更小与更容易管理的部分,分散到边缘节点去处理。边缘节点更接近于用户终端装置,可以加快资料的处理与传送速度,减少延迟。
1 为何采用边缘计算? 万佳信智能锁控系统是基于位置和业务需求对车辆阀门进行开关控制的系统,是一套典型的物联网系统。目前系统采集了1万多台专用车辆、几万个安全位置,当一辆车进入任何一个安全位置,系统可自动开启控制阀锁;当离开任意一个安全位置,系统自动将阀门锁死。这种自动控制模式对时效性要求很高,如果交由云平台来运算处理,遇到网络延迟或人为故意干扰的情况下,车辆阀门不能及时开关,造成风险。因此要采用边缘计算的技术架构,将数万条安全位置数据和业务数据保存到车载物联网设备上,由它们自行运算处理,以快速响应。 边缘计算技术架构还有个好处是减少了对云端的依赖,即使遇到网络瘫痪,终端操作可正常进行不受影响。万佳信智能锁控系统运行七年以来,遇到过服务器故障、网络光纤被挖断、勒索病毒等各种意外情况,车辆配送业务始终正常运行。 2 数据推送与采集 万佳信车载物联网设备需要从云平台下载如下数据: 除了从云端获取数据,车载物联网设备还要通过传感器捕捉现场物理环境的各类数据,包括车辆定位、速度,阀门状态,锁状态,电机状态,电源状态,通讯状态等等。万佳信物联网设备采用了近20种传感器,并提供数据补偿算法以保证监测精度。如下: 3 数据存储与边缘计算 由于车载供电环境不稳定,以及设备存储能力限制,对万佳信物联网设备数据存储管理带来了一定难度。万佳信物联网设备根据数据存储载体不同,采用不同存储策略: 1、设备参数数据,存储于带电可擦可编程只读存储器(EEPROM),同时,增加双区备份,可有效规避物联网设备异常掉电引起的数据丢失问题。(如何保证车载电源的稳定性,将在“万佳信产品故事之电源管理”另述) 2、基础和订单数据,存储于片上FLASH,采用类UNIX文件系统,利用树形结构,链接的方法管理空闲块,相比绝对地址的文件存储,能更有效的利用嵌入式设备有限的flash空间;同时,在应用层采用先进先出的方法存储数据,加入数据使用频率统计,在flash空间紧张时优先存储使用频率高的数据,达到大部分的业务场景均可由本地处理完成,满足实时响应的需求。 边缘计算在设备端除了对数据的存储,还要对数据进行清洗和补偿,尽可能获取高精度的监测数据,还原真实的物理世界,这里举两个例子: 1、定位过滤算法 针对目前米级精度(价格因素)的GPS+北斗双模定位模块,实际应用场景中受天气,遮挡,干扰等因素的影响,位置漂移可能达到几十甚至上百米,而通常客户业务数据要求的电子围栏等效半径不超过50米,模块的数据精度无法完全满足业务要求,万佳信工程师利用三轴加速度传感器自研了一整套过滤算法,有效的提高了业务场景的定位精度,如: 在判断到车辆静止时,采用类卡尔曼滤波算法,过滤漂移的同时,确保定位数据随时间逼近真实位置; 当定位信号丢失时,在一段时间内,使用惯导算法做位置补偿;(详见“万佳信产品故事之静止是相对的”) 2、电机控制算法 为了提高电机的使用寿命和效率,同时满足本安防爆要求,在电机运行过程中需要如下监测及控制算法: 分档启动,根据运行电流,逐渐加大控制力,避免大电流触发本安电源的保护; 中值滤波,避免噪声信号对控制的影响; 末端减速,避免大力撞击对结构件的损坏; 刹车功能,电流异常时的紧急刹车可有效保护电机。