阿里云直连MQTT
## 阿里云直连MQTT
- 鉴权命令
函数原型|void wait_at_alimqttauth(uint8_t* productkey,uint8_t* devicename,uint8_t* devicekey)
|-|-|
功能 |回调AT+CLOUDAUTH=<productkey>,<devicename>,<devicekey>鉴权命令
形参说明 | productkey:product key provided by aliyun
||device name:device name
||device key:device key provided by aliyun
返回值| NA
- 连接阿里云
函数原型|void wait_at_alimqttconn(uint16_t keeplive,uint8_t connqos,uint8_t version)
|-|-|
功能 |回调AT+CLOUDCONN=<keep-alive>,<qos>,<version>连接阿里云
形参说明 | keepalive:保活时间
||connqos:服务质量,目前仅支持 Qos=0 和 1
||version: MQTT 版本, 目前仅支持4, MQTT3.1.1
返回值 |NA
- 订阅主题命令
函数原型|void wait_at_alisub(uint8_t* subtopic,uint8_t subqos)
|-|-|
功能 |回调AT+CLOUDSUB=<topic>,<qos>订阅主题
形参说明 |subtopic:订阅的主题,最大长度 128
||subqos:服务质量,目前仅支持0和1
返回值| NA
- 发布主题
函数原型|INT32 at_alimqtt_publish(UINT8 *topic, UINT8 *pub_payload, UINT8 dup, UINT8 qos, UINT8 remain)
|-|-|
功能 |回调AT+CLOUDSUB=<topic>,<qos>订阅主题
形参说明 |topic:发布的主题,最大长度 128
||pub_payload:发布的消息,最大长度 1024
||dup:重发标志
||qos:服务质量,目前仅支持 Qos=0 和 1
||remain:保留标志,数字类型,0 和 1
返回值 |成功返回 0,失败返回其他值
- 关闭阿里云连接
函数原型|void wait_at_alimqttdisconn(void)
|-|-|
功能 |回调AT+CLOUDDISCONN关闭阿里云连接
形参说明 |NA
返回值 |NA
## 使用示例
```language
示例
//wait_dev_reg_net
wait_dev_reg_net();
//wait_dev_active_net
wait_dev_active_net();
//close alimqtt
wait_at_alimqttdisconn();
//auth
wait_at_alimqttauth("a1PtOGr7a5E","AM21E01","XJSfyw3SR6nkRT1UZr5L36MEYE66lNC4");
//connect
wait_at_alimqttconn(120,0,4);
//publish
at_mqtt_alipublish("/a1PtOGr7a5E/AM21E01/user/update","test",0, 0,0);
//close alimqtt
wait_at_alimqttdisconn();
```