天翼 ctwing 平台使用

开发流程

服务开通
通用组件服务是中国电信倾力打造的智能终端汇聚。

设备接入
选择相关接入协议

应用开发
应用开发包括托管应用开发和第三方应用开发。

开发联调
开发者有两种方式(api 和 调用 sdk)调用平台能力来进行线下应用开发。

发布应用
发布应用包括托管应用发布和第三方应用发布。

创建产品与设备

创建产品

首先需要创建产品,创建产品分为“直接创建产品”和“复用公共产品”。

服务属性定义

产品创建完成后,需要通过添加服务/属性来描述自己设备的功能与能力。非透传的产品需要定义服务列表,属性列表。

服务介绍
服务是用来描述一款设备是什么、能做什么以及如何控制该设备,即设备的上下行业务模型。服务由一系列属性组成,服务分为数据上报、事件上报、指令下发、指令下发响应四种类型。

  • 数据上报:设备上行数据,通常是业务数据,例如:温湿度业务上报
  • 事件上报:设备上行数据,通常是告警状态数据,例如:故障上报
  • 指令下发:设备下行数据,为平台/应用给设备下发的指令任务数据,例如:设置温度告警上限值
  • 指令下发响应:设备上行数据,通常为设备侧回复指令的数据,例如:设置温度告警上限值响应

属性是对业务数据的描述,包括数据名称、数据类型、取值范围等信息。举例如下:(同一属性可在多个服务中使用)

定义的属性/服务输入的标识符,ID 必须产品下唯一。

添加设备

定义完自己产品的属性与服务后,前往产品中心-> 选择产品->设备管理->添加设备,按要求填写设备信息,进行设备添加。

设备添加完成后可以看到设备状态为:已注册。设备右侧的功能按钮功能丰富,例如:数据查看、在线模拟、编辑等。

创建应用

新增应用

从控制台左侧菜单进入“应用管理”,选择“托管应用”或“第三方应用”,托管应用是部署在平台测试容器运行,第三方应用部署在用户的服务器运行,点击“新增应用”按钮。

线下应用开发

开发者有两种方式调用平台能力来进行线下应用开发,一种方式是使用 SDK(包含了请求的封装,签名加密,响应解释,性能优化等),另一种是直接调用 API。详情见应用开发板块。

应用测试无误后,编译工程并打包,在工程目录,运行指令 “mvn clean package” 进行打包,出现 “BUILD SUCCESS” 说明打包成功,在 target 目录下生成 .war 包。

在线模拟联调

订阅管理

部署发布后,需要将开发环境的地址添加到设备订阅,这样,平台才能将设备上报的数据推送给应用,根据你项目的情况添加订阅即可。数据变化通知为数据上报相关的数据变化推送。

点击“产品中心”—>选择产品—>“订阅管理”—>“添加订阅”:

举例项目中设置了 xxxx.test.ctwing.cn:8138/lwm2m/post 为设备数据上报接收接口。

模拟设备登录

点击“产品中心”—>选择产品—>选择设备—>设备右侧的"在线模拟标志",进入在线模拟界面,点击上线,模拟设备登录。
返回设备管理界面,刷新后,可以发现“已注册”设备状态变更为“已激活”,实际设备接入激活需要具体参考各协议线下设备开发。

数据上报

在线模拟界面左侧,设置上报数据,进行模拟上报,可以查看到上报成功。
切换到应用demo界面,可以看到应用界面的变化,以及收到的数据

指令下发

在应用demo界面,点击“电机开关-开始旋转”按钮,指令下发成功。
切换到在线模拟界面,可以看到,收到来自云端的消息提示,说明设备侧收到下发的指令。
点击“产品中心”—>选择产品—>选择设备—>设备右侧的“指令下发日志”,进入后可以查看这条下发指令的详情,变为“已送达”状态。

指令下发响应

切换到在线模拟界面,选择服务类型为“指令下发响应”,服务“电机控制响应”,taskid“3”(实际以收到的云端 taskid 为准),服务属性值“控制整形为1或0”(以自己响应服务的参数值为准),点击上报。

点击“产品中心”—>选择产品—>选择设备—>设备右侧的“指令下发日志”,进入后可以查看这条下发指令的详情,变为“已完成”状态。

在应用 demo 界面,也可以看到电机状态变为旋转,且接收到响应消息。

设备接入

设备南向接入总体流程

设备南向对接的总体流程主要分为三个步骤:

(1)第一步为创建产品,包括产品信息的填写以及产品的生成;
(2)第二步为终端适配,包括设备添加、设备线下开发以及设备与平台对接调测(设备登录、数据交互、设备登出);
(3)(非必要)完成终端适配且完成南向检测之后可以选择进行公共产品申请。

三种南向接入方式
终端设备南向接入支持设备直连、边缘网关接入以及南向云接入。

物模型与透传简介

物模型
在天翼物联网平台(AIoT)中,定义物模型即定义产品的功能,构建产品中设备实体的数据模型,完成产品功能定义以后,系统会生成该产品的物模型,物模型描述的是该产品是什么、能做什么、能对外提供哪些服务。

物模型是产品级功能,用户在创建产品选择“不透传”即可使用物模型功能。物模型产品功能类型分为两类:属性和服务。

透传(非物模型)
透传是指设备登录平台并完成认证以后,在上下行的数据传输过程中,平台只进行数据转发,不对业务数据进行解析。对于透传产品下创建的设备,仅支持数据上报及指令下发两种业务数据交互。

HTTP(S)接入

HTTP 协议设备接入平台的地址为 http://http.ctwing.cn,端口为 8991。支持 ipv4 和 ipv6 接入。
HTTPS 协议设备接入平台的地址为 https://http.ctwing.cn,端口为 8992。支持 ipv4 和 ipv6 接入。

订阅推送

1.HTTP 消息推送:天翼物联网平台(AIoT)将符合订阅条件的设备信息以 HTTP 方式推送至北向应用。

2.MQ 消息推送:天翼物联网平台(AIoT)的消息队列服务,提供基于主题和消息缓存的可靠消息推送服务。

3.区别:

HTTP 方式需要北向应用提供公网 URL 接口,MQ 方式只需要北向应用能够访问互联网(若用户购买电信专网,也可通过专网地址接收推送消息);
MQ 方式提供数据缓存,实时性和可靠性更强,不会因为网络等因素使数据丢失。并且MQ方式使用消息队列,具有削峰去谷的作用,可承载消息量更大,性能更好效率更高;
HTTP方式协议通用,接入简单,兼容性适配性更好,开发难度低。

4.适用场景:
HTTP推送方式适用于消息量较少(一般小于1000tps)且对少量消息丢失不敏感的应用;MQ 推送方式适用于消息量更大或对可靠性要求较高的应用。

规则引擎

概览
在物联网中,由于数据量巨大,业务规则可能多种多样,也需要将规则的设置变得简单和友好以适应业务规则的多样和变化。规则引擎就是通过灵活的设定规则,将设备传上云端的数据,按照设定的规则对数据进行清洗和筛选,然后根据处理后的数据执行相应的动作或者发送相应事件通知以达到不同的业务目标。规则引擎的平台逻辑图。

最佳实践

mqtt 连接

设备登录
mqtt.ctwing.cn
1883
设备id 15528112000100010001
特征码 SPDrWeeD5Q218HKkMcHfLBeCxVASqXm5HMV_aJ5oJy0

数据上报
本例中订阅Topic为:data_report。

payload 为

1
2
3
4
{
"current_temperature":25,
"current_humidity":40
}

事件上报
操作步骤与数据上报基本一致,以事件上报服务erro_code_report为例说明。

指令下发及响应
1、订阅指令下发服务Topic。选择Subscribe项,输入 Topic 字段,即相应指令下发服务标识,点击 Subscribe 按钮,完成Topic订阅。
本例中订阅Topic为:set_high_temperature_alarm_value。

2、回到平台产品,点击“设备管理”标签页里的“指令下发”按钮,创建指令并下发。

3、MQTT.fx 会接收到一条Topic消息,即为平台下发的指令内容。Payload如下:

4、此时平台指令下发状态为“指令已送达”。使用MQTT.fx可以模拟设备应答,响应平台下发的指令。

5、发送指令下发响应服务报文。选择 Publish 项,输入或选择完成订阅的 set_high_temperature_alarm_value_resp主题,按照指令下发响应服务携带属性的格式要求,输入Payload,示例如下:

6、发送数据成功后,回到平台产品中心,点击“设备管理”标签页里的“指令下发日志”按钮,查看指令下发日志。指令下发状态显示“指令已完成”。

设备登出
1、在 MQTT.fx 客户端,点击 Disconnect 按钮,发起设备登出。

2、回到平台产品中心,可以看到设备处于离线状态,设备登出成功。