网关信息获取/设置
通过 /cassia/info 接口获取或设置网关信息,使用 调用RESTful API 调用。
GET /cassia/info:获取网关整体状态,包括型号、固件版本、功能列表、蜂窝模块(dongle)配置、GPS定位状态等POST /cassia/info:设置网关配置,body仅需提交变更字段,其余字段保持不变
备注
配置发生变更时网关会重启,重启后配置生效;提交与当前相同的配置不会触发重启
网关重启后,APP需开启
Run at Startup才会自动恢复运行
示例
1import asyncio
2import json
3
4import cassiablue
5
6
7async def get_info():
8 ok, ret = await cassiablue.send_cmd("/cassia/info")
9 print("get info done:", ok)
10 if not ok:
11 print("get info failed:", ret)
12 return None
13 return json.loads(ret)
14
15
16async def enable_gps_startup(info):
17 dongle = info.get("dongle") or {}
18 if str(dongle.get("gps_startup")) == "1":
19 print("gps_startup already enabled, skip")
20 return
21
22 body = json.dumps({"dongle": {"gps_startup": "1"}})
23 ok, ret = await cassiablue.send_cmd("/cassia/info", "POST", None, body)
24 print("set gps_startup done:", ok, ret)
25
26
27async def main():
28 info = await get_info()
29 if not info:
30 return
31
32 print("model:", info.get("model"))
33 print("version:", info.get("version"))
34 print("features:", info.get("features"))
35
36 await enable_gps_startup(info)
37
38
39asyncio.run(main())
API
获取网关信息
ok, result = await cassiablue.send_cmd("/cassia/info")
info = json.loads(result)
响应为网关整体状态,下面为节选(省略无关字段):
{
"model": "M2000",
"version": "2.2.0.2608241151",
"features": ["gps", "microapp"],
"dongle": {
"imsi": "",
"operator": "",
"band": "",
"ICCID": "",
"signal": 0,
"apn": "",
"gps_startup": "1"
},
"gps": {
"TIME": "",
"LON": "",
"LAT": "",
"NS": "",
"WE": "",
"SATELLITE1": 0,
"SATELLITE1_SNR": 0
}
}
字段 |
类型 |
说明 |
|---|---|---|
model |
str |
网关型号 |
version |
str |
网关固件版本号 |
features |
list |
网关支持的功能列表(如 |
dongle |
dict |
蜂窝模块配置与状态(含 |
gps |
dict |
GPS定位状态(参考 GPS定位) |
设置网关信息
body = json.dumps({"dongle": {"gps_startup": "1"}})
ok, result = await cassiablue.send_cmd("/cassia/info", "POST", None, body)
body仅需包含变更字段,设置成功时 result 返回 OK。