设备插件模块
开发前先阅读插件设计概要:智汀家庭云-开发指南Golang: 插件模块
使用 plugin-sdk 可以忽略不重要的逻辑,快速实现插件
插件实现
- 获取sdk
go get github.com/zhiting-tech/smartassistant
- 定义设备
sdk中提供了预定义的设备模型,使用模型可以方便SA有效进行管理和控制
请参考智汀家庭云-开发指南Golang: 插件模块:4.1.1 插件模型定义
- 实现设备接口 定义好设备之后,需要为设备实现如下几个方法:
实现如下:
- 初始化和运行
定义好设备和实现方法后,运行插件服务(包括grpc和http服务)
这样服务就会运行起来,并通过SA的etcd地址0.0.0.0:2379注册插件服务, SA会通过etcd发现插件服务并且建立通道开始通信并且转发请求和命令