diff --git a/docs/API_reference/zh/QuecPython_classlib/request.md b/docs/API_reference/zh/QuecPython_classlib/request.md index cda134d9f032d4b0bf308af74299b995910450b9..254da44ac467d554ea6cdfc1ef0dc5ff69c9c27e 100644 --- a/docs/API_reference/zh/QuecPython_classlib/request.md +++ b/docs/API_reference/zh/QuecPython_classlib/request.md @@ -72,7 +72,7 @@ for i in resp.text: ### `request.put` ```python -response = requtes.put(url) +response = request.put(url) ``` 发送PUT请求。 @@ -92,7 +92,7 @@ response = requtes.put(url) ### `request.head` ```python -response = requtes.head(url) +response = request.head(url) ``` 发送HEAD请求。 diff --git a/docs/API_reference/zh/QuecPython_classlib/umqtt.md b/docs/API_reference/zh/QuecPython_classlib/umqtt.md index 06d13cedf38c006e0520ad2a341226d780a59329..5358e766c9e8c588510a704b1de2813b5668d183 100644 --- a/docs/API_reference/zh/QuecPython_classlib/umqtt.md +++ b/docs/API_reference/zh/QuecPython_classlib/umqtt.md @@ -22,21 +22,27 @@ class umqtt.MQTTClient(client_id, server, port=0, user=None, password=None, keep **参数描述:** -* `client_id` - 客户端 ID,字符串类型,具有唯一性 -* `server` - 服务端地址,字符串类型,可以是 IP 或者域名 。 -* `port` - 服务器端口(可选),int类型,默认为1883,请注意,MQTT over SSL/TLS的默认端口是8883 -* `user` - (可选) 在服务器上注册的用户名 ,字符串类型 -* `password` - (可选) 在服务器上注册的密码,字符串类型 -* `keepalive` - (可选)客户端的keepalive超时值,int类型,默认为0。 -* `ssl` - (可选)是否使能 SSL/TLS 支持 ,布尔值类型 -* `ssl_params` - (可选)SSL/TLS 参数,字符串类型 -* `reconn` - (可选)控制是否使用内部重连的标志,布尔值类型,默认开启为True -* `version` - (可选)选择使用mqtt版本,int类型,version=3开启MQTTv3.1,默认version=4开启MQTTv3.1.1 +* `client_id` - 客户端 ID,字符串类型,具有唯一性。 +* `server` - 服务端地址,字符串类型,可以是 IP 或者域名。 + +* `port` - 服务器端口(可选),整数类型,默认为1883,请注意,MQTT over SSL/TLS的默认端口是8883。 + +* `user` - (可选) 在服务器上注册的用户名,字符串类型。 + +* `password` - (可选) 在服务器上注册的密码,字符串类型。 + +* `keepalive` - (可选)客户端的keepalive超时值,整数类型,默认为0。 + +* `ssl` - (可选)是否使能 SSL/TLS 支持,布尔值类型。 + +* `ssl_params` - (可选)SSL/TLS 参数,字符串类型。 + +* `reconn` - (可选)控制是否使用内部重连的标志,布尔值类型,默认开启为True。 + +* `version` - (可选)选择使用mqtt版本,整数类型,version=3开启MQTTv3.1,默认version=4开启MQTTv3.1.1。 -**返回值描述:** -mqtt对象。 ## 设置相关功能和回调 @@ -46,16 +52,29 @@ mqtt对象。 MQTTClient.set_callback(callback) ``` - 设置回调函数,收到消息时会被调用。 +>回调函数不建议处理阻塞API,会影响mqtt消息接收。 + + **参数描述:** -* `callback` - 设置异常回调函数,function类型 +* `callback` - 设置异常回调函数,function(topic, data)类型 -**返回值描述:** +**示例:** -无 +```python +from umqtt import MQTTClient + +def data_cb(topic, data): + try: + print("umqtt recv topic[%s] data:%s:"%(topic, data)) + except Exception as e: + print("Handle error:%s"%str(e)) + +c = MQTTClient("umqtt_client", "mq.tongxinmao.com", 18830) +c.set_callback(data_cb) +``` ### `MQTTClient.error_register_cb` @@ -63,25 +82,25 @@ MQTTClient.set_callback(callback) MQTTClient.error_register_cb(callback) ``` -设置异常回调函数,umqtt内部线程异常时通过回调返回error信息,该方法在设置不使用内部重连的情况下才可触发回调 +设置异常回调函数,使用内部重连的情况下umqtt内部线程异常时通过回调返回error信息。 **参数描述:** -* `callback` - 设置异常回调函数,function类型 - -**返回值描述:** - -无 +* `callback` - 设置异常回调函数,function(error)类型 **示例:** - ```python from umqtt import MQTTClient def err_cb(err): - print("thread err:") - print(err) - + print("thread err:%s"%err) + if err == "reconnect_start": + print("start reconnect") + elif err == "reconnect_success": + print("success reconnect") + else: + print("reconnect FAIL") + c = MQTTClient("umqtt_client", "mq.tongxinmao.com", 18830) c.error_register_cb(err_cb) ``` @@ -92,18 +111,18 @@ c.error_register_cb(err_cb) MQTTClient.set_last_will(topic,msg,retain=False,qos=0) ``` -设置要发送给服务器的遗嘱,客户端没有调用disconnect()异常断开,则发送通知到客户端。 +设置要发送给服务器的遗嘱,客户端没有调用disconnect()异常断开,则发送通知到其他客户端。 **参数描述:** -* `topic` - mqtt 遗嘱主题,字符串类型 -* `msg` - 遗嘱的内容,字符串类型 -* `retain` - retain = True boker会一直保留消息,默认False,布尔值类型 -* `qos` - 布尔值类型,消息服务质量(0~1) +* `topic` - mqtt遗嘱主题,字符串类型。 -**返回值描述:** +* `msg` - 遗嘱的内容,字符串类型。 + +* `retain` - retain = True boker会一直保留消息,默认False,布尔值类型。 + +* `qos` - 整数类型,消息服务质量(0~1)。 -无 ## MQTT连接相关功能 @@ -113,16 +132,18 @@ MQTTClient.set_last_will(topic,msg,retain=False,qos=0) MQTTClient.connect(clean_session=True) ``` - 与服务器建立连接,连接失败会导致MQTTException异常。 +>mqtt相关操作要在确认connect成功后执行。 + **参数描述:** -* `clean_session` - 布尔值类型,可选参数,一个决定客户端类型的布尔值。 如果为True,那么代理将在其断开连接时删除有关此客户端的所有信息。 如果为False,则客户端是持久客户端,当客户端断开连接时,订阅信息和排队消息将被保留。默认为False +* `clean_session` - 布尔值类型,可选参数,一个决定客户端类型的布尔值。 如果为True,那么代理将在其断开连接时删除有关此客户端的所有信息。 如果为False,则客户端是持久客户端,当客户端断开连接时,订阅信息和排队消息将被保留。默认为True。 **返回值描述:** -成功返回0,失败则抛出异常 +成功返回0,失败则抛出异常。 + ### `MQTTClient.disconnect` @@ -130,15 +151,8 @@ MQTTClient.connect(clean_session=True) MQTTClient.disconnect() ``` -与服务器断开连接。 - -**参数描述:** - -无 - -**返回值描述:** +与服务器断开连接,释放相关资源。 -无 ### `MQTTClient.close` @@ -146,53 +160,43 @@ MQTTClient.disconnect() MQTTClient.close() ``` -释放socket资源,(注意区别disconnect方法,close只释放socket资源,disconnect包含线程等资源) - -注意:该方法仅用于在自己实现重连时使用,具体请参照mqtt重连示例代码,正常关闭mqtt连接请使用disconnect。 +释放socket资源,(注意区别disconnect方法,close只释放socket资源,disconnect包含线程等资源)。 -**参数描述:** +>该方法仅用于在自己实现重连时使用,具体请参照mqtt重连示例代码,正常关闭mqtt连接请使用disconnect。 -无 - -**返回值描述:** -无 ### `MQTTClient.ping` ```python MQTTClient.ping() ``` -当keepalive不为0且在时限内没有通讯活动,会主动向服务器发送ping包,检测保持连通性,keepalive为0则不开启。 - -**参数描述:** - -无 - -**返回值描述:** +当keepalive不为0且在时限内没有通讯活动,会主动向服务器发送ping包, 检测保持连通性,keepalive为0则不开启。 -无 ## 发布订阅相关功能 ### `MQTTClient.publish` ```python -MQTTClient.publish(topic,msg, retain=False, qos=0) +MQTTClient.publish(topic, msg, retain=False, qos=0) ``` -发布消息。 +发布消息到对应topic。 **参数描述:** * `topic` - mqtt 消息主题,字符串类型 + * `msg` - 需要发送的数据,字符串类型 + * `retain` - 布尔值类型,默认为False, 发布消息时把retain设置为true,即为保留信息。
MQTT服务器会将最近收到的一条RETAIN标志位为True的消息保存在服务器端, 每当MQTT客户端连接到MQTT服务器并订阅了某个topic,如果该topic下有Retained消息,那么MQTT服务器会立即向客户端推送该条Retained消息
特别注意:MQTT服务器只会为每一个Topic保存最近收到的一条RETAIN标志位为True的消息!也就是说,如果MQTT服务器上已经为某个Topic保存了一条Retained消息,当客户端再次发布一条新的Retained消息,那么服务器上原来的那条消息会被覆盖! | -* `qos` - 布尔值类型, MQTT消息服务质量(默认0,可选择0或1)0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker + +* `qos` - 整数类型, MQTT消息服务质量(默认0,可选择0或1)0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker **返回值描述:** -无 +成功返回布尔型True,失败返回布尔型False。 ### `MQTTClient.subscribe` @@ -205,28 +209,9 @@ MQTTClient.subscribe(topic,qos) **参数描述:** -* `topic` - mqtt topic主题,字符串类型 -* `qos` - MQTT消息服务质量(默认0,可选择0或1),整型类型
0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker - -**返回值描述:** +* `topic` - mqtt topic主题,字符串类型。 -无 - -### `MQTTClient.check_msg` - -```python -MQTTClient.check_msg() -``` - -检查服务器是否有待处理消息。 - -**参数描述:** - -无 - -**返回值描述:** - -无 +* `qos` - MQTT消息服务质量(默认0,可选择0或1),整数类型
0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker。 ### `MQTTClient.wait_msg` @@ -237,14 +222,6 @@ MQTTClient.wait_msg() 阻塞等待服务器消息响应。 -**参数描述:** - -无 - -**返回值描述:** - -无 - ### `MQTTClient.get_mqttsta` @@ -252,29 +229,22 @@ MQTTClient.wait_msg() MQTTClient.get_mqttsta() ``` -获取mqtt连接状态 +获取mqtt连接状态。 注意:BG95平台不支持该API。 -PS:如果用户调用了 disconnect() 方法之后,再调用 MQTTClient.get_mqttsta() 会返回-1,因为此时创建的对象资源等都已经被释放。 +>如果用户调用了 disconnect() 方法之后,再调用 MQTTClient.get_mqttsta() 会返回-1,因为此时创建的对象资源等都已经被释放。 -**参数描述:** - -无 **返回值描述:** -无 - - -0 :连接成功 - -1:连接中 +0:连接成功。 -2:服务端连接关闭 +1:连接中。 --1:连接异常 +2:服务端连接关闭。 +-1:连接异常。 **示例:** diff --git a/docs/API_reference/zh/QuecPython_componentlib/aLiYun.md b/docs/API_reference/zh/QuecPython_componentlib/aLiYun.md index 561210eb33cb7aa33190dcb93822ff60a59373bb..8de46d7b189156bac92dca0515fa078d3245e5ba 100644 --- a/docs/API_reference/zh/QuecPython_componentlib/aLiYun.md +++ b/docs/API_reference/zh/QuecPython_componentlib/aLiYun.md @@ -12,15 +12,25 @@ aliyun = aLiYun(productKey, productSecret, DeviceName, DeviceSecret, MqttServer) ``` -配置阿里云物联网套件的产品信息和设备信息 +配置阿里云物联网套件的产品信息和设备信息。 **参数描述:** -* `productKey` - 产品标识,字符串类型 -* `ProductSecret` - 产品密钥,字符串类型,一机一密认证方案时,此参数传入None
一型一密认证方案时,此参数传入真实的产品密钥 -* `devicename` - 设备名称 ,字符串类型 -* `DeviceSecret` - 可选参数,默认为None,设备密钥(一型一密认证方案时此参数传入None),字符串类型 -* `MqttServer` - 可选参数,需要连接的服务器名称,默认为"{productKey}.iot-as-mqtt.cn-shanghai.aliyuncs.com",字符串类型 +* `productKey` - 产品标识,字符串类型。 + +* `ProductSecret` - 产品密钥,字符串类型,一机一密认证方案时,此参数传入None
一型一密认证方案时,此参数传入真实的产品密钥。 + +* `devicename` - 设备名称,字符串类型。 + +* `DeviceSecret` - 可选参数,默认为None,设备密钥(一型一密认证方案时此参数传入None),字符串类型。 + +* `MqttServer` - 可选参数,需要连接的服务器名称,默认为"{productKey}.iot-as-mqtt.cn-shanghai.aliyuncs.com",字符串类型。 + +* `MqttPort` - 可选参数,需要连接的服务器端口,默认为1883,整数类型。 + +* `ssl` - 可选参数,是否使能 SSL/TLS 支持,布尔值类型。 + +* `ssl_params` - 可选参数,SSL/TLS 参数,字符串类型。 **返回值描述:** @@ -50,10 +60,13 @@ aLiYun.setMqtt(clientID, clean_session, keepAlive=300,reconn=True) **参数描述:** -* `clientID` - 自定义阿里云连接id,字符串类型 -* `clean_session` - 产品标识(唯一ID),布尔值类型,如果为True,
那么代理将在其断开连接时删除有关此客户端的所有信息。 如果为False,则客户端是持久客户端,当客户端断开连接时,订阅信息和排队消息将被保留。默认为False -* `keepAlive` - 通信之间允许的最长时间段(以秒为单位),整型类型,默认为300,范围(60-1000),建议300以上 -* `reconn` - (可选)控制是否使用内部重连的标志,布尔值类型,默认开启为True +* `clientID` - 自定义阿里云连接id,字符串类型。 + +* `clean_session` - 产品标识(唯一ID),布尔值类型,如果为True,
那么代理将在其断开连接时删除有关此客户端的所有信息。 如果为False,则客户端是持久客户端,当客户端断开连接时,订阅信息和排队消息将被保留,默认为False。 + +* `keepAlive` - 通信之间允许的最长时间段(以秒为单位),整型类型,默认为300,范围(60-1000)。 + +* `reconn` - (可选)控制是否使用内部重连的标志,布尔值类型,默认开启为True。 **返回值描述:** @@ -70,19 +83,27 @@ aLiYun.setCallback(callback) **参数描述:** -* `callback` - 设置消息回调函数,function类型,当服务端响应时触发该方法 +* `callback` - 设置消息回调函数,function(topic, data)类型,当服务端响应时触发该方法。 **回调函数参数** -* `topic` - mqtt topic主题,字符串类型 -* `msg` - 需要发送的数据,字符串类型 +* `topic` - mqtt topic主题,字符串类型。 +* `msg` - 需要发送的数据,字符串类型。 -**返回值描述:** - -无 +**示例:** +```python +from aLiYun import aLiYun +def data_cb(topic, data): + try: + print("aliyun recv topic[%s] data:%s:"%(topic, data)) + except Exception as e: + print("Handle error:%s"%str(e)) +ali = aLiYun(productKey, productSecret, DeviceName, DeviceSecret) +ali.setCallback(data_cb) +``` ### `aLiYun.error_register_cb` @@ -90,35 +111,34 @@ aLiYun.setCallback(callback) aLiYun.error_register_cb(callback) ``` -设置异常回调函数,aliyun以及umqtt内部线程异常时通过回调返回error信息,该方法在设置不使用内部重连的情况下才可触发回调 +设置异常回调函数,aliyun以及umqtt内部线程异常时通过回调返回error信息,该方法在设置使用内部重连的情况下才可触发回调。 **参数描述:** -* `callback` - 设置消息回调函数,function类型,当服务端响应时触发该方法 +* `callback` - 设置消息回调函数,function(error)类型,当服务端响应时触发该方法。 **回调函数参数** -* `msg` - 异常信息,字符串类型 - -**返回值描述:** - -无 +* `msg` - 异常信息,字符串类型。 **示例:** - ```python from aLiYun import aLiYun def err_cb(err): - print("thread err:") - print(err) + print("thread err:%s"%err) + if err == "reconnect_start": + print("start reconnect") + elif err == "reconnect_success": + print("success reconnect") + else: + print("reconnect FAIL") ali = aLiYun(productKey, productSecret, DeviceName, DeviceSecret) ali.error_register_cb(err_cb) ``` - ## 订阅发布功能 ### `aLiYun.subscribe` @@ -131,15 +151,15 @@ aLiYun.subscribe(topic,qos) **参数描述:** -* `topic` - mqtt topic主题,字符串类型 -* `qos` - MQTT消息服务质量(默认0,可选择0或1),整型类型
0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker +* `topic` - mqtt topic主题,字符串类型。 + +* `qos` - MQTT消息服务质量(默认0,可选择0或1),整型类型
0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker。 **返回值描述:** 成功返回整型值0,失败返回整型值-1。 - ### `aLiYun.publish` ```python @@ -150,9 +170,11 @@ aLiYun.publish(topic,msg, qos=0) **参数描述:** -* `topic` - mqtt topic主题,字符串类型 -* `msg` - 需要发送的数据,字符串类型 -* `qos` - MQTT消息服务质量(默认0,可选择0或1),整型类型
0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker +* `topic` - mqtt topic主题,字符串类型。 + +* `msg` - 需要发送的数据,字符串类型。 + +* `qos` - MQTT消息服务质量(默认0,可选择0或1),整型类型
0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker。 **返回值描述:** @@ -168,15 +190,6 @@ aLiYun.start() 运行连接。 -**参数描述:** - -无 - -**返回值描述:** - -无 - - ### `aLiYun.disconnect` @@ -186,13 +199,6 @@ aLiYun.disconnect() 关闭连接。 -**参数描述:** - -无 - -**返回值描述:** - -无 ### `aLiYun.ping` @@ -200,17 +206,9 @@ aLiYun.disconnect() aLiYun.ping() ``` -发送心跳包 - -**参数描述:** - -无 - -**返回值描述:** - -无 - +发送心跳包。 +>无需单独处理,设置keepalive后,会自动发送。 ### `aLiYun.getAliyunSta` @@ -218,28 +216,22 @@ aLiYun.ping() aLiYun.getAliyunSta() ``` -获取阿里云连接状态 - -注意:BG95平台不支持该API。 - -**参数描述:** +获取阿里云连接状态。 -无 +>BG95平台不支持该API。 **返回值描述:** -* 0 :连接成功 - -* 1:连接中 +* 0 :连接成功。 -* 2:服务端连接关闭 +* 1:连接中。 -* -1:连接异常 +* 2:服务端连接关闭。 +* -1:连接异常. **示例:** - ```python import log