Categorygithub.com/things-go/aliyun-iot
modulepackage
0.0.3-rc0
Repository: https://github.com/things-go/aliyun-iot.git
Documentation: pkg.go.dev

# README

aliyun 物联网设备接入的golang实现 (WIP)

GoDoc Go.Dev reference Build Status codecov Action Status Go Report Card Licence Tag

  • infra 公共包
  • sign: 实现MQTT签名,独立使用,不依赖第三方任何包
  • dynamic: 直连设备动态注册
  • ahttp: http 上云实现
  • dataflow: 服务器订阅数据流定义

Feature

  • device

    • raw up and raw up reply
    • raw down
    • event property post and reply
    • event post and reply
    • ntp
    • config get and push
    • label update and delete
    • RRPC
    • extend RRPC
  • gateway

    • event property pack post
    • event property history post

Donation

if package help you a lot,you can support us by:

Alipay

alipay

WeChat Pay

wxpay

# Packages

No description provided by the author
Package ahttp 实现http client 上传数据.
Package dataflow 定义数据流转的数据格式 实现iot转发的解析以及相关 客户端将获得一个messageBody,解析到message, payload承载着真实的dataflow数据流 根据不同的主题,解析不同的payload,see https://help.aliyun.com/document_detail/73736.html?spm=a2c4g.11186623.6.630.1ce25a10TgnylI.
Package dynamic 实现动态注册,只限直连设备动态注册,阿里云目前限制激活过的设备不可再注册.
No description provided by the author
No description provided by the author
Package sign 实现MQTT设备签名 see https://help.aliyun.com/document_detail/73742.html?spm=a2c4g.11186623.6.599.76216eebzbvrYq.
No description provided by the author

# Functions

FormatKey format pk dn --> {pk}.{dn}.
New 创建一个物管理客户端.
NewDevMgr 设备管理是一个线程安全 root: 网关设备.
NewWithMQTT 新建MQTTClient.
ProcExtCombineBatchLoginReply 子设备批量上线应答处理 request: /ext/session/{productKey}/{deviceName}/combine/batch_login response: /ext/session/{productKey}/{deviceName}/combine/batch_login_reply subscribe: /ext/session/{productKey}/{deviceName}/combine/batch_login_reply.
ProcExtCombineBatchLogoutReply 子设备批量下线应答处理 上行 request: /ext/session/{productKey}/{deviceName}/combine/batch_logout response: /ext/session/{productKey}/{deviceName}/combine/batch_logout_reply subscribe: /ext/session/{productKey}/{deviceName}/combine/batch_logout_reply.
ProcExtCombineLoginReply 处理子设备上线应答 request: /ext/session/{productKey}/{deviceName}/combine/login response: /ext/session/{productKey}/{deviceName}/combine/login_reply subscribe: /ext/session/{productKey}/{deviceName}/combine/login_reply.
ProcExtCombineLogoutReply 子设备下线应答处理 上行 request: /ext/session/{productKey}/{deviceName}/combine/logout response: /ext/session/{productKey}/{deviceName}/combine/logout_reply subscribe: /ext/session/{productKey}/{deviceName}/combine/logout_reply.
ProcExtErrorResponse 处理错误的回复,仅与子设备 response: ext/error/{productKey}/{deviceName} subscribe: ext/error/{productKey}/{deviceName}.
ProcExtNetworkProbeRequest 处理平台测试延迟请求 request: /ext/network/probe/${messageId} subscribe: /ext/network/probe/+.
ProcExtNtpResponse 处理ntp请求的应答 上行 request: /ext/ntp/${YourProductKey}/${YourDeviceName}/request response: /ext/ntp/${YourProductKey}/${YourDeviceName}/response subscribe: /ext/ntp/${YourProductKey}/${YourDeviceName}/response.
ProcExtRRPCRequest 处理扩展RRPC请求 ${topic} 不为空,设备建立要求clientID传ext = 1 request: /ext/rrpc/${messageId}/${topic} response: /ext/rrpc/${messageId}/${topic} subscribe: /ext/rrpc/+/${topic} /ext/rrpc/#.
ProcOtaUpgrade 处理物联网平台推送固件信息 request: /ota/device/upgrade/${YourProductKey}/${YourDeviceName} subscribe:/ota/device/upgrade/${YourProductKey}/${YourDeviceName}.
ProcRRPCRequest 处理RRPC请求 request: /sys/${YourProductKey}/${YourDeviceName}/rrpc/request/${messageId} response: /sys/${YourProductKey}/${YourDeviceName}/rrpc/response/${messageId} subscribe: /sys/${YourProductKey}/${YourDeviceName}/rrpc/request/+.
ProcThingConfigGetReply 处理获取配置的应答 上行 request: /sys/{productKey}/{deviceName}/thing/config/get response: /sys/{productKey}/{deviceName}/thing/config/get_reply subscribe: /sys/{productKey}/{deviceName}/thing/config/get_reply.
ProcThingConfigLogGetReply 处理获取日志配置应答 request: /sys/${productKey}/${deviceName}/thing/config/Log/get response: /sys/${productKey}/${deviceName}/thing/config/Log/get_reply subscribe: /sys/${productKey}/${deviceName}/thing/config/Log/get_reply.
ProcThingConfigLogPush 处理日志配置推送 subscribe: /sys/${productKey}/${deviceName}/thing/config/Log/push.
ProcThingConfigPush 处理配置推送,已做回复 下行 request: /sys/{productKey}/{deviceName}/thing/config/push response: /sys/{productKey}/{deviceName}/thing/config/push_reply subscribe: /sys/{productKey}/{deviceName}/thing/config/push.
ProcThingDelete 子设备删除,网关类型设备 下行 request: /sys/{productKey}/{deviceName}/thing/delete response: /sys/{productKey}/{deviceName}/thing/delete_reply subscribe: /sys/{productKey}/{deviceName}/thing/delete.
ProcThingDesiredPropertyDeleteReply 处理清空期望属性值的应答 request: /sys/{productKey}/{deviceName}/thing/property/desired/delete response: /sys/{productKey}/{deviceName}/thing/property/desired/delete_reply subscribe: /sys/{productKey}/{deviceName}/thing/property/desired/delete_reply.
ProcThingDesiredPropertyGetReply 处理获取期望属性值的应答 上行 request: /sys/{productKey}/{deviceName}/thing/property/desired/get response: /sys/{productKey}/{deviceName}/thing/property/desired/get_reply subscribe: /sys/{productKey}/{deviceName}/thing/property/desired/get_reply.
ProcThingDeviceInfoDeleteReply 处理设备信息删除的应答 request: /sys/{productKey}/{deviceName}/thing/deviceinfo/delete response: /sys/{productKey}/{deviceName}/thing/deviceinfo/delete_reply subscribe: /sys/{productKey}/{deviceName}/thing/deviceinfo/delete_reply.
ProcThingDeviceInfoUpdateReply 处理设备信息更新应答 request: /sys/{productKey}/{deviceName}/thing/deviceinfo/update response: /sys/{productKey}/{deviceName}/thing/deviceinfo/update_reply subscribe: /sys/{productKey}/{deviceName}/thing/deviceinfo/update_reply.
ProcThingDialPostReply 处理设备主动上报网络状态回复 request: /sys/{productKey}/{deviceName}/_thing/diag/post response: /sys/{productKey}/{deviceName}/_thing/diag/post_reply subscribe: /sys/{productKey}/{deviceName}/_thing/diag/post_reply.
ProcThingDisable 禁用子设备 request: /sys/{productKey}/{deviceName}/thing/disable response: /sys/{productKey}/{deviceName}/thing/disable_reply subscribe: /sys/{productKey}/{deviceName}/thing/disable.
ProcThingDsltemplateGetReply 处理dsltemplate获取的应答 request: /sys/{productKey}/{deviceName}/thing/dsltemplate/get response: /sys/{productKey}/{deviceName}/thing/dsltemplate/get_reply subscribe: /sys/{productKey}/{deviceName}/thing/dsltemplate/get_reply.
ProcThingDynamictslGetReply 处理获取动态tsl应答 request: /sys/${YourProductKey}/${YourDeviceName}/thing/dynamicTsl/get response: /sys/${YourProductKey}/${YourDeviceName}/thing/dynamicTsl/get_reply subscribe: /sys/${YourProductKey}/${YourDeviceName}/thing/dynamicTsl/get_reply.
ProcThingEnable 启用子设备 下行 request: /sys/{productKey}/{deviceName}/thing/enable response: /sys/{productKey}/{deviceName}/thing/enable_reply subscribe: /sys/{productKey}/{deviceName}/thing/enable.
ProcThingEventPostReply 处理ThingEvent XXX上行的应答 上行 request: /sys/{productKey}/{deviceName}/thing/event/[{tsl.event.identifier},property]/post response: /sys/{productKey}/{deviceName}/thing/event/[{tsl.event.identifier},property]/post_reply subscribe: /sys/{productKey}/{deviceName}/thing/event/+/post_reply.
ProcThingEventPropertyHistoryPostReply 物模型历史数据上报应答 request: /sys/{productKey}/{deviceName}/thing/event/property/history/post response: /sys/{productKey}/{deviceName}/thing/event/property/history/post_reply subscribe: /sys/{productKey}/{deviceName}/thing/event/property/history/post_reply.
ProcThingEventPropertyPackPostReply 网关批量上报数据 上行,仅网关支持 request: /sys/{productKey}/{deviceName}/thing/event/property/pack/post response: /sys/{productKey}/{deviceName}/thing/event/property/pack/post_reply subscribe: /sys/{productKey}/{deviceName}/thing/event/property/pack/post_reply.
ProcThingListFoundReply 处理发现设备列表上报应答 request: /sys/{productKey}/{deviceName}/thing/list/found response: /sys/{productKey}/{deviceName}/thing/list/found_reply subscribe: /sys/{productKey}/{deviceName}/thing/list/found_reply.
ProcThingLogPostReply 处理日志上报应答 request: /sys/${productKey}/${deviceName}/thing/Log/post response:/sys/${productKey}/${deviceName}/thing/Log/post_reply.
ProcThingModelDownRaw 处理透传下行数据 下行 request: /sys/{productKey}/{deviceName}/thing/model/down_raw response: /sys/{productKey}/{deviceName}/thing/model/down_raw_reply subscribe: /sys/{productKey}/{deviceName}/thing/model/down_raw.
ProcThingModelUpRawReply 处理透传上行的应答 request: /sys/{productKey}/{deviceName}/thing/model/up_raw response: /sys/{productKey}/{deviceName}/thing/model/up_raw_reply subscribe: /sys/{productKey}/{deviceName}/thing/model/up_raw_reply.
ProcThingOtaFirmwareGetReply 处理请求固件信息应答 request: /sys/{productKey}/{deviceName}/thing/ota/firmware/get response: /sys/{productKey}/{deviceName}/thing/ota/firmware/get_reply subscribe:/sys/{productKey}/{deviceName}/thing/ota/firmware/get_reply.
ProcThingServiceRequest 处理设备服务调用(异步) 下行 request: /sys/{productKey}/{deviceName}/thing/service/[{tsl.service.identifier},property/set] response: /sys/{productKey}/{deviceName}/thing/service/[{tsl.service.identifier}_reply,property/set_reply subscribe: /sys/{productKey}/{deviceName}/thing/service/[+,#].
ProcThingSubRegisterReply 处理子设备动态注册回复 request: /sys/{productKey}/{deviceName}/thing/sub/register response: /sys/{productKey}/{deviceName}/thing/sub/register_reply subscribe: /sys/{productKey}/{deviceName}/thing/sub/register_reply.
ProcThingTopoAddNotify 通知网关添加设备拓扑关系 request: /sys/{productKey}/{deviceName}/thing/topo/add/notify response: /sys/{productKey}/{deviceName}/thing/topo/add/notify_reply subscribe: /sys/{productKey}/{deviceName}/thing/topo/add/notify.
ProcThingTopoAddReply 处理网络拓扑添加 request: /sys/{productKey}/{deviceName}/thing/topo/add response: /sys/{productKey}/{deviceName}/thing/topo/add_reply subscribe: /sys/{productKey}/{deviceName}/thing/topo/add_reply.
ProcThingTopoChange 通知网关拓扑关系变化 request: /sys/{productKey}/{deviceName}/thing/topo/change response: /sys/{productKey}/{deviceName}/thing/topo/change_reply subscribe: /sys/{productKey}/{deviceName}/thing/topo/change.
ProcThingTopoDeleteReply 处理删除网络拓扑 request: /sys/{productKey}/{deviceName}/thing/topo/delete response: /sys/{productKey}/{deviceName}/thing/topo/delete_reply subscribe: /sys/{productKey}/{deviceName}/thing/topo/delete_reply.
ProcThingTopoGetReply 处理获取该网关和子设备的拓扑关系 request: /sys/{productKey}/{deviceName}/thing/topo/get response: /sys/{productKey}/{deviceName}/thing/topo/get_reply subscribe: /sys/{productKey}/{deviceName}/thing/topo/get_reply.
WithCache 设备消息缓存超时时间.
WithCallback 设置事件处理接口.
WithEnableDesired 使能期望属性.
WithEnableDiag 使能diag功能.
WithEnableExtRRPC 使能扩展RRPC功能.
WithEnableGateway 使能网关功能.
WithEnableModelRaw 使能透传.
WithEnableNTP 使能NTP.
WithEnableOTA 使能ota功能.
WithGwCallback 设备网关事件接口.
WithLogger 设置日志.
WithMode 设置工作模式 支持 ModeCOAP ,ModeHTTP, ModeMQTT(默认).
WithVersion 设置平台版本,默认为 DefaultVersion.

# Constants

缓存默认值.
缓存默认值.
DefaultVersion 平台通信版本.
DevInfoLabelCoordinateKey 地理位置标签.
Receive Subdev Topo Add Reply.
Receive Topo Add Notify.
Receive Subdev Login Reply.
After All Topic Subscribed.
Receive Subdev Registered.
Subdev Created.
Log level,从高到低.
Log level,从高到低.
Log level,从高到低.
Log level,从高到低.
Log level,从高到低.
Log level,从高到低.
当前的工作模式.
当前的工作模式.
当前的工作模式.
OTA下载进度比.
OTA下载进度比.
OTA下载进度比.
OTA下载进度比.

# Variables

错误相关定义.
错误相关定义.
错误相关定义.
错误相关定义.
错误相关定义.
错误相关定义.
错误相关定义.
错误相关定义.
错误相关定义.
错误相关定义.

# Structs

Client 客户端.
CombineBatchLoginParams 子设备上线请求参数域.
CombineBatchLoginResponse 子设备批量上线回复.
CombineBatchLogoutResponse 子设备批量下线回复.
CombineLoginParams 子设备上线参数域.
CombineLoginResponse 子设备上线回复.
CombineLogoutResponse 子设备上线回复.
CombinePair combine pair.
ConfigGetParams 获取配置的参数域.
ConfigGetResponse 配置获取的回复.
ConfigLogMode 日志配置的日志上报模式.
ConfigLogParam 设备获取日志配置参数域.
ConfigLogParamData 日志配置的参数域或配置域.
ConfigLogPush 日志配置推送.
ConfigLogResponse 日志配置回复.
ConfigParamsData 配置获取回复数据域或配置推送参数域.
ConfigPushRequest 配置推送的请求.
DeviceInfoLabel 更新设备标签的键值对.
DeviceLabelKey 删除设备标答的键.
DevMgr 设备管理.
DevNode 设备节点.
DiagParam diag参数域.
DiagRequest 设备主动上报网络状态请求.
ExtErrorResponse 子设备错误回复.
LogParam 日志内容参数域.
Message 回复的消息.
MQTTClient MQTT客户端.
NopCb 实现Callback接口的空实现.
NopGwCb 实现EventGwProc接口的空实现.
NtpRequest ntp请求payload.
NtpResponse ntp回复payload.
OtaFirmwareData 请求固件信息回复数据域.
OtaFirmwareParam 请求固件信息参数域.
OtaFirmwareResponse ota firmware response.
OtaInformParams OTA固件参数域.
OtaProgressParams 下载过程上报参数域.
OtaRequest OTA请求体.
P 包含wifi状态和时间戳.
Request 请求.
Response 应答.
ResponseRawData 应答, data域为 json.RawMessage.
SubRegisterData 子设备注册应答数据域.
SubRegisterResponse 子设备注册应答.
Token defines the interface for the tokens used to indicate when actions have completed.
TopoAddNotifyRequest 添加设备拓扑关系通知请求.
TopoAddParams 添加设备拓扑关系参数域.
TopoAddResponse 添加网络拓扑应答.
TopoChangeParams 网络拓扑关系变化请求参数域.
TopoChangeRequest 网络拓扑关系变化请求.
TopoDeleteResponse 删除网络拓扑应答.
TopoGetResponse 获取网关和子设备的拓扑关系应答.
Wifi wifi status.

# Interfaces

Callback 事件回调接口.
Conn conn接口.
GwCallback 网关事件接口.

# Type aliases

DevStatus 设备状态.
Mode 工作模式.
Option 配置选项.
ProcDownStream 处理下行数据.