硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1610|回复: 18
收起左侧

[技术讨论] ESP8266用AT命令实现webserver,可行吗?

  [复制链接]

11

主题

123

回帖

156

积分

初级会员

积分
156
发表于 2024-9-19 21:43:04 | 显示全部楼层 |阅读模式
论坛大神们好,请教下有没有见过ESP8266 用AT命令实现webserver的例子?  因整机无法单独用ESP8266/32实现,所以用主从机方式,ESP8266单独负责WIFI事务,考虑到AT命令很成熟,所以希望任然用它作为主从机通信协议。望大神们不吝赐教!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117529
QQ
发表于 2024-9-20 09:28:57 | 显示全部楼层
AT做WebServer不方便,可以网上搜搜。
回复

使用道具 举报

12

主题

41

回帖

77

积分

初级会员

积分
77
发表于 2024-9-20 11:14:50 | 显示全部楼层
可行的,正好我们一个产品就是这么做的,但是AT的方式速度比较低,我们65K左右的网页,稳定情况下要8s左右才能加载出来
回复

使用道具 举报

7

主题

20

回帖

41

积分

新手上路

积分
41
发表于 2024-9-20 14:40:22 | 显示全部楼层
本帖最后由 benben0428 于 2024-9-20 18:24 编辑

直接用原厂的SDK写吧,不要用AT指令,效率太低了。
回复

使用道具 举报

11

主题

123

回帖

156

积分

初级会员

积分
156
 楼主| 发表于 2024-9-20 19:23:09 | 显示全部楼层
多谢硬汉哥和楼上兄弟。只是希望能显示和改变部分参数,比较简单的页面,希望勉强能用。 不知相关例程有没有? 百度搜索 AT WEB基本没有有效信息,好像这么用的人很少。由于对WEBSERVER还不熟悉,所以请教各位,先多谢了
回复

使用道具 举报

11

主题

123

回帖

156

积分

初级会员

积分
156
 楼主| 发表于 2024-9-20 19:29:52 | 显示全部楼层
之前有网友介绍用LWESP库, 搜了一圈也是发现用的人很少,根本找不到例子
回复

使用道具 举报

11

主题

123

回帖

156

积分

初级会员

积分
156
 楼主| 发表于 2024-9-21 09:51:16 | 显示全部楼层
benben0428 发表于 2024-9-20 14:40
直接用原厂的SDK写吧,不要用AT指令,效率太低了。

主从模式下,就算原厂SDK,也要考虑通信协议,AT还算比较成熟的了吧?
回复

使用道具 举报

11

主题

123

回帖

156

积分

初级会员

积分
156
 楼主| 发表于 2024-9-23 09:57:41 | 显示全部楼层
大神们早上好,这个问题能不能再给点意见或者参考案例,先谢过了
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2024-9-23 16:41:55 | 显示全部楼层
rtthread的AT device + webnet可以参考一下
回复

使用道具 举报

11

主题

123

回帖

156

积分

初级会员

积分
156
 楼主| 发表于 2024-9-24 12:23:37 | 显示全部楼层
多谢楼上兄弟,我去学习下
回复

使用道具 举报

12

主题

41

回帖

77

积分

初级会员

积分
77
发表于 2024-9-24 16:13:12 | 显示全部楼层
szjdb 发表于 2024-9-20 19:23
多谢硬汉哥和楼上兄弟。只是希望能显示和改变部分参数,比较简单的页面,希望勉强能用。 不知相关例程有没 ...

分为两大部分,1是要管理好客户端的链接,比如wifi接入,但没socket连接,比如有路由器的加持下,有socket连接但没wifi接入,客户端超时下线,多客户端的接入和连接处理。2是客户端数据请求,其实就是http,客户端发来一段报文,是请求网页还是请求数据,要分得清,要发得出,还有多客户端的请求,也要分得清是哪个客户端的什么类型的请求,客户端在请求的过程中掉线,数据不能阻塞,超时后将对应的数据踢出响应队列,不能影响其他客户端的正常请求,可以慢,但要稳定可用
回复

使用道具 举报

11

主题

123

回帖

156

积分

初级会员

积分
156
 楼主| 发表于 2024-9-24 18:03:44 | 显示全部楼层
多谢楼上兄弟详细指导,非常专业,看来WEB应用蛮复杂。目前我的需求是类似路由器设置界面一样,给产品增加一个网络配置界面,其实ESP8266 + AUDRINO 有很多例子,可惜都是单机版本,不方便与主机通讯的应用。我在找AT_WEB应用,似乎现场例子非常少。向您学习
回复

使用道具 举报

98

主题

360

回帖

654

积分

金牌会员

积分
654
发表于 2024-9-24 19:53:07 | 显示全部楼层
可以的,我们之前的一款产品是就是这么用的,用的串口驱动的ESP8266,主控内嵌一个WEB页面去实现修改参数,读取历史文件等等。
网页文件直接通过KEIL的FCARM功能编译时把网页文件嵌入到程序中,都不用你手动转换文件。
加载速度还可以,毕竟就首页文件稍大点儿,打开后交互数据都不大,页面别整图片啥的,115200的波特率加载挺快的。
回复

使用道具 举报

98

主题

360

回帖

654

积分

金牌会员

积分
654
发表于 2024-9-24 20:00:43 | 显示全部楼层
最大socket连接数量最好设置为1,不然网页资源多的时候,浏览器会多个端口同时连接,AT指令处理这些多端口的数据就会很麻烦了。
回复

使用道具 举报

11

主题

123

回帖

156

积分

初级会员

积分
156
 楼主| 发表于 2024-9-25 23:51:17 | 显示全部楼层
云琴箫龙 发表于 2024-9-24 19:53
可以的,我们之前的一款产品是就是这么用的,用的串口驱动的ESP8266,主控内嵌一个WEB页面去实现修改参数, ...

非常感谢兄弟指导。就是参考KEIL/ST的基于以太网的WEB例子去改吗? 网络这块不太熟悉,见笑了。
回复

使用道具 举报

98

主题

360

回帖

654

积分

金牌会员

积分
654
发表于 2024-9-27 09:12:36 | 显示全部楼层
szjdb 发表于 2024-9-25 23:51
非常感谢兄弟指导。就是参考KEIL/ST的基于以太网的WEB例子去改吗? 网络这块不太熟悉,见笑了。:handshak ...

没接触过KEIL的示例,AT指令好像不能解析HTTP报文,HTTP报文解析这块儿当时我是自己写的。
所以对于你来说本地就是开一个监听80端口的TCP服务器而已。
万事开头难,你先用AT指令驱动模块创建一个热点并监听80端口,然后用电脑或者手机连接它的热点,用浏览器输入它的IP地址,模块可以收到HTTP格式的数据包,你就成功一半儿了。
回复

使用道具 举报

98

主题

360

回帖

654

积分

金牌会员

积分
654
发表于 2024-9-27 09:19:52 | 显示全部楼层
通信正常后你就可以把网页嵌入程序并编写通信协议了。
首先你得让搞前端的同事给你写个前端网页(自己懂点儿前端,再结合GPT协助也能搞定)。
然后你得制定通信协议,一般用AJAX方法就可以,数据包推荐用JSON格式的。
回复

使用道具 举报

11

主题

123

回帖

156

积分

初级会员

积分
156
 楼主| 发表于 2024-9-27 14:37:22 | 显示全部楼层
再次感谢楼上兄弟不吝赐教。 AT配网连接这块已经没问题了,后端的需要继续学习。 ST/KEIL的例子基于以太网底层接口进行收发包,我理解就是要换掉这个底层,用AT重新做接口。
回复

使用道具 举报

0

主题

7

回帖

7

积分

新手上路

积分
7
发表于 2024-11-21 17:16:20 | 显示全部楼层
像这种主要用作配置参数的功能,参考官方的例子在此基础上改就行了,然后自定义at指令用于和主mcu通信(https://docs.espressif.com/proje ... er_AT_Commands.html
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 11:19 , Processed in 0.050013 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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