基于MQTT协议的远程路灯控制系统的设计.pdf

上传人:赵** 文档编号:50834970 上传时间:2022-10-16 格式:PDF 页数:3 大小:285.80KB
返回 下载 相关 举报
基于MQTT协议的远程路灯控制系统的设计.pdf_第1页
第1页 / 共3页
基于MQTT协议的远程路灯控制系统的设计.pdf_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《基于MQTT协议的远程路灯控制系统的设计.pdf》由会员分享,可在线阅读,更多相关《基于MQTT协议的远程路灯控制系统的设计.pdf(3页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、龙源期刊网 http:/基于基于 MQTTMQTT协议的远程路灯控制系统的设协议的远程路灯控制系统的设计计作者:谢祥兵来源:商情2019 年第 52 期【摘要】近年来随着信息数据产业的迅速发展,使得数字经济掀起了很高的的浪潮。人工智能,虚拟现实,物联网,车联网等技术也相继行驶在了信息高速路上。能源的消耗也越来越备受人们的关注,因此节能减排势在必行,本文介绍一种使用IBM公司的 MQTT协议制作的远程路灯控制系统并进行设计,经过初步实验与设计能够实现手机对路灯进行实现远程开关控制,从而达到节能的目的。1.系统设计整個系统设计构想如图一所示,远程路灯控制系统主要由MQTT协议手机客户端,WiFi无

2、线收发路由器,Mosquitto MQTT服务器,安信可推出的ESP8266-12F WiFi模组,继电器控制模组以及路灯组成。当手机客户端向服务器发布主题为/mqtt/led,消息为 LED=1并且ESP8266组成的 MQTT客户端订阅主题为/mqtt/led的时候,服务器通过无线路由器向ESP8266模组推送 LED=1的消息,ESP8266模组发出指令使继电器吸合从而打开路灯,当手机客户端发布主题为/mqtt/led消息内容为 LED=0的时候,ESP8266模组接受到消息后经过处理发出指令使继电器释放从而关闭路灯,以这样的方式实现对路灯高效方便的控制管理。2.MQTT协议及 MQTT

3、服务器搭建 MQTT协议是 IBM公司推出的一种可以以TCP/IP为基础的轻量级,低速率的传输协议,此协议可以在现有的网络协议上运行起来,不用再部署新的网络就能使用,在物联网中大多数龙源期刊网 http:/需要传输的数据都非常小,而且大多数的终端嵌入式设备的运算处理能力非常有限网络吞吐量等性能都不是很可靠,低速率的MQTT协议很适合来做数据传送,MQTT协议实现流量开最小化,最小只有两个字节,降低了流量的消耗。MQTT协议具有三种质量的消息发布标准即:只有一次,至少一次,至多一次的QOS质量标准适合在不同的场合下使用。关于MQTT服务器的种类也有许多例如EMQ百万级的开源服务器,apache-

4、apollo MQTT服务器以及 mosquitto服务器等,为了简便实用本实验采用mosquitto轻量级 MQTT服务器。首先在 Eclipse官方网站上下载 moquitto安装包,下载完毕后双击mosquitto的 exe可执行文件根据提示点击下一步直到安装完成,然后将安装包里面的pthreadVC2.dll文件复制粘贴到 mosquitto的安装目录下面,最后将安装的 SSL下的两个文件 libeay32.dll与 ssleay32.dll复制下来粘贴到 mosquitto 安装目录下,这样就完成了 MQTT服务器的安装。3.ESP8266WiFi模组及 MQTT客户端的搭建 ESP

5、8266是一款物美价廉的 Wi-Fi芯片,集成 Tensilica L106 钻石系列的 32 位处理器和片上 SRAM,多达 17 个 GPIO口,并拥有 IIC、IIS、UART、PWM、IR遥控等片上资源。还有一个重要的宏定义CFG_HOLDER,因为这个 MQTT示例在 ESP8266运行过一次后会把这些信息保存到 FLASH中,如果要继续修改这些信息,记得要修改CFG_HOLDER这个宏定义,改成另一个数值即可。不修改CFG_HOLDER的话可能会发觉明明用户名和密码都正确但是就是连接不上去。根据上面分析,下面我们就可以修改示例代码:1.把 STA_SSID和STA_PASS修改为自

6、己的 WiFI名和密码;2.修改 MQTT_USER和 MQTT_PASS为对应的MQTT服务器的用户名和密码,3.修改 MQTT_HOST和 MQTT_PORT为 MQTT服务器 IP和PORT,目前是使用本地的 MQTT服务器,所以是修改为自己电脑的IP和 1883端口,PORT是整型值;4.根据 MQTT服务器的协议不同,可能需要使用MQTT v3.1.1版本,所以把PROTOCOL_NAMEv31注释掉,使用 PROTOCOL_NAMEv311。源码的PROTOCOL_NAMEv311前面没有#define,自己加上就行。5.修改 CFG_HOLDER,以让这些配置生效,直接给原来CF

7、G_HOLDER定义的数值加 1即可。6.修改订阅主题为/mqtt/led,将函数回调部分程序修改成当接收到消息内容为LED=1时 GPIO4输出低电平,当接收到消息内容为 LED=0时 GPIO4输出高电平。最后进行编译下载:编译,查看Console窗口,如果没有报错并且生成了 bin文件,说明代码已经编译成功。另外要注意,ESP8266 SDK v2.0版本生成的 eagle.irom0text.bin烧写起始地址是 0 x10000,而之前的版本烧写地址是0 x40000;eagle.flash.bin还是 0 x00000。由于本实验使用的是 4MB Flash的 ESP8266,所以

8、也建议确定手头的 ESP8266是不是 4MB Flash(即 32Mbit Flash,注意单位!4MB=32Mbit,Flash一般是以 bit计算!)。4.系统整体测试完成了 MQTT服务器安装以及搭建好ESP8266客户端后,将服务器开启运行,ESP8266WiFi模组与继电器模组连接起来,再将继电器模组与灯具连接上,打开ESP8266的龙源期刊网 http:/电源开关,开启无线路由器,这时候ESP8266会通过无线路由器连接上MQTT服务器,打开手机上的 MQTT Client软件,输入无线路由器的密码,以及MQTT服务器的 ip地址端口号点击连接,这样手机端就与MQTT服务器建立了

9、连接。在手机端的主题栏目输入/mqtt/led,消息栏目输入 LED=1,点击发送这时候继电器吸和灯亮,反之在消息栏目输入LED=0,点击发送这时候继电器释放灯灭,系统测试完成。结束语手机移动终端对路灯设备的控制非常方便只要有网络的地方就可以实现远程控制,能提高对路灯的管理效率,也有实现节约电能的目的,具有广泛的应用前景。参考文献:1王浩,浦灵敏,物联网技术应用开发(M).北京.中国水利水电出版社.2014 2刘火良,杨森,STM32库开发实战指南(M).北京.机械工业出版社.2013作者简介:谢祥兵,1991年 2 月,男,汉,籍贯:重庆市江津区,职称:助理实验师,学历:本科单位:重庆师范大学涉外商贸学院教务处实践教学管理科,研究方向为电子科学与技术,物联网,单片机应用与开发。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com