前言
本文是参与阿里云相关功能开发的一个总结文档,描述如何使用阿里云提供的SDK开发应用程序所需要的资料及如何进行服务调用的调试测试。这不是一个开发教程,只是资料汇总和调试测试方法记录,方便以后二次开发及测试。作者也是首次接触阿里云,所以相关知识也仅仅局限在阿里云官方提供的文档及阿里云官方工单回复的相关内容。希望本文梳理的内容能够帮助更多需要开发测试阿里云的同学。
一、服务调用开发
1.开发所需要的基础资料汇总
下载设备端SDK
设备属性、事件、服务
作者使用的SDK是C SDK,应用MQTT协议与阿里云通信。本文只针对服务调用做一个简单的介绍,官方文档如上链接所示(设备属性、事件、服务)。以下是设备服务调用ALINK协议数据流的介绍,开发过程中,topic、payload必须按规定的格式编写:
2.服务调用协议
默认模块
请求Topic:/sys/{productKey}/{deviceName}/thing/service/{tsl.service.identifier}
响应Topic:/sys/{productKey}/{deviceName}/thing/service/{tsl.service.identifier}_reply
Alink请求数据格式:
{
“id”: “123”,
“version”: “1.0”,
“params”: {
“Power”: “on”,
“WF”: “2”
},
“method”: “thing.service.{tsl.service.identifier}”
}
{
“id”: “123”,
“code”: 200,
“data”: {}
}
二、服务调用测试步骤
1.新建公共实例产品和设备
https://iot.console.aliyun.com/product
先创建产品,然后在产品下创建设备:
2.添加自定义服务
在产品页面,点击新建的产品,打开产品详情,继续打开功能定义tab页面,编辑草稿可以添加服务。
添加完服务后,可以在物模型中查看到添加的服务信息:
3.在线调试
设备上线后,在公共实例–》监控运维–》在线调试页面中,选服务调用页面,进入到【服务调用】测试页面。在调试功能下拉框中选择服务调用需要测试的服务,在输入框中填写服务的【输入参数】,然后在编辑框的左下方【发送指令】按钮,点击后触发服务调用。在右侧的实时日志中可以看见发出的服务调用及服务响应日志信息。
在左侧的【日志服务】页面,可以查看服务调用的云端运行日志,可以查看服务调用的上下行数据流,在这些记录中,可以点击【查看】来查看具体日志的详细信息,包含topic及payload信息,我们可以以此来检查这些参数是否正确。通过这些日志,我们可以明确的知道一条服务执行的状态及上下行数据信息,非常方便定位问题。
服务调用:
服务响应:
设备的 物模型数据–》服务调用页面,可以查看服务调用历史记录,我们也可以方便的查看服务调用的输入参数、输出参数、服务名称等。