鸿蒙6如何与智能体共享位置信息

鸿蒙6应用“我在这里”的使用说明书

工作原理

非常简单,三步走:

  1. 你的手机自带的定位功能获取准确的经纬度
  2. 鸿蒙应用“我在这里” 将经纬度定时发送到你指定的服务器
  3. 你的智能体去指定服务器读取你的坐标位置

准备工作

在成功共享位置前,需依次完成以下准备工作。

安装手机应用

从鸿蒙系统应用商店(App Gallery)里安装“我在这里”手机应用。当前为邀请测试阶段,你可以在下方评论区或者小红书对应页面评论来获取邀请链接。安装前请确认应用名称与图表如下下图所示。

部署后端服务

如果你的智能体安装在自己家里的电脑上,由于家庭宽带和路由器的原因,它大概率没有一个独立的公网IP地址。公网IP就像是你家的地址——没有这个地址,快递无法送上门,没有公网IP,手机应用没办法把定位消息直接发给你的智能体。

常用的解决办法分两类。第一类,通过有公网IP的服务中转。就像是快递柜,快递先丢那里,然后你去取回。第二类是通过现有的互联网通道搭建一个私有网络,然后手机和智能体直接通讯。这就像是你和快递员私下达成协议,你用一个假地址,快递员看见了就把这件送到你的真实地址。

第二种方法需要通过第三方服务来实现,例如Tailscale,你可以在互联网上找到大量的参考。这里主要介绍第一种方法——中转服务。

中转服务最大的优势——你有完整的数据权限。你的定位从手机到中转服务器再到你的智能体,整个链路可控。一个典型的中转服务包含两部分:有公网IP的服务器与中转服务应用。公网IP服务器可以在任意云服务厂商购买,如阿里云、腾讯云等等。中转服务应用你有两个选择:一是自行开发。“我在这里”发送的数据结构是公开的,自行开发后端服务没有障碍;二是使用我开发的服务“here-server”,源代码公开在GitHub,你可以自行部署。

GitHub - yinguobing/here-server: 我在这里 - 鸿蒙定位APP后端服务
我在这里 - 鸿蒙定位APP后端服务. Contribute to yinguobing/here-server development by creating an account on GitHub.

“here-server”支持多用户,这意味着一个服务器可以同时被多人共享使用。但是要注意,服务器管理员可以看到数据库的内容,也就是你的定位。所以谨慎与他人共享中转服务

“here-server”部署完成后,添加用户会自动生成用户口令。记下你的服务地址口令。服务地址一般是你的服务器地址/location这样的形式,例如:

# IP地址(示例,不是真实IP)
http://1.2.3.4/location
# 或者域名(示例,不是真实域名)
https://yinguobing.com/location
💡
请优先使用SSL协议,以加密传输内容。

最关键的来了,将服务地址口令填入下边这段文字,然后发给你的智能体:

请依据开源项目https://github.com/yinguobing/here-server的API描述来获取我的物理位置。服务地址是“填充你的服务地址”,口令是“填充你的口令”。
⚠️
这两条关键信息务必保密,泄露后他人可以获取你的定位历史。

开始使用

在手机端打开应用,首屏会显示默认地图位置与当前定位信息。

开启时的默认界面

点击右上角的齿轮按钮,进入设置页面,选择“位置共享”,并填入之前准备好的远程服务地址与口令,然后保存:

位置共享界面

连续点击左上角后退箭头,回到首页。然后点击最下方的“开始记录”。此时应用会像你申请定位权限与后台运行权限,允许即可。如果你没有赋予后台运行权限,应用切换至后台后将被鸿蒙系统冻结,无法上报位置。一旦应用开始工作,会在底部面板显示当前经纬度以及最后一次上报时间。你可以在设计里改变上报时间间隔,最小1分钟。

应用工作中

待有数据上报,就可以要求你的智能体去获取定位了。

注意事项

  1. 牢记数据安全:中转服务管理员、任何知悉你中转服务与密码的人,都可以获取你的历史定位信息。
  2. “here-server”默认保留24小时历史定位。
  3. “我在这里”可设定的定位上报间隔最小1分钟,最大24小时。
  4. 受鸿蒙系统定位开发SDK的限制,定位间隔时间无法像秒表一样准确,可能有数分钟的提前或者滞后。

如果你有其它问题,请在下方留言。

转发至

微信扫一扫分享

WeChat QR Code