大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文使用emqx搭建mqtt: 官方地址传送门
为娄星等地区用户提供了全套网页设计制作服务,及娄星网站建设行业解决方案。主营业务为成都做网站、成都网站建设、娄星网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
1.查看openssl版本
一般情况,centos7版本为1.0.2,mqtt的框架emqx必须大于1.0.2,所以如果低于该版本请升级: centos升级openssl教程传送门
2.安装
3.查看防火墙
如果当前服务器打开了防火墙,需要将防火墙相应端口进行配置。
4.进入etc/emqx目录
5.修改配置文件emqx.conf
修改配置文件内容。
6.打开配置网页
登录网页端后台:
7.配置网页打开插件emqx_auth_mnesia
网页端-插件-emqx_auth_mnesia-启动
8.配置mqtt用户名和密码
修改文件内容:
9.配置acl主题权限
修改文件内容:
10.重新加载acl配置文件
11.重新启动emqx
MQTT(MessageQueueing Telemetry Transport Protocol)的全称是消息队列遥感传输协议的缩写,是由IBM公司推出的一种基于轻量级代理的发布/订阅模式的消息传输协议,运行在TCP协议栈之上,为其提供有序、可靠、双向连接的网络连接保证。由于其开放、简单和易于实现所以能够应用在资源受限的环境中,对于M2M和物联网应用程序来说是一个相当不错的选择。
最近在着手研究使用网页控制硬件的交互过程,发现mqtt协议有很多种语言的封装,整个思路也很清晰,就是一个客户端进行发布和订阅+服务器中间代理的过程,于是开始学习使用MQTT框架搭建交互平台。
客户端使用了MQTT.js,服务器使用mosca(基于nodejs)。
QoS在MQTT中有(摘自 MQ 遥测传输 (MQTT) V3.1 协议规范 ):
MQTT.js只是支持了MQTT协议,并没有支持QoS,也就是说,只支持最低级别的“至多一次”(QoS0)。
在MQTT协议中,一个MQTT数据包由:固定头(Fixed header)、可变头(Variable header)、消息体(payload)三部分构成。
这里只了解消息体,固定头和可变头并不需要我们手动写。
payload消息体包含CONNECT、SUBSCRIBE、SUBACK、UNSUBSCRIBE四种类型的消息:
(1)Connect 与服务器建立连接。
(2)Disconnect 与服务器断开TCP/IP会话。
(3)Subscribe 订阅。
(4)UnSubscribe 取消订阅。
(5)Publish 发送消息请求,发送完成后返回应用程序线程。
二、实现(具体的API稍后呈现)