当前位置:首页 > 消费电子 > ESP8585

一.本文目标:

通过esp8285 创建wifi热点,esp8285同时作为web服务器,对外提供页面访问。

用手机或电脑找到对应的wifi用户名和密码,连接esp8285提供的wifi之后,通过esp8285提供的ip地址,访问到页面,完成独立的wifi热点下的web服务器的搭建

二.开发环境搭建

硬件:esp8285 

开发工具:arduino ide

开发环境:windows

测试终端:安卓手机

三.详细步骤

首先搭建 开发环境搭建。具体请参考本专栏上一篇文章:

Esp8285开发环境搭建

1.打开开发工具 arduino ide,并选择开发板 DOIT ESP-Mx xxxx

Esp8285创建wifi热点,并作为http服务器,对外提供页面选择详细步骤不清楚的话,可以参考上一篇文章,这里不再详述。能够选择成功,会在界面上有上图的显示,即可继续按照本文往下进行。如果选择没成功,想先按照上文的步骤操作成功后再试。

2.找到WIFIAP的示例代码

文件-->示例-->ESP8266WiFi-->WiFiAccessPoint

Esp8285创建wifi热点,并作为http服务器,对外提供页面打开新的窗口之后

Esp8285创建wifi热点,并作为http服务器,对外提供页面


3.修改示例代码




/*
   Copyright (c) 2015, Majenko Technologies
   All rights reserved.

   Redistribution and use in source and binary forms, with or without modification,
   are permitted provided that the following conditions are met:

 * * Redistributions of source code must retain the above copyright notice, this
     list of conditions and the following disclaimer.

 * * Redistributions in binary form must reproduce the above copyright notice, this
     list of conditions and the following disclaimer in the documentation and/or
     other materials provided with the distribution.

 * * Neither the name of Majenko Technologies nor the names of its
     contributors may be used to endorse or promote products derived from
     this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
   ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
   ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

/* Create a WiFi access point and provide a web server on it. */

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

#ifndef APSSID
#define APSSID "ESP8285-1ap"
#define APPSK "Aaa123456"
#endif

/* Set these to your desired credentials. */
const char *ssid = APSSID;
const char *password = APPSK;

ESP8266WebServer server(80);

/* Just a little test message.  Go to http://192.168.4.1 in a web browser
   connected to this access point to see it.
*/
void handleRoot() {
  server.send(200, "text/html", "<h1>You are connected</h1>");
}

void setup() {
  delay(1000);
  Serial.begin(115200);
  Serial.println();
  Serial.print("Configuring access point...");
  /* You can remove the password parameter if you want the AP to be open. */
  WiFi.softAP(ssid, password);

  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(myIP);
  server.on("/", handleRoot);
  server.begin();
  Serial.println("HTTP server started");
}

void loop() {
  server.handleClient();

}


这里需要非常注意一点:我们创建的wifi用户名和密码的格式要正确,否则会生成esp-xxx为格式的用户名,开放登录的热点。




具体格式:wifi用户名密码尽量使用ESP-xxxx,格式,其中xxxx是要数字和大小写字母的混合

密码:不低于6位,大小写字母混合



4.烧录代码(部署)到esp8285

这里要特别注意一下,当修改过wifi名和密码的时候,一定要进行保存,而且保存之后实际上是会重新开启一个开发界面的,所以修改之后的编译和代码上传都是在保存后的界面上进行的,否则会按照默认的用户名密码进行设置

Esp8285创建wifi热点,并作为http服务器,对外提供页面

部署成功,效果如下:

Esp8285创建wifi热点,并作为http服务器,对外提供页面



五.验证:

1.打开手机或者开发电脑,找到wifi连接的界面,就是浏览wifi列表的地方,找到我们设置的wifi名称,这里是ESP8285-1ap


Esp8285创建wifi热点,并作为http服务器,对外提供页面

会提示没有internet,不需要管。这里的原因是我们只是用esp8285作为一个wifi热点,但是esp8285还没有接入到运营商提供的外网中。这里连接上之后,只能访问esp8285所在的局域网下的内容,不能实际联网。如果需要实际联网,可以给esp8285连外部网络,后续章节会进行讲解

Esp8285创建wifi热点,并作为http服务器,对外提供页面

2.按照正常连接wifi的方式点

连接 按钮,输入密码(代码中配置的Aaa123456),连接之后如下,到开发工具的串口监视器下,查看下日志,看下esp8285对外提供的web访问地址是多少:

这里看到是 192.168.4.1.这个ip也是默认的,因为代码中我们未进行设置,如果需要设置可以修改代码后部署一下。


Esp8285创建wifi热点,并作为http服务器,对外提供页面3.通过浏览器,输入:http://192.168.4.1 

看到页面如下:

Esp8285创建wifi热点,并作为http服务器,对外提供页面


六.总结

至此,我们使用esp8285创建了一个ap,并通过浏览器的wifi连接到该热点,并且通过页面访问到了 esp8285提供的web页面。虽然页面简单只有一行字,如果我们需要扩展页面,可以在此基础上编写html代码。

如果我们需要实现交互功能,那么可以通过html代码里调用http接口或者mqtt方法,实现复杂的功能。当然,如果接口在外网,还需要给esp8285设置连接外网的能力,也就是连接一个对外的路由器。

我们通过上面的例子,已经可以实现一个简答的wifi热点了。在实际场景中,我们可能会需要从wifi热点提供的界面里,开放 用户名和密码的输入框,通过动态 输入框输入路由器提供的wifi用户名和密码来实现动态配置路由的功能。

其实我们的esp8285功能很强大,上述的功能是可以实现的,实现上述功能之后,esp8285就可以通过连接路由器提供的wifi,来访问外网或者调用http接口,或者mqtt接口了。当然,如果实现联网之后,可就可以通过http协议,通过透传的方式

提供对外的web服务器能力,这也是一种很强大的功能。esp8285还具备一种功能,是可以同时连接多个wifi实现多连接,这也是一种很强大的能力。后续章节会继续扩展讲解esp8285的这些能力。

至于可以应用的实际场景,我想是有很多的,我们可以自己去挖掘一下,我这里给出来一个我自己的例子:通过esp8285的rx,tx针脚,连接硬件设备,然后通过esp8285将硬件设备的控制功能放在针脚上,然后提供html页面,通过页面上的按钮,来控制具体的设备,实现设备的无线控制能力





声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭