计算机系统应用  2019, Vol. 28 Issue (3): 88-92   PDF    
基于NB-IoT的机车油量监测系统
王明1,2, 王志成2     
1. 中国科学院大学, 北京, 100049;
2. 中国科学院 沈阳计算技术研究所 高档数控国家工程研究中心, 沈阳 110168
摘要:针对目前铁路行业对内燃机车油耗成本控制、提高油耗管理水平的需求, 设计并实现了基于NB-IoT的机车油量监测系统. 该系统使用高精度超声波液位传感器获取油量液位高度, 使用GPS实时获取经纬度, 通过NB-IoT通信模块上传至服务器, 经过滤波算法处理后存储到数据库, 利用浏览器访问管理系统可监测实时油量数据、查看历史油量、加油记录, 实现设备远程管理. 测试结果表明, 该设计能够监测油量, 精度较高, 提高对油耗的控制, 对NB-IoT应用以及监测系统的研究有一定的借鉴意义.
关键词: 物联网    NB-IoT    机车油量    滤波算法    
Railway Engines Oil Monitoring System Base on NB-IoT
WANG Ming1,2, WANG Zhi-Cheng2     
1. University of Chinese Academy of Sciences, Beijing 100049, China;
2. National Engineering Research Center for High-End CNC, Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168, China
Abstract: In view of the current railway industry’s demand for fuel consumption control of diesel locomotives and improvement of fuel consumption management level, a locomotive oil quantity monitoring system based on NB-IoT is designed and implemented. The system uses high-precision ultrasonic liquid level sensor to obtain the liquid level of the oil, uses GPS to obtain the latitude and longitude in real time, uploads it to the server through the NB-IoT communication module, and stores it in the database after filtering algorithm, and thus monitors the real-time by oil quantity data, view historical oil quantity and fueling record using the browser access management system, realizes remote management of equipment. The test results show that the design can monitor the oil quantity, the precision is high, and the control of fuel consumption is improved. It has certain reference significance for the research of NB-IoT application and monitoring system.
Key words: Internet of Things (IoT)     NB-IoT     locomotive oil quantity     filtering algorithm    

目前燃油机车的油量监测主要依靠司机通过机车上磁翻板液位计估计油量, 这种方式有诸多缺点: 精度低; 无法对油耗进行科学管理. 随着铁路信息化的发展, 提高机车油耗的管理水平、加强对油耗的成本控制成为铁路行业亟待解决的难题.

针对以上问题, 本研究提出了基于NB-IoT的机车油量实时监测系统, 采用高精度超声波液位传感器及GPS模块实时采集机车的位置、车速、油量液位等信息, 通过NB-IoT窄带无线通信技术将信息实时发送到云端服务器, 实现机车油耗的科学管理, 用户可通过浏览器实时查看机车的油耗、位置等信息, 对机车进行科学调度, 提高资源的利用.

1 NB-IoT技术

NB-IoT(Narrow Band Internet of Things, NB-IoT)是物联网领域基于蜂窝通信的新兴技术[1], 属于低功耗广域网(LPWAN)技术之一, 具有低功耗、低成本、长距离、广连接等优势[2], 适合环境监测、智能抄表、智能物流等诸多应用领域[3].

NB-IoT使用License频段, 在上行和下行传输数据时, 最小只消耗180 kHz的系统带宽, 可直接部署于GSM网络、UMTS或LTE网络, 降低部署成本, 实现网络平滑升级[46].

2 系统结构设计

本系统由感知层、通信层、服务层、用户层组成, 总体架构如图1所示. 第一层为感知层, 超声波液位传感器负责采集机车油量液位数据, GPS模块负责获取机车的经纬度和速度等状态数据, 并将信息通过NB-IoT模块空口连接到通信层的NB-IoT基站[7]; 第二层为通信层, 负责感知层NB-IoT设备空口接入处理等功能, 通过S1-lite接口连接到NB-IoT核心网[8]; 第三层为服务层, 负责汇聚接入网的IoT相关数据, 并根据自定义协议区分不同类型的数据, 存储到数据库, 并向用户层提供油耗查询、查询历史油量等服务接口; 第四层为用户层, 用户可以通过浏览器查看油耗、历史数据, 修改NB-IoT设备上报频率等参数.

图 1 系统结构图

3 系统实现 3.1 NB-IoT终端实现 3.1.1 NB-IoT终端硬件实现

NB-IoT终端硬件组成如图2所示, 由NB-IoT模组、微控制器、超声波液位传感器、GPS模组、电源模块、备用电池组成.

图 2 硬件设计示意图

NB-IoT通信模组采用芯讯通公司的SIM7000C, 该模组基于高通MDM9206平台开发的LTE eMTC(CAT M1)和NB-IoT模块, 支持多种频段, 硬件接口支持UART、USB2.0等, 使用AT命令控制, 支持多种通讯协议, 是目前低功耗场景由其他通信技术向NB-IoT通信转变的首选[9].

微控制器采用STM32L0系列芯片, 支持低功耗模式.

超声波液位传感器是非接触式、易于安装, 支持RS485和RS232串口输出.

GPS模组采用u-blox公司的Ublox-NEO-M8N定位芯片, 具有高灵敏度、低功耗、小型化的特点, 定位精度可达3米.

电源模块负责提供稳定电源, 备用电池负责机车断电后继续监控油量.

3.1.2 NB-IoT终端软件实现

NB-IoT设备主程序由定时、监听、上传数据、采集数据等功能组成, 程序的工作流程如图3所示. 主程序首先对STM32进行系统初始化, 如定时器、串口等, 然后对NB-IoT、GPS和传感器初始化, 开启采集和发送数据的定时器, 定时时间根据参数设置采集定时器的时间要小于发送定时器的时间, 采集定时器负责控制设备采集油量液位、定位信息, 设备状态等信息, 发生定时器负责定时上传数据至服务器; NB-IoT模块监听下行数据, 当有下行业务时能唤醒模块[10].

图 3 NB-IoT设备软件主程序流程图

3.2 服务器端实现

服务器软件采用B/S架构进行设计, 为减小程序的耦合性, 提高程序实时性, 将程序分Socket网络通信程序和Web服务程序两部分, 实时消息的传递采用Redis消息队列, 整体结构如图4所示.

图 4 服务器软件结构示意图

为Socket网络通信模块时刻监听指定端口, 负责接受、解析NB-IoT设备上传的数据, 将油量经过滤波算法处理后存储到MySQL数据库, 同时负责监听Web服务程序通过Redis消息队列发布的命令, 下发给NB-IoT设备; Web服务程序通过访问MySQL数据库向用户展示油量、油耗、机车位置、速度等信息, 同时接受用户对NB-IoT设备的控制, 通过Redis消息队列发布给Socket网络通信程序, 通过Socket传输给NB-IoT设备.

3.2.1 滤波算法

机车在运动过程中会引起油的波动致使测量的液位不精准, 影响系统的精度和可靠性. 为此本系统在服务器接收到数据以后加入了滤波算法提高系统的稳定性. 因为机车油是上下波动以及缓慢消耗的过程, 并且机车有加油的情况不能当做误差处理掉, 所以采用滑动平均滤波算法、限幅滤波算法以及一阶低通滤波算法相结合的方法减小误差, 提高系统的精度和稳定性.

滑动平均滤波算法的思想: 建立一个长度为N的队列, 在队列中存放N个历史数据 ${{N}}\{ {a_1},{a_2},\cdots,{a_{n - 1}},{a_n}\} $ , 每次获取到新数据, 先删掉队列中最老的旧数据, 然后新数据入队, 求得新队列的平均, 便作为最终的采集数据. 滑动平均滤波算法的算法公式如下:

${X_t} = \frac{1}{N}\sum\limits_{i = 1}^N {\;{a_i}} \;\;\;$ (1)

其中, ${X_t}$ 为当前取得的值, N为队列长度, ${a_i}$ 为队列的具体数据.

限幅滤波算法公式如下:

${X_t} = \left\{ {\begin{array}{*{20}{c}} {{Y_t}({\rm{|}}{Y_t}{\rm{ - }}{Y_{t{\rm{ - }}1}}{\rm{|}} \leqslant {\rm{A}})} \\ {{Y_{t - 1}}({\rm{|}}{Y_t}{\rm{ - }}{Y_{t{\rm{ - }}1}}{\rm{| > A}})} \end{array}} \right.$ (2)

其中, ${X_t}$ t次取得的值, ${Y_t}$ 为第t次测量的值, ${Y_{t - 1}}$ 为第t-1次测量的值, A是相邻两次测量允许的最大偏差.

一阶低通滤波算法公式如下:

${X_t} = \alpha {Y_t} + (1 - \alpha ){X_{t - 1}}$ (3)

其中, ${X_t}$ 为第t次取得的值, ${Y_t}$ 为第t次测量的值, ${X_{t - 1}}$ 为第t–1次取得的值, $\alpha $ 为滤波系数, 本设计采用的低通滤波算法 $\alpha $ 为0.1及0.01.

本系统滤波算法的整体思路如图5所示, 首先将液位值转化为油量值, 然后经过滤波方法1, 用于加油检测, 同时经过滤波方法2将油量值存到数据库.

图 5 滤波算法整体思路

滤波方法1的状态转换如图6所示.

滤波方法1是在滑动平均滤波算法的基础上增加了正常态、异常态、异常超时态三个状态, 正常态是第t次测量的值 ${Y_t}$ 与第t–1次获取的值 ${X_{t - 1}}$ 差的绝对值小于等于50; 异常态是第t次测量的值 ${Y_t}$ 与第t–1次获取的值 ${X_{t - 1}}$ 差的绝对值大于50; 异常超时态是油量值一直处于异常状态时间超过T分钟.

图 6 滤波方法1的状态图

滤波方法2是油量在经过滤波方法1之后, 用限幅滤波算法和一阶低通滤波结合使得液位变化平缓而不失真, 滤波流程如图7所示.

图 7 滤波方法2的流程图

4 系统测试与分析

通过在某车务段调度机车上安装NB-IoT设备布置测试环境, 测试结果表明本系统可以正常运行, 系统运行首页如图8所示. 历史油量数据如图9所示.

4.1 NB-IoT终端设备能耗特点

NB-IoT终端设备主要由NB-IoT模组、微处理器、超声波液位传感器、GPS模块组成. NB-IoT模组分为休眠和工作两种模式[11], 在休眠状态下耗流小于5 mA, 在工作模式下发射模式为LTE功耗为0.25 W, EDGE功率为0.5 W[12]. 因此终端设备的能耗与上传数据的时间间隔密切相关, 本系统数据上传间隔为10 s, 平均能耗为0.2 W. 微处理器采用STM32L051芯片, stop模式唤醒功耗0.8 uA, 工作模式下功耗为2.4 uA. 超声波液位传感器工作电流为35 mA. GPS模块采用Ublox-NEO-M8N, 功耗为50 mW.

图 8 系统运行首页

图 9 机车油量历史数据趋势图

4.2 系统的综合性能

本系统中的超声波油量传感器更新频率为1 s, 上传数据的时间间隔为10 s, 控制命令下发的时间为0–10 s, 因为只有在设备上传数据后才能根据此时的设备号匹配到相应的IP地址将命令正确的下发给相应的终端设备. 因此本系统的响应速度为10 s.

实验中油量滤波算法的队列长度为60, 时间间隔为10 s, 则监测的油量有10分钟的延时, 油量正常消耗阶段对油量的观测没有影响.

4.3 滤波效果

实验中采用滤波算法如上所述方法实现, 滤波前与滤波后油量实时液位如图10图11所示.

4.4 测量精度

机车油箱总油量约为9000 L, 由于测试条件有限无法得到精确的实际油量, 根据车务段机车的加油数据, 对比加油前后的油量差与实际的加油量相差为正负100 L.

图 10 滤波前液位高度

图 11 滤波后液位高度

5 总结

基于NB-IoT的机车油量监控系统利用NB-IoT技术能够稳定的将机车油量液位、经纬度、速度等信息传输到服务器, 使用多种简单滤波算法相结合的方法减少液位波动引起的误差取得较好的效果, 对机车进行科学调度, 提高资源的利用, 加强对机车油耗的控制.

参考文献
[1]
王旭, 魏文勇. 基于窄带物联网技术的发展及典型应用研究. 电信网技术, 2017(11): 55-60.
[2]
邹玉龙, 丁晓进, 王全全. NB-IoT关键技术及应用前景. 中兴通讯技术, 2017, 23(1): 43-46. DOI:10.3969/j.issn.1009-6868.2017.01.010
[3]
沙涛, 刘梦君, 李丹, 等. 公租房背景下NB-IoT安全智能锁系统解决方案. 计算机应用研究, 2019, 36(6). http://www.cnki.net/KCMS/detail/51.1196.TP.20180509.1659.002.html.
[4]
Wang YPE, Lin XQ, Adhikary A, et al. A primer on 3GPP narrowband Internet of Things. IEEE Communications Magazine, 2017, 55(3): 117-123. DOI:10.1109/MCOM.2017.1600510CM
[5]
周波, 朱福顺. 基于NB-IoT的城市环境综合监控系统的研究与设计. 信息通信, 2018(1): 104-105. DOI:10.3969/j.issn.1673-1131.2018.01.045
[6]
何苏利. 基于窄带物联网的地下停车场灯控系统设计与实现. 科技创新与应用, 2018(2): 106-107.
[7]
Sinha RS, Wei YQ, Hwang SH. A survey on LPWA technology: LoRa and NB-IoT. ICT Express, 2017, 3(1): 14-21. DOI:10.1016/j.icte.2017.03.004
[8]
朱鹏, 徐洁. 基于NB-IOT窄带物联网智能路灯云端控制系统的设计与实现. 电脑知识与技术, 2018, 14(12): 218-220.
[9]
杨佳卉, 黄浩, 胡永明, 等. 基于NB-IoT的LED照明灯远程监控系统设计与实现. 物联网技术, 2018, 8(6): 47-49.
[10]
徐俊俊. 基于NB-IoT技术的智能指纹锁系统设计. 计算机产品与流通, 2017(12): 133.
[11]
郭晓玲, 武仁杰, 张同心. 基于NB-IoT的温度监测系统的设计与实现. 河北北方学院学报(自然科学版), 2018, 34(5): 29-32. DOI:10.3969/j.issn.1673-1492.2018.05.006
[12]
李娟, 胡晓玲, 李自刚. 窄带物联网NB-IOT能耗测试浅析. 电信网技术, 2016(8): 65-67.