Esp8266进阶之路10 【小实战下篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)
2017-12-11 22:12
811 查看
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。
1、 Esp8266之 搭建开发环境,开始一个“hellow world”串口打印。
2、 Esp8266之 利用GPIO开始使用按钮点亮你的“第一盏灯”。
3、 Esp8266之 利用 “软件定时器 ” 定时0.5秒闪烁点亮一盏LED。
4 、Esp8266之 了解PWM,更为深入地用PWM控制一盏LED的亮度变化。
5 、Esp8266之 原生乐鑫SDK高级使用之封装Post与Get请求云端,拿到“天气预报信息”。
6 、Esp8266之 了解 SmartConfig与Airkiss一键配网,给8266配网上云端。无需把wifi名字密码写在固件里。
7 、Esp8266之 了解 softAP热点配网模式原理,仿“机智云”定义自己的热点配网模式协议。
8、 Esp8266之 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。
9、 Esp8266进阶之路第一篇: [小实战上篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
10、 Esp8266进阶之路第二篇: [小实战下篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
11、 Esp8266进阶之路第三篇: 8266接入阿里智能,点亮一盏LED灯,期待天猫精灵语音控制的不约而至!
12、 Esp8266进阶之路第三篇: 图文并茂学习阿里云主机搭建8266MQTT服务器,实现移动网络远程控制
13、 Esp8266进阶之路第五篇: 动手做个8266毕设小案例,smartConfig + MQTT协议轻松实现远程控制一盏LED。
这个实战的要实现的效果:控制端发送1,那么LED1就亮;发送0,那么LED1就灭;同时同步状态消息到服务器!
控制端可以是手机APP,也可以是网页端,那么本文采用的是EMQ自带的webSocket来发送指令,后期我会开发Android的MQTT客户端,敬请期待!
最小系统搭建,大家可以去乐鑫找下。淘宝也有转接板,一焊接就是最小系统了!这个实验的LED的短脚GND接到GPIO15。
当收到指令1,就给GPIO15低电平输出,那么LED就亮了!
当收到指令0,就给GPIO15高电平输出,那么LED就灭了!
2.在mqttConnectedCb()方法里面,订阅主题:/xuhong/LED/in , 因为mqttConnectedCb()方法是8266成功连接到MQTT服务器的方法回调!
3.在mqttDataCb()方法加入接收消息的处理代码,因为mqttDataCb()方法是接收到服务器的消息的回调方法!如下:
订阅主题:/xuhong/LED/out
发送消息:主题是 /xuhong/LED/in ,消息是0或1 。
2、烧录固件到8266后,上电看串口输出:
3、服务器发送消息1或0,观察LED情况, 同时看webSocket的情况。
4、观察LED情况,。
本硬件Demo下载:http://download.csdn.net/download/xh870189248/10155035
8266汇总:https://github.com/xuhongv/StudyInEsp8266
1、 Esp8266之 搭建开发环境,开始一个“hellow world”串口打印。
2、 Esp8266之 利用GPIO开始使用按钮点亮你的“第一盏灯”。
3、 Esp8266之 利用 “软件定时器 ” 定时0.5秒闪烁点亮一盏LED。
4 、Esp8266之 了解PWM,更为深入地用PWM控制一盏LED的亮度变化。
5 、Esp8266之 原生乐鑫SDK高级使用之封装Post与Get请求云端,拿到“天气预报信息”。
6 、Esp8266之 了解 SmartConfig与Airkiss一键配网,给8266配网上云端。无需把wifi名字密码写在固件里。
7 、Esp8266之 了解 softAP热点配网模式原理,仿“机智云”定义自己的热点配网模式协议。
8、 Esp8266之 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。
9、 Esp8266进阶之路第一篇: [小实战上篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
10、 Esp8266进阶之路第二篇: [小实战下篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
11、 Esp8266进阶之路第三篇: 8266接入阿里智能,点亮一盏LED灯,期待天猫精灵语音控制的不约而至!
12、 Esp8266进阶之路第三篇: 图文并茂学习阿里云主机搭建8266MQTT服务器,实现移动网络远程控制
13、 Esp8266进阶之路第五篇: 动手做个8266毕设小案例,smartConfig + MQTT协议轻松实现远程控制一盏LED。
一、开门见山。
本文是局域网点亮一盏LED第二篇,第一篇搭建环境请到http://blog.csdn.net/xh870189248/article/details/78761948自行浏览!这个实战的要实现的效果:控制端发送1,那么LED1就亮;发送0,那么LED1就灭;同时同步状态消息到服务器!
控制端可以是手机APP,也可以是网页端,那么本文采用的是EMQ自带的webSocket来发送指令,后期我会开发Android的MQTT客户端,敬请期待!
二、电路搭建与分析。
最小系统搭建,大家可以去乐鑫找下。淘宝也有转接板,一焊接就是最小系统了!这个实验的LED的短脚GND接到GPIO15。
当收到指令1,就给GPIO15低电平输出,那么LED就亮了!
当收到指令0,就给GPIO15高电平输出,那么LED就灭了!
三、代码分析。
1.在user_init()方法,加入GPIO15初始化,如下:PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15); //选择GPIO15 GPIO_OUTPUT_SET(GPIO_ID_PIN(15), 1); //默认GPIO15为高,也就是关灯
2.在mqttConnectedCb()方法里面,订阅主题:/xuhong/LED/in , 因为mqttConnectedCb()方法是8266成功连接到MQTT服务器的方法回调!
MQTT_Subscribe(client, "/xuhong/LED/in", 0);//订阅主题/xuhong/LED/in
3.在mqttDataCb()方法加入接收消息的处理代码,因为mqttDataCb()方法是接收到服务器的消息的回调方法!如下:
//接收到指令是1,GPIO15输出为低,也就是LED开灯,同时发布消息,主题是/xuhong/LED/out,信息是LED status is open ... if (data[0] == '1') { GPIO_OUTPUT_SET(GPIO_ID_PIN(15), 0); MQTT_Publish(client, "/xuhong/LED/out", "LED status is open ...", strlen("LED status is open ..."), 0, 0); } //接收到指令是0,GPIO15为高,也就是LED关灯,同时发布消息,主题是/xuhong/LED/out,信息是LED status is off ... if (data[0] == '0') { GPIO_OUTPUT_SET(GPIO_ID_PIN(15), 1); MQTT_Publish(client, "/xuhong/LED/out", "LED status is off ...", strlen("LED status is off ..."), 0, 0); }
四、观察现象。
先配置下上位机的处理,这里我使用的是EMQ的webSocket,打开 http://127.0.0.1:18083 ,输入名字admin,密码public,找到webSocket,配置如下:订阅主题:/xuhong/LED/out
发送消息:主题是 /xuhong/LED/in ,消息是0或1 。
2、烧录固件到8266后,上电看串口输出:
3、服务器发送消息1或0,观察LED情况, 同时看webSocket的情况。
4、观察LED情况,。
本硬件Demo下载:http://download.csdn.net/download/xh870189248/10155035
8266汇总:https://github.com/xuhongv/StudyInEsp8266
相关文章推荐
- Esp8266进阶之路⑨ 【小实战上篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)
- micropython之动手搭建自己的MQTT服务器并实现通信(点亮led)
- windows 7系统下搭建本地SVN服务器的过程
- Windows下搭建局域网/本地的Subversion 服务器
- Windows下本地或局域网下搭建SVN服务器
- Windows下搭建局域网/本地的Subversion 服务器
- windows 7系统搭建本地SVN服务器的过程
- Esp8266学习之旅13 动手做个8266毕设小案例,smartConfig + MQTT协议轻松实现远程控制一盏LED。(附带demo)
- Windows系统环境下Solr之Java实战(一)搭建solr服务器并配置IK分词
- windows 7系统搭建本地SVN服务器的过程
- windows 7系统搭建本地SVN服务器的过程
- 图文详解本地Windows 7/8上IIS服务器搭建教程
- Windows上搭建Tomcat本地服务器教程--自我积累
- 本地搭建SVN局域网服务器
- Esp8266的 物联网又一股清流,8266接入阿里云平台非阿里智能的SDS服务,点亮一盏LED灯。
- 搭建linux RIS服务器批量布署windows 2003系统
- Windows系统简单搭建svn服务器
- 【MQTT】在Windows下搭建MQTT服务器
- 【MQTT】在Windows下搭建MQTT服务器
- 【迷你强的物联网】起始篇-简介与MQTT服务器【从零开始搭建自己的物联网系统】