python mqtt客户端库
nyamuk的Python项目详细描述
尼亚穆克
======
nyamuk是一个python mqtt库,最初基于libmosquito。
它实现了mqtt协议的3.1和3.1.1版本。
目前仅支持Python2.7
功能
--------
*[x]MQTT 3.1版
*[x]MQTT 3.1.1版
*[x]SSL协议
*[x]QoS 0,1&2支持
*[]文档字符串和文档
*[]python3支持
*[]高级日志记录
安装
-------
来源:
```
$>;python setup.py安装
```
使用pypi包:
```
$>;pip安装nyamuk
```
示例
-------
发布QoS为1的消息(使用MQTT v3.1.1)
``Python
导入系统
从Nyamuk导入*
定义nloop(客户端):
client.packet廑write()廑刷新写入缓冲区(发送到MQTT服务器的消息)
client.loop()填充读取缓冲区(将接收到的消息排队)
返回client.pop_event();返回第一条接收到的消息(出列)
客户端=nyamuk(“test_nyamuk”,服务器=“test.mosquito.org”)
ret=client.connect(版本=4)
ret=nloop(client)ret应该是eventconnack对象
如果不是instance(ret,eventconnack)或ret.ret_代码!=0:
打印“连接失败”;sys退出(1)
client.publish('foo/bar','这是一个测试',QoS=1)
ret=nloop(客户端)ret应该是eventpuback
客户端断开连接()
```
订阅主题
``Python
导入系统
从Nyamuk导入*
定义nloop(客户端):
client.packet廑write()廑刷新写入缓冲区(发送到MQTT服务器的消息)
client.loop()填充读取缓冲区(将接收到的消息排队)
返回client.pop_event();返回第一条接收到的消息(出列)
客户端=nyamuk(“test_nyamuk”,服务器=“test.mosquito.org”)
ret=client.connect(版本=4)
ret=nloop(client)ret应该是eventconnack对象
如果不是instance(ret,eventconnack)或ret.ret_代码!=0:
打印“连接失败”;sys退出(1)
client.subscribe('foo/bar',QoS=1)
ret=nloop(客户端)
如果不存在(ret,eventsuback): 打印未收到的子系统;sys退出(2)
打印“授予的QoS为”,ret.granted\u QoS[0]
尝试:
如果为真:
evt=nloop(客户端)
如果是instance(evt,eventpublish):
print'我们收到一条消息:{0}(topic={1})'。格式(evt.msg.payload,evt.msg.topic)
接收到的消息为QoS 0或1
如果evt.msg.QoS==1:
客户端.puback(evt.msg.mid)
除了键盘中断:
通过
客户端断开连接()
```
作者
------
原创作者:Iwan B.Kusnanto
当前维护者:Guillaume Bour
许可证
------
Nyamuk是根据BSD许可证发行的
======
nyamuk是一个python mqtt库,最初基于libmosquito。
它实现了mqtt协议的3.1和3.1.1版本。
目前仅支持Python2.7
功能
--------
*[x]MQTT 3.1版
*[x]MQTT 3.1.1版
*[x]SSL协议
*[x]QoS 0,1&2支持
*[]文档字符串和文档
*[]python3支持
*[]高级日志记录
安装
-------
来源:
```
$>;python setup.py安装
```
使用pypi包:
```
$>;pip安装nyamuk
```
示例
-------
发布QoS为1的消息(使用MQTT v3.1.1)
``Python
导入系统
从Nyamuk导入*
定义nloop(客户端):
client.packet廑write()廑刷新写入缓冲区(发送到MQTT服务器的消息)
client.loop()填充读取缓冲区(将接收到的消息排队)
返回client.pop_event();返回第一条接收到的消息(出列)
客户端=nyamuk(“test_nyamuk”,服务器=“test.mosquito.org”)
ret=client.connect(版本=4)
ret=nloop(client)ret应该是eventconnack对象
如果不是instance(ret,eventconnack)或ret.ret_代码!=0:
打印“连接失败”;sys退出(1)
client.publish('foo/bar','这是一个测试',QoS=1)
ret=nloop(客户端)ret应该是eventpuback
客户端断开连接()
```
订阅主题
``Python
导入系统
从Nyamuk导入*
定义nloop(客户端):
client.packet廑write()廑刷新写入缓冲区(发送到MQTT服务器的消息)
client.loop()填充读取缓冲区(将接收到的消息排队)
返回client.pop_event();返回第一条接收到的消息(出列)
客户端=nyamuk(“test_nyamuk”,服务器=“test.mosquito.org”)
ret=client.connect(版本=4)
ret=nloop(client)ret应该是eventconnack对象
如果不是instance(ret,eventconnack)或ret.ret_代码!=0:
打印“连接失败”;sys退出(1)
client.subscribe('foo/bar',QoS=1)
ret=nloop(客户端)
如果不存在(ret,eventsuback): 打印未收到的子系统;sys退出(2)
打印“授予的QoS为”,ret.granted\u QoS[0]
尝试:
如果为真:
evt=nloop(客户端)
如果是instance(evt,eventpublish):
print'我们收到一条消息:{0}(topic={1})'。格式(evt.msg.payload,evt.msg.topic)
接收到的消息为QoS 0或1
如果evt.msg.QoS==1:
客户端.puback(evt.msg.mid)
除了键盘中断:
通过
客户端断开连接()
```
作者
------
原创作者:Iwan B.Kusnanto
当前维护者:Guillaume Bour
许可证
------
Nyamuk是根据BSD许可证发行的