发布时间: 2018-03-05 10:58:32
鉴权(Auth)
Application订阅平台数据
注册直连设备的通知
Profile简介
开发者使用华为IoT平台集成设备时需要准备此设备的能力描述文件,既设备的Profile文件。
设备的Profile文件是用来描述一款设备“是什么”、“能做什么”以及“如何控制该设备”的文件。该文件会被上传到华为IoT平台。
Profile命名规范l 对设备类型、服务类型、服务标识采用首字母大写的命名法,
如:MultiSensor、Switch;
参数使用首字母小写,其余单词的首字母大写的驼峰式命名法,
如:paraName、dataType;
命令使用所有字母大写,单词之间用下划线连接的格式,
如:DISCOVERY,CHANGE_COLOR;
设备能力描述json文件,
固定命名devicetype-capability.json;
服务能力描述json文件,
固定命名servicetype-capability.json;
Profile命名规范注意点
厂商标识、型号唯一标示一个设备类型,故这两者不能与其他类型设备同时重复。仅支持英文。
设备类型和厂商标识之间不要使用下划线,平台是根据下划线从左到右依次区分设备类型、厂商标识和设备型号的。 Profile设计规范l 要注重名称的通用性,简洁性;对于服务能力描述,还要考虑其功能性。
如:对于多传感器设备,就可以命名为Multi(多)Sensor(传感器);对于某设备具有显示电量的服务,就可以命名为Battery。
Profile文件打包结构Profile写作完成后,需要按如下表格形式打包。
下面以附录四中WaterMeter_Huawei_NBIoTDevice.zip为例介绍。
关于上图有几点说明:
① Profile文件的目录层级结构必须如图所示,不能增删;
比如第二层级必须只有“profile”和“service”两个文件夹,每个服务下面必须包含“profile”等。
② 图中橙色的命名不能改动;
③ 整个Profile以zip形式压缩;
④ Profile文件的命名必须按照deviceType_manufacturerId_model的格式命名,其中的deviceType、manufacturerId、model必须与devicetype-capability.json中的对应字段的定义一致,例如,本例中的devicetype-capability.json的主要字段如下:
{
"devices": [
{
"manufacturerId": "Huawei",
"manufacturerName": "Huawei",
"model": "NBIoTDevice",
"protocolType": "CoAP",
"deviceType": "WaterMeter",
"serviceTypeCapabilities": ****
}
]
}
⑤ 图中的Brightness、Electricity、Temperature都是devicetype-capability.json中定义的服务。
⑥ Profile文件中的文档格式都是json,在编辑完成后可以在互联网上查找一些格式校验网站,检查json的合法性。