LBS 定位
把设备扫到的 WiFi / 基站信息变成经纬度。没有 GPS 也能定位。
- 数据来自自有设备持续上报,越用越准
- 基站优先(覆盖大),其次 WiFi(精度高)
- 返回命中率与估计精度,不做过度承诺
能力概览
都走同一套鉴权、同一套错误码;都能用一条 curl 验证。
把设备扫到的 WiFi / 基站信息变成经纬度。没有 GPS 也能定位。
上传一张照片,返回品种、毛色、年龄区间与健康提示。
数据是自己的。定位库由我们的宠物设备上报后自学习沉淀(WiFi / BLE / 基站三路), 不依赖外部开源库 —— 覆盖会随设备规模持续变好,而不是一次导入就固定。
平台能力
下面三项是按项目对接的能力,不开自助调用 —— 需要先对齐设备协议、数据口径与合规边界。
其他品牌的宠物智能设备按协议上报(HTTP / MQTT),映射到设备档案与宠物档案, 共用定位、轨迹与状态判断;接入前需要设备号规则与鉴权方式确认。
设备数据 + 宠物档案交给宠物 AI 模型,输出活动量趋势、异常静止与观察建议。 只做趋势与提醒,不做诊断、不给药物剂量。
定位库反查、历史轨迹、每日活动统计按授权范围提供; 精度只给估计值,查不到时明确返回空,不用假坐标兜底。
边界:LBS 定位是已上线的自助 API;设备接入、状态判断与数据服务是项目制, 需要先谈协议与授权范围,不在本页提供密钥申请。
快速开始
YOUR_API_KEY 换成真实 Key —— 真 Key 只放服务端。code: 0 且 data 里有 lat / lng。curl -X POST https://api.aipite.com/open/v1/lbs/locate \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"wifi":[{"bssid":"a0:b1:c2:d3:e4:f5","rssi":-61}],
"cell":[{"mcc":460,"mnc":0,"lac":7025,"cid":178957508,"rssi":-75}]}' 期望响应:{"code":0,"msg":"ok","data":{"lat":30.48,"lng":114.40,...}}; 若返回 code:40101,是 Key 不对或没带鉴权头。
接口文档
POST https://api.aipite.com/open/v1/lbs/locate · 鉴权头 X-API-Key(也支持 Authorization: Bearer <key>)
{
"wifi": [{ "mac": "AA:BB:CC:DD:EE:FF", "rssi": -70 }],
"cell": { "mcc": 460, "mnc": 0, "lac": 7025, "cid": 49498985 }
}| 字段 | 必填 | 说明 |
|---|---|---|
wifi | 二选一 | WiFi 列表。三种写法都接受:"AA:BB:.." / {"mac":".."} / {"macAddress":".."} |
cell | 二选一 | 基站四元组 mcc/mnc/lac/cid。与 wifi 同时给时基站优先 |
rssi | 否 | 当前不参与计算:历史信号口径混用,加权会带偏结果 |
{
"code": 0, "msg": "ok",
"data": {
"lat": 23.379925, "lng": 104.221275,
"accuracy": 200, // 估计精度(米),不是实测
"confidence": 1, // 命中率 matched/total
"source": "wifi", // wifi | cell
"matched": 1, "total": 1
}
}关于 accuracy:它是估计值,不是设备实测定位精度 —— 按命中点离散度估算, 下限 50 米、单点 200 米、基站 1000 米。自建库的坐标来自历史聚合,不可能比几十米更准, 所以不写更小的数字。
| 响应字段 | 类型 | 说明 |
|---|---|---|
lat / lng | number | WGS84 经纬度;data=null 时不存在 |
accuracy | number | 估计精度(米),下限 50 / 单点 200 / 基站 1000 |
confidence | number | 命中率 = matched / total,0–1 |
source | string | wifi 或 cell(同时给时基站优先) |
matched / total | number | 命中热点数 / 提交热点数 |
42901 / 42902。code=0 + data=null(库里没这个热点),这不是报错。| code | HTTP | 含义 | 建议处理 |
|---|---|---|---|
0 | 200 | 成功。data: null 表示库里查不到 | 查不到时不要当成 (0,0) |
40101 | 401 | Key 缺失 / 无效 / 停用 / 过期(不区分原因) | 检查 key,勿重试 |
42901 | 429 | 超出每分钟配额 | 退避重试 |
42902 | 429 | 超出每日配额 | 次日或提额 |
40001 | 400 | 参数错误(wifi 与 cell 都没给) | 修调用 |
50001 | 500 | 服务内部错误 | 可退避重试 |
404 | 404 | 路径不存在(多为拼错 / 环境问题) | 核对 base_url 与 path,仍 404 请联系支持并附 request_id |
502 / 504 | 502/504 | 网关到服务不通或超时(不在业务码内) | 退避重试;持续失败请报障(附 request_id) |
# 把 YOUR_API_KEY 换成自己的 key(不要在浏览器/前端里放真 key)
curl -X POST https://api.aipite.com/open/v1/lbs/locate \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"wifi":["AA:BB:CC:DD:EE:FF","11:22:33:44:55:66","77:88:99:AA:BB:CC"]}'请勿在前端使用真 Key。本接口面向服务端调用 —— 浏览器/小程序里直接放 key 会被抓包, 应经由你自己的后端转发。
数据来源
定位库是设备一条条上报沉淀的,覆盖随设备规模增长而变好。
常见问题
本次请求里的 WiFi / 基站都没在库里匹配到(matched: 0)。换更多的热点、或等覆盖增长后再试;这不算错误,所以 code 仍为 0。
当前版本按「命中即投票」聚合坐标,信号强度只做记录与排序参考,不参与加权计算 —— 写进请求里是为了后续升级,不影响现在的结果。
accuracy 是估计值,不是实测精度。命中点稀疏时按保守下限给 50 米,避免给出"看起来 5 米"的假精度。
用爱彼特账号登录 cw.aipite.com 控制台,在「API Key」页自助创建,默认 60 次/分钟、10000 次/天。明文只显示一次,丢失请删除重建。
控制台目前复用宠物主账号(App / 小程序注册的手机号),暂不开放独立开发者注册。机构接入、设备接入与提额走项目制对接。
即将开放,目前没有可用时间表,也不接受预约。上线后会在本页与新闻动态同时公告。
开放平台控制台 · cw.aipite.com
用爱彼特账号登录控制台,创建 / 停用 / 删除 API Key,查看累计调用与最近使用时间。 明文只在创建时显示一次,之后只保留前缀。
暂不收费;需要更高配额或机构接入,走商务对接。控制台不提供独立开发者注册。