GNSS&LBS&Wi-Fi定位示例
场景描述
目前开发者中心位置服务支持 GNSS设备定位 与 LBS定位 与 WIFI定位,从而确定设备所在具体位置。本文将为您介绍如何获取与上报定位数据到开发者中心。
- 全球导航卫星系统(GNSS) 连接外置GNSS模组实现卫星定位。
- LBS定位 基于通信运营商的基站定位系统。
- WIFI定位 基于无线路由器信号的定位系统。
涉及指令
函数 | 说明 |
---|---|
Qth.sendOutsideLocation() | 发送外部定位NEMA数据 |
提示:详情请参考设备定位 相关接口。
示例一(上报设备LBS定位功能的定位数据)
1、读取模组LBS数据并上报到开发者中心
py
def send_lbs():
cell_info = -1
cell_info = net.getCellInfo()
if cell_info != -1 and cell_info[2]:
first_tuple = cell_info[2]
logApp.info('cell_info[2]{} '.format(cell_info[2]))
logApp.info('first_tuple{} '.format(first_tuple))
lbs_data = "$LBS,{},{},{},{},{},0*69;".format(first_tuple[0][2],first_tuple[0][3],first_tuple[0][5],first_tuple[0][1],first_tuple[0][7])
Qth.sendOutsideLocation(lbs_data)
logApp.info('send_lbs{} '.format(lbs_data))
return 1
else:
logApp.error('数据不足以解码')
return 0 # 放在函数结尾,表示数据不足
2、开发者中心查看设备定位
在 设备详情 详情页,单击 设备定位 页签可查看定位数据及地图位置。
示例二(上报设备GNSS定位功能的定位数据)
1、读取模组GNSS数据并上报到开发者中心
py
def send_gnss():
nmea_data = quecgnss.read(1024)
if len(nmea_data) > 1:
nmea_str = nmea_data[1].decode()
logApp.info('nmea_data[1].decode(): {}'.format(nmea_data[1].decode()))
nmea_lines = nmea_str.split("\n")
logApp.info('nmea_lines: {}'.format(nmea_lines))
gngga_data = None # 初始化为 None
for line in nmea_lines:
if line.startswith("$GNGGA"):
gngga_data = line
logApp.info('gngga_data: {}'.format(gngga_data))
break # 找到数据后立即退出循环
if gngga_data:
logApp.info('GNGGA数据: {}'.format(gngga_data))
if is_valid_gga_sentence(gngga_data) == True:
Qth.sendOutsideLocation(gngga_data) # 传递多个参数
return True
else:
logApp.info("未找到$GNGGA数据")
return False
else:
logApp.error('数据不足以解码')
return False # 放在函数结尾,表示数据不足
2、开发者中心查看设备定位
在 设备详情 详情页,单击 设备定位 页签可查看定位数据及地图位置。