在ESP8266 WiFi模块系列的下一个项目是通过MIT App Inventor的帮助下开发的应用程序(应用程序)控制使用ESP8266和Android中继。通过在你的Android手机中安装这个应用程序(对不起iOS用户!!),你可以使用ESP8266控制中继,它连接到与你的手机相同的WiFi网络。
概述
ESP8266 WiFi模块已经成为DIY物联网市场的主角。有几种类型的ESP8266,如ai思想家的ESP-01, NodeMCU等等,但目的和工作是相同的。
有几个基于ESP8266 WiFi模块的物联网项目,但家庭自动化,即通过WiFi(或互联网)控制不同的电器一直是一个趋势和需求项目。
因此,在这个项目中,我将向您展示如何连接一个简单的中继模块到ESP8266 WiFi模块,以及如何使用ESP8266控制中继。
对于这个项目,我还将创建一个Android应用程序,使用它可以控制中继。为了开发Android应用程序,我将使用MIT App Inventor。
线路图
“使用ESP8266控制继电器”项目的电路图如下图所示。你可以看到我在电路图中使用了一个单通道中继模块。
注意:如果中继模块和ESP8266 WiFi模块的引脚不清楚,我将在组件说明部分添加单独的图像。
组件的要求
- ESP8266
- Arduino UNO
- 电阻(1KΩ和2.2KΩ) -都是¼瓦特电阻
- 跳线
- 继电器模块
- 小5 v灯泡
- 按钮
- 领域开关
- 安卓应用
- 安卓手机
- 计算机与互联网
组件描述
ESP8266 (ESP-01) WiFi模块:ESP8266 WiFi模块负责连接到WiFi网络,并控制中继模块。
在这个项目中,ESP8266模块充当HTTP服务器。当客户端(在本例中是Android应用程序)发送一个请求时,ESP8266服务器接受它并执行相关操作。
继电器模块:在这个项目中使用了一个双通道中继模块,但只使用了一个中继。虽然这个继电器模块可以与交流电源使用,我使用了一个小的5V灯泡只是为了显示输出。
电路设计
如果你注意到电路图,所有的连接都类似于我们已经在早期的项目中看到的如何通过Internet控制esp8266.我不会细说所有的联系。
主要的区别是ESP8266 WiFi模块的GPIO2引脚连接到继电器的INPUT。
代码
为了使用ESP8266控制中继,我使用了以下代码。这段代码负责将ESP8266 WiFi模块连接到指定的WiFi网络,为ESP8266模块分配一个静态IP地址,在ESP8266上创建一个简单的HTTP服务器,并侦听客户端。
重要提示:
- 这是非常重要的,你知道你在做什么静态IP地址。请从您的路由器检查未使用(未分配)的IP地址,并将其分配给ESP8266。
- 我建议你上传静态IP地址分配给ESP8266的程序(在代码中做必要的更改后),这样你就可以继续开发应用程序。
使用MIT App Inventor的Android应用程序
MIT App Inventor是一个简单的方法为Android创建简单的应用程序。MIT App Inventor使用谷歌帐户凭证。因此,使用以下URL打开App Developer应用程序:麻省理工应用程序发明者.
链接您的谷歌帐户后,通过选择项目à创建一个新的项目。
创建一个新项目后,你会看到一个屏幕,你可以在上面布局不同的对象,如按钮,滑块,文本框等。
创建类似于下面所示的接口。它由三个按钮组成,很少标签和一个Web组件。
注意:web组件可以在左侧的Connectivity选项卡中找到。
安排好所有组件并最终确定App布局后,从右上角切换到Blocks部分。
在Blocks部分,创建如下图所示的块。您在代码中分配的静态IP地址必须在块的URL部分输入。
你不必创建完全相同的应用程序。你可以用极简的设计和界面完成。
在完成Blocks部分之后,你可以直接从浏览器和Android手机上调试应用程序,而不需要实际安装应用程序。为此,你必须下载并安装两个应用程序:一个在你的电脑上,另一个在你的Android手机上。
用于电脑的软件叫做MIT_Appinventor_Tools,用于安卓手机的应用叫做MIT AI2 Companion。
我就不详细讲了,但如果你想了解更多的信息,你可以在这里找到。
最后,当你完成了应用程序的界面、块和调试(如果有的话)后,你可以下载.apk文件到你的电脑上,并将其安装到你的设备(安卓手机)上。
注意:下载。apk文件,点击“构建”并选择“应用程序”(将。apk保存到我的电脑上)。
工作
首先,按照电路图进行所有必要的连接,并将程序上传到ESP8266 WiFi模块。
程序上传完成后,您会收到WiFi连接和静态IP地址的确认信息。现在打开我们用MIT App Inventor 2开发的Android App并安装到你的Android手机上。
如果一切顺利,当你点击App上的“灯亮”按钮时,继电器得到一个逻辑低信号,灯被打开。同样,当“灯关”按钮被按下,灯关闭。
注意:本项目使用的中继模块为有源LOW模块。
应用程序
- 在这个项目中,我们已经看到了如何通过WiFi使用ESP8266控制一个中继,借助一个使用MIT App Inventor 2应用程序开发的Android应用程序。
- 这样的项目可以成为复杂的家庭自动化系统的垫脚石,制造商不仅可以组装电路,还可以制作自己的Android应用程序。
- 这个项目的下一个大步骤将是从世界上任何地方控制中继,即一个真正的Web控制中继。
11反应
嗨,先生,谢谢这个有用的教程,实际上我是一个编码的初学者,所以我知道的不多。
你能告诉我这个代码我需要修改什么吗?考虑我路由器的wifi ID和通道,还有什么??我也检查了我路由器的IP地址,和你的一样。
另外,我想问一下,我可以用ESP 8266-01吗?而不是ESP8266-01
先生,如果您能尽快回复我,我会非常感激,因为事情很紧急,再次感谢。
亲爱的先生,
谢谢你的项目。我会通过测试的。你有什么代码/项目来填充DTH11温湿度传感器吗
适用于ESP8266和DHT11 ->//www.des-roubi.com/dht11-humidity-sensor-with-esp8266/
嗨,先生,谢谢这个有用的教程,实际上我是一个编码的初学者,
我想知道你已经创建了DTH11湿度和温度继电器控制功能的项目。在哪里可以下载esp8266的最新库
从#include库被下载的地方。我没有得到适当的github链接下载
如果你指的是#include
,它是ESP8266板的一部分(在添加板时自动添加到库中)。
请问控制继电器的ESP 8266编码和wifi屏蔽是一样的吗?
视频如何控制继电器使用esp8266 WiFi你管
你好先生,如何从应用程序本身通过选择可用的wifi网络连接到一个可用的wifi网络,并从那里提供密码,而无需在程序中提供ssid和密码?
如何在应用程序中获取可用的wifi网络列表?
如何从应用程序本身通过选择可用的WiFi网络连接ESP8266到一个可用的WiFi网络,并从应用程序中提供密码而不提供SSID和程序中的密码?
如何在应用程序中获取可用的WiFi网络列表。
我需要解决错误ESP8266WiFiType.h:26:19:致命错误:queue.h:没有这样的文件或目录