当前位置:首页 > 物联网 > 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页面,通过页面上的按钮,来控制具体的设备,实现设备的无线控制能力





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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭