Python下emqtt服务的简单搭建
emqtt 是采用Erlang语言开发,全面支持MQTT V3.1.1协议,支持集群和大规模连接的开源MQTT消息服务器,主要应用于物联网,移动互联网的消息服务。在Python语言中可以使用第三方库nyamuk提供的api实现emqtt的访问连接,实现订阅/发布消息队列服务(目前该第三方库只支持Python2 版本)。
1. emqtt服务的下载安装运行及后台使用
- 1. emqtt下载官网:http://www.emqtt.io/
- 2. 下载压缩包 emqttd-windows10-v2.1.1.zip 解压缩得到 emqttd
- 3. 进入目录,有以下命令可以启动服务(linux 下使用
/
,windows下使用\
)
.\bin\emqttd console # 控制台启动emqtt服务
.\bin\emqttd start # 守护进程启动emqtt服务
- 4. 浏览器访问 http://127.0.0.1:18083/ .
账号:admin 密码:public
可以进入emqtt的后台管理,websocket栏目可以使用UI界面进行消息订阅/发布
2. 通过nyamuk提供接口使用emqtt服务
- 1. 安装nyamuk
pip install nyamuk
- 2. 订阅端脚本
subscribe.py
import sys
from nyamuk import *
# nloop 函数:发送发布消息→读取订阅消息→队列形式返回一个消息
def nloop(client):
client.packet_write() # flush write buffer (messages sent to MQTT server)
client.loop() # fill read buffer (enqueue received messages)
return client.pop_event() # return 1st received message (dequeued)
client = Nyamuk("test_nyamuk", server="localhost")
# Nyamuk:
# def __init__(self, client_id, username = None, password = None,
# server = "localhost", port = None,