首页

使用ESP8266和Android MIT App Inventor控制一个中继

在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和Android电路图控制继电器

注意:如果中继模块和ESP8266 WiFi模块的引脚不清楚,我将在组件说明部分添加单独的图像。

组件的要求

  • ESP8266
  • Arduino UNO
  • 电阻(1KΩ和2.2KΩ) -都是¼瓦特电阻
  • 跳线
  • 继电器模块
  • 小5 v灯泡
  • 按钮
  • 领域开关
  • 安卓应用
  • 安卓手机
  • 计算机与互联网

组件描述

ESP8266 (ESP-01) WiFi模块:ESP8266 WiFi模块负责连接到WiFi网络,并控制中继模块。

ESP8266 Arduino图像

在这个项目中,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组件。

使用ESP8266和Android应用程序接口控制中继

注意:web组件可以在左侧的Connectivity选项卡中找到。

安排好所有组件并最终确定App布局后,从右上角切换到Blocks部分。

在Blocks部分,创建如下图所示的块。您在代码中分配的静态IP地址必须在块的URL部分输入。

使用ESP8266和Android应用程序块控制中继

你不必创建完全相同的应用程序。你可以用极简的设计和界面完成。

在完成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反应

  1. 嗨,先生,谢谢这个有用的教程,实际上我是一个编码的初学者,所以我知道的不多。
    你能告诉我这个代码我需要修改什么吗?考虑我路由器的wifi ID和通道,还有什么??我也检查了我路由器的IP地址,和你的一样。
    另外,我想问一下,我可以用ESP 8266-01吗?而不是ESP8266-01

    先生,如果您能尽快回复我,我会非常感激,因为事情很紧急,再次感谢。

  2. 亲爱的先生,

    谢谢你的项目。我会通过测试的。你有什么代码/项目来填充DTH11温湿度传感器吗

  3. 嗨,先生,谢谢这个有用的教程,实际上我是一个编码的初学者,

    我想知道你已经创建了DTH11湿度和温度继电器控制功能的项目。在哪里可以下载esp8266的最新库

  4. 你好先生,如何从应用程序本身通过选择可用的wifi网络连接到一个可用的wifi网络,并从那里提供密码,而无需在程序中提供ssid和密码?
    如何在应用程序中获取可用的wifi网络列表?

  5. 如何从应用程序本身通过选择可用的WiFi网络连接ESP8266到一个可用的WiFi网络,并从应用程序中提供密码而不提供SSID和程序中的密码?
    如何在应用程序中获取可用的WiFi网络列表。

留下一个回复

您的电邮地址将不会公布。

Electronicshub图标
Baidu
map