概述
本章节描述设备定义个性化的信息来完成和APP的功能配套与兼容适配,当前主要涉及到以下几个方面:
- model(设备型号):APP上按不同型号显示对应的设备图片,让设备在用户侧更有辨识度;
- brand(品牌商):每个品牌商(给最终消费者卖设备的公司)有自己定义的个性化功能(比如APP上去掉部分设置项);
- sp(方案商):同一个芯片平台,不同的方案商在消息字段,命令字段上都有差异,为了公版APP更好去适配某个方案商,需要设备告知APP当前是哪个方案商;
1. 联咏
1.0.1 产品信息查询
- 功能描述 获取设备对应的产品型号、品牌商,用以APP来进行接口类别区分,并给品牌商进行设备的logo的定制,需要区分设备型号和品牌
- 命令描述
命令字:9090
操作类型:查询
返回错误码(Status):0-成功,1-失败
值(String):model@brand@sp,举例:H800II@WJC@WANHUI,其中:
- 型号(model):本产品的型号,比如:H800II
- brand:品牌公司,直接销售产品的公司,即方案商的客户,比如:WJC,如暂时没有定可以填NA
- sp:方案商,举例:方案商名称为蓝天:"WANHUI",这个名称方案商自己定即可,有助于APP更好的对接方案商的方案接口;
- 不用的机型“型号”字段不一样
当model@brand@sp中的某个字段没有的时候,用NA替代,比如:作为一家方案商的公版硬件,想和我们公版APP更好的适配兼容,只需要提供sp字段,形式为:NA@NA@WANHUI
样例:
<?xml version="1.0" encoding="UTF-8" ?>
<Function>
<Cmd>9090</Cmd>
<Status>0</Status>
<String>039HC@FISANG@CZS</String>
</Function>
1.0.2 设备唯一标志
功能描述 获取设备的唯一标志,方案商可以用设备的mac地址,或是sn作为返回值,用来APP和后台对设备进行管理;
命令描述
命令字:9091 操作类型:查询 返回错误码(Status):0-成功,1-失败 值(String):设备唯一标志,每个设备的该值必须不一样,可以使用设备端的mac地址或是sn作为值
该字段作为设备的唯一标志,建议填入设备wifi的mac地址,或是用个随机数; 注意:千万不要写死,否则可能会导致部分功能不能正常使用
样例:
<?xml version="1.0" encoding="UTF-8" ?>
<Function>
<Cmd>9091</Cmd>
<Status>0</Status>
<String>1a3d2f67891c</String>
</Function>
2. 海思
2.0.1 产品信息查询
- 功能描述 获取设备对应的方案商、产品型号、品牌商,用以APP来进行接口类别区分,并给品牌商进行设备的logo的定制,需要区分设备型号和品牌
- 命令描述 命令字:getdeviceattr.cgi product:该设备的型号和品牌厂家,举例:比如型号为G9S,品牌商为pasens, 则填写:G9S@pasens sp:方案商,举例:方案商名称为:"JUNTAIDA",这个名称方案商自己定即可,有助于APP更好的对接方案商的方案接口;
样例:
getdeviceattr.cgi 接口中,增加字段:
var product = "G9S@pasens"
var sp = "JUNTAIDA"
2.0.2 设备唯一标志
- 功能描述 获取设备的唯一标志,方案商可以用设备的mac地址,或是sn作为返回值,用来APP和后台对设备进行管理;
命令描述
命令字:getdeviceattr.cgi (重用海思已有接口) 操作类型:查询 devid:设备唯一标志,每个设备的该值必须不一样,可以使用设备端的mac地址或是sn作为值
devid字段作为设备的唯一标志,建议填入设备wifi的mac地址,或是用个随机数; 注意:千万不要写死,否则可能会导致部分功能不能正常使用
样例:
getdeviceattr.cgi 接口中,增加字段:
var devid = "1a3d2f67891c" // 建议用mac地址
3. MSTAR
3.0.1 产品信息查询
- 功能描述 获取设备对应的方案商、产品型号、品牌商,用以APP来进行接口类别区分,并给品牌商进行设备的logo的定制,需要区分设备型号和品牌
- 命令描述
- 查询菜单:Camera.Menu.product、Camera.Menu.sp
- 操作类型:查询
- product:该设备的型号和品牌厂家,举例:比如型号为H2930,品牌商为WJC, 则填写:H2930@WJC
- sp:方案商,举例:方案商名称为欧立:"OULI",这个名称方案商自己定即可,有助于APP更好的对接方案商的方案接口;
devid字段作为设备的唯一标志,建议填入设备wifi的mac地址,或是用个随机数; 注意:千万不要写死,否则可能会导致部分功能不能正常使用
样例:
Camera.Menu.product="H2930@WJC"
Camera.Menu.sp="OULI"
Camera.Menu.devid="设备mac地址"
3.0.2 设备唯一标志
- 功能描述 获取设备的唯一标志,方案商可以用设备的mac地址,或是sn作为返回值,用来APP和后台对设备进行管理;
命令描述
查询菜单:Camera.Menu.devid 操作类型:查询 devid:设备唯一标志,每个设备的该值必须不一样,可以使用设备端的mac地址或是sn作为值
devid字段作为设备的唯一标志,建议填入设备wifi的mac地址,或是用个随机数; 注意:千万不要写死,否则可能会导致部分功能不能正常使用
样例:
Camera.Menu.devid="1a3d2f67891c"
3.0.3 获取GPS模块 ID
- 功能描述 获取GPS模块的唯一标志,用来进行GPS模块的识别,使用我们配套的GPS模块时使用:
命令描述
查询菜单:Camera.Menu.gpsid 操作类型:查询 devid:GPS模块的唯一标志,每个GPS模块的值必须不一样,该ID由相关方统一提供,烧录进GPS模块
样例:
Camera.Menu.gpsid="1a3d2f67891c"
4. 杰理
4.0.1 产品信息查询
- 功能描述 获取设备对应的方案商、产品型号、品牌商,用以APP来进行接口类别区分,并给品牌商进行设备的logo的定制,需要区分设备型号和品牌
命令描述 Topic: "PRODUCT_INFO" errno: 错误码,0 - 成功,1 - 失败 op: 操作类型("GET","NOTIFY") sp:方案商,举例:方案商名称为烽航:"FH",这个名称方案商自己定即可,有助于APP更好的对接方案商的方案接口;
model:设备型号,比如JL5601,如暂时没有定可以不填 brand:品牌公司,直接销售产品的公司,即方案商的客户,比如:米志,如暂时没有定可以不填
操作类型 | 发送参数说明 | 回复说明 |
---|---|---|
GET | "op":"GET" | "errno":0, "op":"NOTIFY","param":{"sp":"FH","model":"JL5601","brand":"lingjing"} |
4.0.2 设备唯一标志
功能描述 获取设备的唯一标志,方案商可以用设备的mac地址,或是sn作为返回值,用来APP和后台对设备进行管理;
或是重用 "UUID" 这个Topic;
命令描述 Topic: "PRODUCT_DEVID" errno: 错误码,0 - 成功,1 - 失败 op: 操作类型("GET","NOTIFY") devid:设备唯一标志,每个设备的该值必须不一样,可以使用设备端的mac地址或是sn作为值
devid字段作为设备的唯一标志,建议填入设备wifi的mac地址,或是用个随机数; 注意:千万不要写死,否则可能会导致部分功能不能正常使用
操作类型 | 发送参数说明 | 回复说明 |
---|---|---|
GET | "op":"GET" | "errno":0, "op":"NOTIFY","param":{"devid":"1a3d2f67891c"} |
5. 全志
5.0.1 产品信息查询
功能描述 获取设备对应的产品型号、品牌商,用以APP来进行接口类别区分,并给品牌商进行设备的logo的定制,需要区分设备型号和品牌
命令描述 命令(重用原有获取系统version的命令):api/getdeviceinfo/?custom=1&cmd=2001 操作类型:查询
结果中增加字段 product:model@brand,举例:X3@WJC, sp:方案商的代号,名字由方案商自己定,用来区分方案商不同的接口,举例"qicheng" mac:设备的mac地址,用来唯一区分设备;
其中:
- 型号(model):本产品的型号,比如:X3
- brand:品牌公司,直接销售产品的公司,即方案商的客户,比如:WJC,如暂时没有定可以不填
- sp:方案商,举例:方案商名称为蓝天:"qicheng",这个名称方案商自己定即可,有助于APP更好的对接方案商的方案接口;
样例:
api/getdeviceinfo/?custom=1&cmd=2001
响应:
{
"version":"V536-CDR-xxx",
"wifi_ssid" : "Nembus-91d0b0"
"product":"Q101@Nembus",
"sp":"qicheng", // 这个填一下方案公司的名称,后面可以对该方案公司的特有cmd公版适配
"mac":"设备mac地址"
}
6. 凌通
2.3 产品信息查询
该字段是每类设备的固定信息,写入固件的menu.xml中即可;
功能描述 获取设备对应的产品型号、品牌商,用以APP来进行接口类别区分,并给品牌商进行设备的logo的定制,需要区分设备型号和品牌
命令描述 通过menu.xml中进行解析获取 操作类型:查询
结果中增加字段(Type为:0x03) product(0x00009000):model@brand,举例:C029T@FISANG, sp(0x00009001):方案商的代号,名字由方案商自己定,用来区分方案商不同的接口,举例"LIANGCAI"
其中:
- 型号(model):本产品的型号,比如:C029T
- brand:品牌公司,直接销售产品的公司,即方案商的客户,比如:FISANG,如暂时没有定可以不填
- sp:方案商,举例:方案商名称为蓝天:"LIANGCAI",这个名称方案商自己定即可,有助于APP更好的对接方案商的方案接口;
在menu.xml中,增加如下,样例:
<Category>
<Name>ProductInfo</Name>
<Settings>
<Setting>
<Name>product</Name>
<ID>0x00009000</ID>
<Type>0x03</Type>
<Default>C029T@FISANG</Default>
</Setting>
<Setting>
<Name>sp</Name>
<ID>0x00009001</ID>
<Type>0x03</Type>
<Default>LIANGCAI</Default>
</Setting>
</Category>
7. 汇影
7.0.1 产品信息查询
功能描述 获取设备对应的产品型号、品牌商,用以APP来进行接口类别区分,并给品牌商进行设备的logo的定制,需要区分设备型号和品牌
命令描述 命令:9090 操作类型:查询
结果中增加字段 product:model@brand,举例:C029HY@FISANG, sp:方案商的代号,名字由方案商自己定,用来区分方案商不同的接口,举例"FISANG" devid:设备的唯一标志(比如mac地址),用来唯一区分设备;
其中:
- 型号(model):本产品的型号,比如:C029HY
- brand:品牌公司,直接销售产品的公司,即方案商的客户,比如:FISANG,如暂时没有定可以不填
- sp:方案商,举例:方案商名称为蓝天:"HUIYING",这个名称方案商自己定即可,有助于APP更好的对接方案商的方案接口;
- devid:设备的唯一标志,建议填入设备wifi的mac地址,或是用个随机数;
devid字段作为设备的唯一标志,建议填入设备wifi的mac地址,或是用个随机数; 注意:千万不要写死,否则可能会导致部分功能不能正常使用
样例:http://192.168.201.1/?cmd=9090
{
"status":0,
"cmd":9090,
"product":"C029HY@FISANG",
"sp":"HUIYING",
"devid":"设备的mac地址"
}
8 凌阳
8.0.1 产品信息查询
- 功能描述 获取设备对应的产品型号、品牌商、方案商,用以APP来进行接口类别区分,并给品牌商进行设备的logo的定制,需要区分设备型号和品牌
- 命令描述 命令ID:0xD800 操作类型:查询字符串
响应结果:model@brand@sp,举例:S8PRO@pasens@FH,其中:
型号(model):本产品的型号,比如:S8PRO;不用的机型“型号”字段不一样;
brand:品牌公司,直接销售产品的公司,即方案商的客户,比如:pasens,如暂时没有定可以填NA
sp:方案商,举例:方案商名称为蓝天:"FH",这个名称方案商自己定即可,有助于APP更好的对接此方案商的方案接口;
当model@brand@sp中的某个字段没有的时候,用NA替代,比如:作为一家方案商的公版硬件,想和我们公版APP更好的适配兼容,只需要提供sp字段,形式为:NA@NA@FH
样例:
S8PRO@pasens@FH
8.0.1 设备唯一标志
功能描述 获取设备的唯一标志,方案商可以用设备的mac地址,或是sn作为返回值,用来APP和后台对设备进行管理;
命令描述 命令ID:0XE9001 操作类型:查询字符串
响应结果:设备的唯一标志字符串,举例:1a3d2f67891c;
设备的唯一标志,建议填入设备wifi的mac地址,或是用个随机数; 注意:每个设备要不一样,千万不要写死,否则可能会导致部分功能不能正常
1a3d2f67891c