一、服务简介
- OneOS高精度定位服务基于中移智行的高精度定位平台,可以为搭载OneOS的物联网硬件提供最高动态厘米级、静态毫米级的卫星定位能力;并且针对性优化了物联网硬件在使用差分服务时资源占用过大的问题。包含三种服务:厘米级RTK、亚米级RTK、亚米级RTD,开发者可根据使用场景和硬件配置灵活选用相应服务。服务详细介绍如下:
二、高精度定位组件
- OneOS高精度定位组件是一种端云融合组件,需要搭配OneOS的CMS(China Mobile Service,即中国移动服务框架,是中国移动OneOS操作系统服务合集)服务平台使用,搭载OneOS的物联网端侧使用CMS组件接入平台后即可使用高精度定位功能。OneOS中高精度定位组件具体配置开启方式参考文档。
1、环境准备
- 本次采用OneOS万耦创世开发板(STM32L475VGT6) + 蜂窝模组(ML302) + GNSS模块(ublox-f9p)的方案进行演示!
(1)OneOS下载
- 地址:https://os.iot.10086.cn/download/
(2)OneOS Cube下载并安装
- 地址:https://os.iot.10086.cn/download/tool
(3)开发板准备与连接
- 开发板的console对应的是MCU的uart3
- ML302与MCU的uart4连接
- GNSS模块与MCU的uart2连接
(4)工程生成与配置
- 解压OneOS源码,然后进入projects目录
- 右键选择OneOS Cube并打开
- 键入oos project命令后,会弹出工程选择菜单
- 选择开发版本对应的工程,然后保存配置
- 进入刚生成的工程目录中,用oosinit -i keil命令进行工程编译
- 编译无误后打开keil工程,然后编译生成可执行文件,并烧录
- 连接console并键入version命令验证开发板是否启动正常
2、CMS服务配置
- 物联网设备调用CMS服务时需要在“CMS工作台”中创建自己的产品,然后为产品开通相应的定位服务;商用的高精度服务是一个收费的服务,具体配置参考《OneOS定位服务-专用服务功能手册》](OneOS定位服务-专用服务功能手册 v0.1 20230621.pdf)。
- 点击左侧产品列表,选择要配置的产品,然后点击服务配置,选择右侧的具体服务,这里选择高精度服务中对应的测试服务(为方便开发者们尝鲜试用与临时调试,OneOS提供了测试用的高精度定位服务)。
3、组件配置
(1)组件下载
- 位置服务组件已上传OneOS的组件中心,可在工程目录中使用命令oos pack download position下载位置服务组件;下载位置服务组件时会自动将所依赖的组件(CMS组件和cJSON组件)一起下载。
(2)网络组件配置
- 进入工程目录,使用OneOS Cube工具进行工程配置;
- 键入 oos config命令打开配置菜单;
- 本次演示使用cat.1模组进行网络通信,在配置菜单中进行如下配置。
(3)CMS组件配置
- 在工程中配置进刚才在CMS平台新建的产品ID和其对应密钥;
(4)高精度定位组件配置
- 在位置服务组件中开启高精度定位功能
(5)工程编译与烧录
- 保存配置,使用oos init -i keil命令进行工程编译配置,然后打开keil工程,点击编译选项,编译工程,生成可执行文件并进行烧录。
4、定位结果展示
- 在户外场景,连接开发板的console,使用shell命令onepos gnss_test开启gnss功能。
(1)静态定位结果
平台页面
相对精度
(2)动态定位结果
相对精度
绝对精度