Ble组网TBOX控制系统
近年来随着智能手机的普及和基础4G CAT1 通信网络全覆盖,电动车智能化有了坚实的技术基础[2]。传统的两轮电动车基本没有智能化体验,同质化比较严重,智能化作为提高用户体验的重要一环也是电动车发展的一个突破口。新能源汽车越来越受到消费者的欢迎,普通客户对两轮电动车智能化需求也在增大,两轮电动车的智能化升级同样势在必行[3]。
本文引用地址:http://www.amcfsurvey.com/article/202305/447054.htm1 整体设计
1.1 系统整体设计概述
TBOX 的核心组件EC600U CAT1 模组和L76K 定位模组。EC600U-CN 是LTE Cat 1 无线通信模块,支持最大下行速率10 Mbit/s 和最大上行速率5 Mbit/s,支持opencpu 开发依托4G 网络可以和服务器进行数据通信,它内部集成了Ble 模块可设置为从机和主机蓝牙报警器通过主从连接进行无线组网通信。
L76K 是一款支持多卫星系统(GPS、BeiDou、GLONASS、QZSS)的定位模组,可多系统联合定位和单系统独立定位,支持AGNSS 功能、内置低噪声放大器和声表面滤波器。L76K 会周期性输出NEMA 数据给CAT1,CAT1 解析后上报给服务器。用户可以通过App查看实时定位功能和车辆行驶轨迹信息[4]。TBOX 系统框图如图1 所示。
图1 TBOX系统框图
2 定位模块
2.1 L76K模组简介
L76K 模块电压范围为2.7~3.4 V,典型值3.3 V。L76K 可实现高灵敏度、高精度定位以及对定位信号的快速跟踪和捕获。支持有源天线检测和短路保护。通过NMEA 语句输出显示,便于及时、便捷地查询天线状态。L76K 引脚分配图如图2 所示。
图2 L76K引脚分配图
2.2 NMEA数据
NMEA 0183 是美国国家海洋电子协会(National Marine Electronics Association )为全球定位系统制定的一套标准通讯协议[5]。NMEA 语句结构如图3 所示。
图3 NMEA语句结构
GNSS(Global Navigation Satellite System)全球导航卫星系统包含中国的北斗卫星导航系统(BDS)、美国的全球定位系统(GPS)、俄罗斯的格洛纳斯卫星导航系统(GLONASS)和欧盟的伽利略卫星导航系统(GALILEO)。L76K 支持BDS、GPS、GLONASS 星系,GNSS 的默认配置为BDS+GPS.
2.3 L76K参数配置
中控第一次上电CAT1 会对L76K 进行参数配置。配置语句采用PCAS 格式:$PCAS<N>,<D>*<checksum><CR><LF>。
波特率设置9 600:N 取值01,D 取值1 对应波特率9 600,示例:$PCAS01,1*1D。D 字段对应的波特率如表1 所示。
如同波特率设置方法,L76K 的NMEA 语句输出类型设置为GNGGA+GNRMC, 输出频率为1 s:N 取值03,D 取值:1,0,0,0,1,0,0,0,0,0,,,0,0,完整的PCAS 数据为:$PCAS03,1,0,0,0,1,0,0,0,0,0,,,0,0*02。CAT1 初始化上电时发送给L76K 完成设置。
2.4 L76K AGNSS流程
实际应用场景中TBOX会随车推到地下室或者室内无法定位的场景,在无效定位场景的时间超过2 个小时,L76K 内部存储的星历数据会失效丢失,这时重新推到室外相当于冷启动,定位时间会在2 min左右。为了解决该问题引入L76K AGNSS 功能,它在实际应用场景中可以有效降低模组定位时间,提高用户体验[6]。L76K 的AGNSS 功能需要CAT1 发送AIN-INI数据,它包含辅助经纬度、GPS 周内秒等数据,然后CAT1需要从FTP 服务器下载星历数据发送到L76K。模块收到卫星数据后会将数据存储到RAM 中,辅助实现快速定位。CAT1 的AGNSS 配置工作流程图如图4所示。
图4 CAT1 AGNSS工作流程
3 CAT1通信模组
3.1 Ec600u主要功能简介
TBOX 的主控是CAT1 模组EC600U, 它可以通过串口Uart 设置L76K 参数,接收定位信息,从FTP服务器下载辅助定位的星历数据, 并通过Uart 发送给L76K 完成设置;通过TCP/IP 网络可以主动上报车辆状态信息、接收回复服务器控制命令;内部集成的Ble 模块作为从机可以和Ble 报警器连接通信实现报警器的信息和TBOX 交互。EC600U 原理图如图5 所示。
图5 EC600U原理图
3.2 CAT1和服务器通信
TBOX 的网络通道接收、上报的数据内容包括两部分:服务器直接和TBOX 通信数据,服务器通过TBOX透传给Ble 报警器的数据。本文重点说明TBOX 本身和服务器的交互内容。TBOX 和服务器的交互信息主要包含基础信息、位置信息、报警器连接状态信息。第一次初始化上电TBOX 需要入网鉴权,上报基础设备信息包括ICCID、MAC(Ble)、固件版本号等信息;位置信息通过获取到报警器电门状态来改变上报频率,启动状态为8 s/ 次,熄火状态10 min/ 次;Ble 报警器和TBOX 的连接状态会根据连接状态变化实时上报服务器。TBOX 服务器协议内容如表2 所示。
TBOX 协议内容是TBOX 和服务器直接的数据通信,协议内容以外的命令数据TBOX 会直接透传给Ble蓝牙报警器。TBOX 数据通信流程图如图6 所示。
图6 TBOX数据通信流程图
4 CAT1和蓝牙通信
4.1 CAT1和蓝牙报警器连接过程
EC600U 内部集成了蓝牙模块,Opencpu 开发设置蓝牙为从机模式,蓝牙报警器作为主机。手机App 和蓝牙报警器连接后可以通过扫描TBOX 的二维码获取其MAC 地址并发送给报警器,报警器存储接收到的MAC并扫描匹配附近设备的MAC 连接对应TBOX。
4.2 数据鉴权
蓝牙报警器和TBOX 蓝牙连接成功后需要进行数据鉴权确认双方身份合法性。鉴权过程可分为4 步,①报警器发送数据开始鉴权,② TBOX 生成随机数发送鉴权数据,③报警器解密得到随机数取非后按照协议返回,④ TBOX 接收数据判断返回随机数是否和生成的随机数取非一致,返回配对结果。
成功配对举例( 数据十六进制):
ALARM 发05 05;
TBOX 发AA 11 11 11 11 EE 88;
ALARM 发BB EE EE EE EE 73 88;
TBOX 发02 03 / / 随机数11 11 11 11 取非为EEEE EE EE,配对成功。
数据鉴权流程图如图7 所示。
图7 TBOX数据鉴权流程图
4.3 应用数据交互
TBOX 和蓝牙报警器鉴权成功之后就可以进入应用数据交互的过程。鉴权过程TBOX 生成的随机数作为应用数据交互加密解密的密钥。应用数据和随机数的最低字节进行异或加密和解密。异或原函数:
u8 CMD_XOR(u8 *buf, u16 len, u8 nonce)
{
u16 i=0;
for(i=0;i<len;i++)
{
buf[i] = buf[i]^nonce;
}
return pdPASS;
}
举例
从机随机数是0x11223344, 那么异或用低字节0x44,发送数据如下。
原始数据:data[5]={0x11,0x11,0x11,0x11,0x11} 。
异或加密:0x11^0x44=0x39; CMD_XOR(data,5,0x44) 。
发送加密数据:data[5]={0x39,0x39,0x39,0x39,0x39}。
接收数据如下。
接收到加密数据:rece[5]={ 0x39,0x39,0x39,0x39,0x39}。
异或解密:0x39^0x44=0x11; CMD_XOR(rece,5,0x44)。
解密后数据:rece[5]={0x11,0x11,0x11,0x11,0x11}。
经过以上步骤TBOX 和蓝牙报警器完成了连接并可以正常通信。用户通过手机App 可以远程控制报警器,实时查看报警器和TBOX 的状态信息。TBOX 和蓝牙组网后通信框图如图8 所示。
图8 TBOX组网后通信框图
5 结束语
Ble 组网TBOX 只要给设备供电就可以工作,给配套蓝牙报警器添加网络控制通道,远程查看轨迹定位。设备支持后装,客户可以自由选择是否安装,可为两轮电动车用户进一步提高智能化体验。
参考文献:
[1] 王邵龙,姜帆,谷原野,等.基于Tbox测试的车联网测试研究[J].汽车电器,2018(10):31-32.
[2] 邹渝.以智能化、国际化发展突破电动自行车行业困境[J].新能源科技,2016(10):5-7.
[3] 游显,锋王磊,樊婧婧.浅谈新国标下电动自行车发展趋势[J].摩托车技术,2021(3):27-29.
[4] 孔祥杰.北汽新能源汽车TBOX软件设计与实现[D].大连:大连理工大学,2017.
[5] 魏荣瀛,张坤军.海洋测绘常用NMEA 0183数据协议格式解析[J].浙江水利科技,2020(1):64-65+69.
[6] 刘虹江,冯强,项博.浅谈基于GPS与AGPS的双重定位[J].电脑知识与技术:(学术版),2014(3):1579-1581
(本文来源于《电子产品世界》杂志2023年5月期)
评论