OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13134|回复: 22

分享,用ESP8266 wifi串口芯片做web网页的方法

[复制链接]

4

主题

52

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
472
金钱
472
注册时间
2016-2-22
在线时间
85 小时
发表于 2016-12-24 09:49:58 | 显示全部楼层 |阅读模式
买了ESP8266 wifi串口芯片,只测试了下,放了1年多都没有动,最近没事想着拿出来玩玩。网上搜了下文档,有SKD,还有第三方固件支持,玩法很多。不过我买的是ESP-01,几乎没有可用IO端口,只能用官方AT固件当作WIFI串口配合STM32使用了。
简单的应用就是led控制,只能用来练手没太大意思。想了下觉得能做的也就两个东西:
1.wifi遥控车,之前做过蓝牙的,用手机遥控,略微改下就可以了,空旷地遥控距离应该能大幅提高,app也要改。
2.温湿度检测,有wifi就可以放阳台,用手机充电器长期供电,相当于室外监测了。考虑了2种方案;一,8266 UDP广播,需APP才能接收温湿度数据。二,8266 模拟网页,能联网的设备就能接收
APP做的少,想了想还是先做个网页的温湿度检测吧,之前做过ENC28J60的网页控制,主要还是TCP模拟HTTP协议,先用电脑做好页面,抽取出html代码,8266首先连接到路由器并固定IP,每10分钟读取下温湿度保存,有web请求时通过网页发送温湿度数据。做的差不多发现我的DHT11找不到了,以后再买吧,先做点别的。

陆续增加了些其他页面,共享出来为大家做web提供些思路,主要功能:
用户密码验证(整个网站有效)
RTC时钟显示,网页手动设置日期时间,http网络时钟同步功能
Led开关控制
Web图片显示功能,有摄像头就可以在网页中刷新显示拍摄到的照片了
401 404两个报错页面

用了ESP8266觉得还是很方便的,以前用28j60网络模块你要移植协议栈或者写精简协议,最终的应用还是TCP/UDP/HTTP等。8266只要用串口,代码简单粗暴易理解,加个几行代码就能新建一个网页。觉得用网络模块能做的用8266大部分也都能做到,何况还是无线,价格也够便宜。
请注意以下问题


仅为功能测试,网页做的很简陋,图片就写了jpg格式,其他格式可能要改下responseHeader,串口返回信息也都没检查。
网页有几种做法:1.简单网页参考http_led,有参数变化的参考http_rtc,很长的HTML网页可用工具转到数组再引用参考http_main
为方便都用了GET方式,设置日期时间后就不要再刷新了(刷新会再次设置时间),如改成POST就没问题
做webserver,8266要设成TCPserver 多连接模式,可以最多5个client,我偷懒都只用了0号连接,如果有多用户同时使用需求的请修改
建议8266设为station,连接到你的无线路由器,这样局域网内的所有设备就都能连接了(最好在路由器中将8266设为固定ip)。如果有外网并开启端口映射,那internet上也都能访问了。


Esp8266web.rar

395.28 KB, 下载次数: 2045

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

84

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2017-4-1
在线时间
4 小时
发表于 2017-11-22 17:11:06 | 显示全部楼层
WiFi模块购买地址 https://shop67012462.taobao.com
回复 支持 0 反对 1

使用道具 举报

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2012-8-3
在线时间
20 小时
发表于 2016-12-24 15:14:14 | 显示全部楼层
本帖最后由 o0pingu0o 于 2016-12-24 15:41 编辑

学习一下,太好了,很厉害。

补充一下,楼主太牛了。
回复 支持 反对

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2018-5-11
在线时间
4 小时
发表于 2017-4-20 22:05:06 | 显示全部楼层
楼主高人。
回复 支持 反对

使用道具 举报

34

主题

322

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1835
金钱
1835
注册时间
2014-12-4
在线时间
717 小时
发表于 2017-10-9 11:26:48 | 显示全部楼层
mark     正好想做一个wifi的东西
回复 支持 反对

使用道具 举报

34

主题

322

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1835
金钱
1835
注册时间
2014-12-4
在线时间
717 小时
发表于 2017-10-10 20:30:12 | 显示全部楼层
请教下楼主:账户和密码是多少     在哪里可以修改。谢谢!
回复 支持 反对

使用道具 举报

4

主题

52

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
472
金钱
472
注册时间
2016-2-22
在线时间
85 小时
 楼主| 发表于 2017-10-12 12:46:35 来自手机 | 显示全部楼层
账号密码在源码中有注释的,base64编码直接改就可以了
回复 支持 反对

使用道具 举报

129

主题

397

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2017-7-12
在线时间
150 小时
发表于 2017-10-12 22:17:23 | 显示全部楼层
666,谢谢楼主,可否简单做个教程贴啊
回复 支持 反对

使用道具 举报

10

主题

36

帖子

0

精华

高级会员

Rank: 4

积分
522
金钱
522
注册时间
2015-12-22
在线时间
123 小时
发表于 2017-10-23 17:20:11 | 显示全部楼层
楼主,我仿照你的程序在阿波罗板上写了程序,但是网页中输入 192.168.4.1 ,却连接不上,pc端无线网卡地址改成了192.168.4.10 ,帮我看看是哪里出问题了啊。
p=mymalloc(SRAMIN,32);                                                        //申请32字节内存
       
  atk_8266_send_cmd("AT+CIPSERVER=0","OK",20);   //
  atk_8266_send_cmd("AT+CIPMUX=1","OK",20);   //0:单连接,1:多连接
  sprintf((char*)p,"AT+CIPSERVER=1,%s",(u8*)portnum);
  atk_8266_send_cmd(p,"OK",20);     //开启Server模式,端口号为80
  
        //atk_8266_at_response(1);
  
  atk_8266_send_cmd("AT+CWMODE=2","OK",20);  // softAP 模式
//        atk_8266_send_cmd("AT+RST","OK",20);       // 重启模块
//        delay_ms(1000);//延时2s等待模块重启
//        delay_ms(1000);//
//        delay_ms(1000);
//        delay_ms(1000);

  atk_8266_send_cmd("AT+CIPMODE=1","OK",100);      //传输模式为:透传       
        sprintf((char*)p,"AT+CWSAP=\"%s\",\"%s\",1,4",wifiap_ssid,wifiap_password);    //配置模块AP模式无线参数
  printf("%s\r\n",p);
        atk_8266_send_cmd(p,"OK",1000);
  
  //atk_8266_send_cmd("AT+CIPMODE=1","OK",100);      //传输模式为:透传       
  atk_8266_get_wanip(ipbuf);//服务器模式,获取WAN IP
        sprintf((char*)p,"IP地址:%s 端口:%s",ipbuf,(u8*)portnum);
  printf("%s\r\n",p);
  
  USART3_RX_STA=0;
        myfree(SRAMIN,p);                //释放内存
  
  while (1)
        {       
    delay_ms(10);
                if(USART3_RX_STA)
    { printf("rx\r\n");             
      
                        c=strstr((char*) USART3_RX_BUF,"GET /");

后面就是楼主的程序一样了。
回复 支持 反对

使用道具 举报

6

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
金钱
320
注册时间
2017-10-14
在线时间
80 小时
发表于 2017-10-23 18:47:12 | 显示全部楼层
楼主大牛啊
回复 支持 反对

使用道具 举报

10

主题

36

帖子

0

精华

高级会员

Rank: 4

积分
522
金钱
522
注册时间
2015-12-22
在线时间
123 小时
发表于 2017-10-25 16:34:40 | 显示全部楼层
问题解决了,tcp server模式下是不能使用透传模式的。另外,用360浏览器的极速模式可以打开html,但是用兼容模式打不开。
回复 支持 反对

使用道具 举报

17

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
金钱
451
注册时间
2017-2-1
在线时间
74 小时
发表于 2018-1-22 21:13:45 | 显示全部楼层
怎么接的啊?IP地址都不用的吗?能提供详细点的资料吗
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2018-4-29
在线时间
5 小时
发表于 2018-4-29 23:29:34 | 显示全部楼层
楼主,很疑惑,希望您能给个答案。admin:  svwydh 密码在哪里修改
回复 支持 反对

使用道具 举报

4

主题

52

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
472
金钱
472
注册时间
2016-2-22
在线时间
85 小时
 楼主| 发表于 2018-5-29 08:04:39 来自手机 | 显示全部楼层
dontmis 发表于 2018-4-29 23:29
楼主,很疑惑,希望您能给个答案。admin:  svwydh 密码在哪里修改

源码中有注释
也可以百度下HTTP Basic Authentication知道原理
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2018-5-13
在线时间
0 小时
发表于 2018-6-19 11:02:30 | 显示全部楼层
问一下大神,您的网页怎么转换成的数组,网页用什么编辑的,这块给讲讲吧
回复 支持 反对

使用道具 举报

1

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2018-11-7
在线时间
16 小时
发表于 2018-11-8 00:00:16 | 显示全部楼层
楼主高人
回复 支持 反对

使用道具 举报

0

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2018-11-29
在线时间
9 小时
发表于 2018-11-30 13:48:42 | 显示全部楼层
楼主脑洞真大


回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-4-11
在线时间
3 小时
发表于 2019-2-18 14:42:51 | 显示全部楼层
楼主,你好。HTML网页中,浏览器可以显示。但是把网页代码放到Keil中,编译下载后,网页不能显示,用的是你的代码,请问这个是什么原因?
回复 支持 反对

使用道具 举报

头像被屏蔽

0

主题

207

帖子

0

精华

禁止发言

积分
276
金钱
276
注册时间
2019-3-4
在线时间
4 小时
发表于 2019-3-21 08:14:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6077
金钱
6077
注册时间
2018-6-27
在线时间
524 小时
发表于 2019-3-22 07:44:13 | 显示全部楼层
学习学习,学习学习。
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2020-1-19
在线时间
4 小时
发表于 2020-1-30 17:14:26 | 显示全部楼层
1212121
回复 支持 反对

使用道具 举报

1

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
264
金钱
264
注册时间
2017-10-11
在线时间
79 小时
发表于 2020-3-1 14:55:42 | 显示全部楼层
学习,学习
回复 支持 反对

使用道具 举报

16

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
403
金钱
403
注册时间
2016-9-2
在线时间
75 小时
发表于 2021-4-18 22:20:45 | 显示全部楼层
学习学习 mark
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 10:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表