在此ESP8266 WiFi模块项目中,我们将了解使用ESP8266和Arduino控制WiFi控制的LED。我将向您展示如何使用ESP8266 WiFi模块控制通过WiFi网络连接到Arduino的数字I/O引脚的LED。
概述
ESP8266 WiFi模块是制造商和业余爱好者社区的有趣补充,因为它使我们能够将WiFi和Internet集成到我们的DIY项目中。
物联网或物联网就是一个这样的领域,可以使用与Arduino和ESP8266 WiFi模块等微控制器连接的各种传感器实现,以访问来自世界任何地方的传感器数据。
在考虑大型物联网项目之前,让我们开始探索ESP8266 WiFi模块,并实施一个使用ESP8266和Arduino的小型但有用的项目,称为WiFi Conloted LED。
我已经向您介绍了我的ESP8266 WiFi模块开始使用ESP8266和Arduino项目。首先请参阅该项目,以了解ESP8266 WiFi模块,PIN图,引脚配置以及如何与Arduino接口ESP8266的基本信息。
重要的提示:
- 在我在ESP8266 WiFi模块上的第二个项目中,我向您展示了如何刷新AT命令固件进入ESP8266 WiFi模块的ROM。
- 首先实施该项目非常重要,即确保您的ESP8266 WiFi模块在安装固件上具有。
- 如果您已经使用其他程序(例如闪烁)对ESP8266 WiFi模块进行了编程,则必须刷新固件。如果您的ESP模块已经具有AT命令固件,则将其保持原样。
使用ESP8266和Arduino控制WiFi Controled LED背后的概念
在访问项目的详细信息(例如电路图,组件,连接和代码)之前,让我带您介绍使用ESP8266和Arduino的WiFi控制LED背后的概念。
项目背后的想法非常简单。将LED连接到Arduino板。该LED必须通过智能手机或笔记本电脑在本地网络中通过WiFi连接。
为此,使用ESP8266 WiFi模块,并通过串行通信将其连接到Arduino。Arduino将命令ESP8266模块连接到WiFi网络并从客户端接收数据(HTML页面)。
根据客户端发送的信息(在Web浏览器的帮助下),Arduino将打开或关闭LED。而已。
电路原理图
在下图中显示了使用ESP8266和Arduino项目的WiFi控制LED的电路图。
需要组件
- Arduino uno [在这里买这是给予的
- ESP8266 WiFi模块
- 引领
- 330Ω电阻(1/4瓦)
- 1kΩ电阻(1/4瓦)
- 2.2kΩ电阻(1/4瓦)
- 按钮
- 连接电线
- 迷你面包板
电路设计
我使用了Arduino的软件串行功能,并将其数字引脚2和3作为RX和TX。这些引脚必须连接到ESP8266 WiFi模块的TX和RX引脚。
笔记:在将Arduino(引脚3)的TX引脚连接到ESP8266的RX引脚之前,我使用了由1kΩ电阻和2.2kΩ电阻组成的电平转换器。
LED连接到Arduino的数字I/O引脚11。(这是我们将控制WiFi的LED)。
与ESP8266相对于其余的连接,它的VCC和CH_PD引脚连接到Arduino和GND的3.3V,并连接到Arduino的GND销。按钮在ESP8266和GND的重置之间连接。
ESP8266(即GPIO0和GPIO2)的GPIO引脚均保持打开状态,因为我们不会在该项目中使用这些引脚。
代码
以下是要上传到Arduino的代码。它将在ESP8266模块中配置WiFi,并检查HTML页面中的数据(将在后面讨论)。
HTML代码将数据发送到ESP8266
为了为项目创建接口,我创建了一个简单的基于HTML的网页。此网页的HTML代码如下。
下载此HTML代码(将其另存为.html文件)。
此HTML网页使用JavaScript库“ jquery.js”。从中下载此库这里并将其放在与.html文件的同一文件夹中。
因此,您的网页文件夹由两个文件组成:一个“ webpage.html”文件和一个“ jquery.js”文件。使用任何Web浏览器打开HTML文件。界面看起来像这样。
使用ESP8266和Arduino Project的WIFI控制LED的工作
建立所有必要的连接后,将上面提供给Arduino板上的Arduino代码上传。上传代码后,打开Arduino的串行监视器。您可以在ESP8266 WiFi模块上看到设置的进度。
上图中的某些信息看起来垃圾,但我保证会传输正确的数据。如果您获得了干净的响应,则可以在上图中的突出显示位置找到ESP8266模块的IP地址。
由于我找不到串行监视器的IP地址,因此我必须使用另一个称为“高级IP扫描仪”的工具查找它。
现在,打开您先前保存的网页,并在提供的IP地址字段中输入此IP地址。输入IP地址后,您可以单击页面上的按钮以打开和关闭LED。
结论
一个名为WiFi Controled LED的简单项目使用ESP8266和Arduino进行了设计,在此设计,通过WiFi(在同一网络内)控制了连接到Arduino的LED。
在同一WiFi网络中连接的任何设备都可以借助简单的HTML网页来控制LED。
该项目的下一步或高级版本将通过Internet(即来自世界任何地方)控制LED(涉及端口转发)。
20个回应
好的
非常感谢!
您会推荐任何端口转发教程吗?
我不建议端口转发。但是有一个名为portforward.com的网站
一探究竟。
好教程,但您没有告诉我为什么要重置?如何使用该电线?
什么时候按下按钮?我在输出中断开了连接,它没有连接。已经检查了IP扫描仪,但失败了……但是,如果我重置Arduino并直接按命令运行,则它将连接…
先生,我正在使用Arduino版本1.8.3,但我无法在董事会经理中找到ESP 8266,请帮助我解决问题。
您需要在Arduino IDE中添加脚本以在董事会列表中获取ESP。更多信息可以在这里找到://www.des-roubi.com/esp8266-arduino-interface/
好东西。我是新手。我已经有效了,但是串行文本中有很多垃圾,因此LED无法与按钮的每次点击都无法使用。
无论如何,如何摆脱垃圾?
甚至我都有一些垃圾值(如您在帖子中所看到的)。尝试了一些不同的事情,但无法摆脱垃圾。专家有什么建议吗?
更改串行单人的波特率…..如果它仍然无法正常工作,然后通过重置按钮重置nodemcu…如果那样工作,则确保您的节点MCU或任何微处理器无法工作……因此,请更改MicroContoller ..
按下相同的按钮4-5次,它被吊死!!!!
您好先生在这个项目“使用ESP8266和Arduino控制的WiFi Controled LED”的项目中,董事会选择将是Arduino Uno或Generic ESP8266,如果您告诉您将非常有帮助,谢谢您……等待回复……。
Arduino Uno
如何在此项目中连接到WiFi网络?
先生,我们可以从Arduino返回Web服务器的HTTP请求吗?
嗨,谢谢您的教程,我想知道为什么您将RX/TX PIN从GPO0和1更改为GPO 2&3。可以不改变它而离开它吗?
您可以在Arduino板上添加更多LED,还可以控制吗?
我们按照您的指令在串行监视器中仍在bt中提高了代码,没有显示任何输出。
在浏览器中,我们致电(http://192.168.1.x.y/?led = on)我想要ESP8266响应和显示该页面上的不正确或否,我们可以使用命令做到这一点吗?或其他任何方式…
先生,当我单击下载按钮时,如何添加jQuery库?
在工具>板上,您正在使用哪个板?我应该为我使用的板配置什么?