本文分享自《OneOS位置组件应用及实战总览》,根据OneOS定位服务组件直播演示视频撰写,视频演示:OneOS学院 (10086.cn)
01 总体介绍
OneOS位置组件是OneOS端云融合的一个典型应用组件,由一个平台、三大服务组成,分别是位置服务平台、Wi-Fi/基站定位服务、AGNSS快速定位服务、RTK/RTD高精度定位服务,为穿戴、工业、交通、测绘、电力等行业提供各种精度的定位能力。
本文将介绍OneOS位置服务组件相关的配置方法,帮助用户快速使用位置服务,为自己的产品进行赋能,丰富产品能力。还在等什么,让我们一起行动起来吧!
02 演示硬件平台介绍
本次使用硬件如下:
- OneOS万耦开发板(stm32l475)
- 蜂窝模组(ML302)
- Wi-Fi模组(esp8266)
- 卫导模块(ublox-f9p)
- 仿真器
硬件连接图如下:
源码及下载地址:
Gitee:OneOS-V2.3.0
03 OneOS-CMS平台设备注册
端侧调用CMS服务时需要在“CMS工作台”中创建自己的设备,然后为设备开通相应的定位服务;具体操作:
Step 1 账号注册
进入官网页面:OneOS - 中国移动物联网操作系统
Step 2 实名认证
个人认证填写完资料即可认证成功,企业认证需要等待审核。
04 定位服务配置
Step1 CMS平台产品创建
- 访问OneOS官网,点击右上角的登陆按钮登陆;
- 点击进入工作台,然后在左边菜单栏点击进入产品管理;
- 点击新建产品,根据自己的信息完成设备创建;
协议需要选择为mqtt;保存新建产品的pid和密钥,在后续端侧配置时需要使用。
Step 2 定位服务配置
- 然后进行服务配置,点击左侧服务按钮,点击进入“定位服务”;
- 点击右侧产品列表,然后点击自己产品的服务配置项,进行服务配置;
- 勾选相应的服务与功能;这里的下发坐标的功能是指在网络定位时是否将定位结果下发至端侧;然后点击确认完成服务配置。
CMS平台侧配置完毕。
05 网络定位功能实战
网络定位是使用设备自身所处的网络环境的特征进行匹配定位的一种定位方式,目前OneOS支持的定位方式有:Wi-Fi定位、基站定位以及Wi-Fi与基站联合定位。
Step 1 CMS账号配置
- 下载最新版本的OneOS代码,然后进入projects目录。
- 右击菜单中进入OneOS-Cube。
- 在OneOS-Cube中使用project.bat命令。
- 选择相应的MCU型号以便生成对应的基础工程。
- 进入工程目录并使用“menuconfig.bat”进入OneCube配置界面。
- CMS账号配置进入Components→ CMS→ CMS Connect使能CMS Connect组件。
- 然后进入Components→ CMS→ CMS ID使能CMS ID组件,并配置产品pid和key(之前申请设备时保存的信息)。
Step 2 通信组件配置
- 进入新工程的目录,在Cube中使用menuconfig.bat命令进入配置菜单栏,依次进入 Components→ Network→ Molink,进行Molink功能项相关配置;
- 进入Module→ 4G CAT1 Modules Support使能ML302蜂窝模组,该模组挂载在设备uart4上,并使能BSD Socket Operates功能;
- 进入Module→ Wi-Fi Modules Support使能esp8266蜂窝模组,该模组挂载在设备uart1上,并使能BSD Socket Operates功能;
Step 3 定位组件配置
- 进入Components→ Position,使能系统的定位功能,然后使能定位示例(定位的shell命令);(onepos support command)。
- 进入 Position→ enable position support → network positon → cell position,然后使能基站定位功能,配置使用的蜂窝模组(这里默认即可)。
- Position→ enable position support → network positon → Wi-Fi position然后使能Wi-Fi定位功能,配置使用的Wi-Fi模组(这里默认即可)。
- debug信息配置可选。
- 进入network positon更改定位服务的相关控制项(默认即可)。
- Save config。
Step 4 工程应用及显示
- 在OneOS cube中使用scons --ide=mdk5 进行工程生成与编译。
- 打开mdk工程编译代码,板卡通过仿真器链接电脑,烧录至目标板。
- 打开串口调试工具;重新打开OneOS工作台中建好的产品列表,可以看到当前在线设备为0。
- 在串口工具中,使用onepos start命令开启定位服务,使用onepos status命令查看定位服务状态,使用onepos pos命令查看设备的经纬度信息。
- 这时,刷新OneOS工作台页面,可以看到在线设备数量发生了变化,变为1。
- 点击“CMS定位服务平台”的“设备调试”中的“详细信息”可以在地图中查看设备的实时位置。
- 使用onepos stop命令终止定位服务。
06 AGNSS功能实战演示
AGNSS功能是利用网络将辅助信息(星历等)下载下来并注入卫导模块中,大幅减少卫导模块重启后搜星捕获的时间,提高卫导模块的TTFF性能,从而提升定位速度,降低设备功耗。
Step 1 AGNSS使能
- 基于上个步骤的工程,由于卫导定位只能在室外进行,但室外并无热点,所以先关闭Molink中的Wi-Fi模块和网络定位。
- 依次进入Position→ enable position support → gnss position使能gnss定位。
- 进入gnss receiver 使能卫导接收机,然后进入gnss receiver operation,使能重启和agnss功能。
Step 2 AGNSS配置
- 进入接收机列表中support gnss rcvr list,选择使用的接收机,并配置接收机挂载的设备与agnss所使用的卫星系统。
- 最后进入gnss protocol使能接收机的nmea 0183协议。
Step 3 工程生成与编译
- 与网络定位一样,使用scons --ide=mdk5进行工程生成与编译。
- 打开mdk工程,然后编译代码并烧录至目标板。
Step 4 AGNSS服务启动及测试
- 使用onepos gnss_test命令挂载接收机到系统中,使能位置服务组件。
- 然后使用onepos ops_test 1进行接收机冷启动,观察输出信息,记录接收机冷启动到稳定定位消耗的时间。
- 然后使用命令onepos ops_test 2进行接收机冷启动与agnss功能,观察输出信息,记录接收机有agnss服务参与时接收机从冷启动到稳定定位消耗的时间。
- onepos gnss_close,关闭服务组件。
演示环境下,在agnss服务参与时的TTFF减少了23.23秒。
OneOS位置服务可以为接入CMS框架的智能硬件设备提供高精度定位功能,提供多种定位方式,同时支持Wi-Fi/基站/AGNSS等定位手段。目前Wi-Fi/基站定位、AGNSS服务在注册之后可免费使用,RTD/RTK功能为收费服务项,如需使用可以联系OneOS官方人员。
目前体验OneOS定位服务组件官方会赠送小礼品,体验WiF/基站定位可以获得32G U盘、保温杯、智能语音遥控器三选一,体验WiF/基站定位和GNSS定位可以获得32G U盘、保温杯、智能语音遥控器三选二,可以参与一下。