探索ESP8285(3)通过EMQX服务器点亮一个LED灯
CCC_122:博客只用于学习交流,不涉及任何商业用途,如果有错误之处,欢迎指正。
在上一个博客的基础上 探索ESP8285(2)搭建Windows版MQTT服务器
我们来通过EMQX服务器点亮ESP8285模块上的LED灯。
首先查得ESP8285模块上的LED灯引脚是GPIO4,低电平亮起,所以我们先定义GPIO口
在setup里设置引脚为输出模式
在连接里修改订阅的主题为 /mqtt/test/
在callback函数里修改LED引脚参数
编译上传到ESP8285模块上,接下来测试效果:
打开MQTTBox,连接好服务器,在Payload上输入1,然后按Publish发布信息。
ESP8285模块接收到信息后会自动打开LED。 如果是发送0或者其他的字符,LED灯关闭。
以下是整个测试代码:
#include <ESP8266WiFi.h>#include <PubSubClient.h>#define PIN_LED 4// Update these with values suitable for your network.const char* ssid = "....";const char* password = "....";//const char* mqtt_server = "iot.eclipse.org";const char* mqtt_server = "192.168.1.162";const String macAddress = WiFi.macAddress();//const char* clientID = macAddress.c_str();const char* clientID = "client001";const char* userName = "user001";const char* passWord = "psd001";WiFiClient espClient;PubSubClient client(espClient);long lastMsg = 0;char msg[50];int value = 0;void setup() { pinMode(PIN_LED, OUTPUT); // Initialize the LED pin as an outputSerial.begin(115200);setup_wifi();client.setServer(mqtt_server, 1883);client.setCallback(callback);}void setup_wifi() {delay(10);// We start by connecting to a WiFi networkSerial.println();Serial.print("Connecting to ");Serial.println(ssid);WiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED) {delay(500);Serial.print(".");}Serial.println("");Serial.println("WiFi connected");Serial.println("IP address: ");Serial.println(WiFi.localIP());}void callback(char* topic, byte* payload, unsigned int length) {Serial.print("Message arrived [");Serial.print(topic);Serial.print("] ");for (int i = 0; i < length; i++) {Serial.print((char)payload[i]);}Serial.println();// Switch on the LED if an 1 was received as first characterif ((char)payload[0] == '1') {digitalWrite(PIN_LED, LOW); // Turn the LED on (Note that LOW is the voltage level// but actually the LED is on; this is because// it is acive low on the ESP-01)} else {digitalWrite(PIN_LED, HIGH); // Turn the LED off by making the voltage HIGH}}void reconnect() {// Loop until we're reconnectedwhile (!client.connected()) {Serial.print("Attempting MQTT connection...");// Attempt to connectif (client.connect(clientID,userName,passWord)) {Serial.println("connected");// Once connected, publish an announcement...client.publish("/mqtt/test/", "hello world");// ... and resubscribeclient.subscribe("/mqtt/test/#");} else {Serial.print("failed, rc=");Serial.print(client.state());Serial.println(" try again in 5 seconds");// Wait 5 seconds before retryingdelay(5000);}}}void loop() {if (!client.connected()) {reconnect();}client.loop();// long now = millis();
// if (now - lastMsg > 2000) {
// lastMsg = now;
// ++value;
// snprintf (msg, 75, "hello world #%ld", value);
// Serial.print("Publish message: ");
// Serial.println(msg);
// client.publish("outTopic", msg);
// }}
探索ESP8285(3)通过EMQX服务器点亮一个LED灯相关推荐
- java gpio_单片机基础——使用GPIO输出点亮一个LED灯
1. 准备工作 硬件准备 开发板 首先需要准备一个小熊派IoT开发板,并通过USB线与电脑连接. 软件准备 需要安装好Keil - MDK及芯片对应的包,以便编译和下载生成的代码,可参考MDK安装教程 ...
- 从零点亮一个led灯
Stm32学习笔记一:stm32cubemx和keil5从零开始点亮一个LED灯 一.软件材料准备:stm32cubemx和keil5软件(下载方式可自行上网搜,这里不再详细叙述) 二.硬件材料准备: ...
- 使用无线WIFI模块NodeMCU Lua V3物联网开发板8266-01/01S 在Arduino搭建环境到点亮一个LED灯
使用无线WIFI模块NodeMCU Lua V3物联网开发板8266-01/01S 在Arduino搭建环境到点亮一个LED灯 软件下载 基于Arduino环境搭建 点亮一个LED灯 上传成功 修改代 ...
- 51单片机入门教程(1)——点亮一个LED灯
51单片机入门教程(1)--点亮一个LED灯 一.什么是单片机 单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU.随机存储器 ...
- lajp linux教程,linux IMX6 汇编点亮一个LED灯
驱动Linux引脚与驱动STM32其实是一样的,都是在操作寄存器,在相应的寄存器上附上相应的值即可驱动. IMX6U手册上有各个管脚的命名,跟STM32不同,IOMUXC_SW_MUC_CTL_PAD ...
- C51单片机1.点亮一个LED灯
文章目录 一.实验原理 二.实验电路图 三.代码实现 一.实验原理 LED发光二极管具有单项导通性,通过5mA左右的电流就能正常点亮发光二极管,电流越大,LED的亮度就越强,但是如果通过的电流过大,就 ...
- 树莓派GPIO入门(一):点亮一个LED灯
一.实验要求 点亮一个LED灯是电子开发最常见的入门实验.本次实验分为三个小实验: (1)点亮单个LED灯,并让其亮暗闪烁 (2)通过脉宽调制(PWM)点亮单个LED灯,并让其亮暗闪烁 (3)让LED ...
- linux内核3.4 led驱动,JZ2440_V3_内核驱动程序_点亮一个LED灯(示例代码)
为了用内核驱动程序点亮一个LED灯,真是费尽周折,参考了韦东山的<嵌入式linux驱动开发完全手册>(以下简称<完全手册>)和网上很多人的blog,最终在@Carlos·Wei ...
- 如何利用CubeMX生成代码驱动STM32H750点亮一个LED灯
如何利用CubeMX生成代码驱动STM32H750点亮一个LED灯 CubeMX软件的配置 GPOI或者说引脚配置 第一步 第二步 工程文件的配置 最后一步:完整生成好的代码 CubeMX软件的配置 ...
- 3.基础实验-实验01-点亮一个LED灯
目录 3.1 实验01-点亮一个LED灯 3.1.1 STM32CubeMX软件配置 3.1.2 代码编写 3.1.3 编译与下载程序 3.1.4 查看实验结果 3.1 实验01-点亮一个LED灯 ...
最新文章
- 现在使用计算机的工作原理是,计算机的工作原理是什么
- css 横线_CSS-画一个太极阴阳图
- python 类 对象 魔法方法概念+习题
- ASP.NET Core 2.2 : 扒一扒新的Endpoint路由方案
- html引入latex,如何在html文件中使用MathJax或LaTex?
- hervorgehen ( aus ... )
- Bootstrap3学习笔记
- cgroup学习(六)——attach task
- 韩顺平 jdbc 之 mysql,(韩顺平讲解)jdbc学习(四)---java连接mysql
- 技术大众化--10款无需编程的App DIY开发工具
- apt-get update 更新失败----如何清除破损而且陈旧的PPA仓库 (W: Failed to fetch http://ppa.launchpad.net/jonathonf/pyt)
- php圆的面积计算公式,圆的面积怎么计算如何求解
- 新手教程,网站建设第一步:织梦之家Dede程序的下载和安装
- 计算机中year函数怎么使用,excel2010中YEAR函数的使用方法
- 微信小程序wxml如何判断字符串中汉语某字符_微信小程序开发经典案例解析“嗨兔儿”...
- Excel插入图片实现单击放大或缩小
- 练手小项目——别踩白块小游戏
- python均线斜率_【每日一策】Matlab量化交易策略之 均线拐头配合出场
- Android MIFARE读写器详解2
- linux上好玩的东西