Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ESP32 AsyncWebServer

ESP32 AsyncWebServer
EN

Stack Overflow用户
提问于 2020-02-15 18:39:11
回答 2查看 3.3K关注 0票数 0

我当前正在尝试在ESP32上设置异步Web服务器。但不幸的是,我不能让代码运行。我是Windows10上的usign platform io。

代码语言:javascript
运行
AI代码解释
复制
#include <Arduino.h>
#include <ESPAsyncWebServer.h>

const char* ssid = "myAP";
const char* password = "123456789";

AsyncWebServer server(80);

setup()和loop()为空。如果我试图编译代码,这些消息就会出现。

代码语言:javascript
运行
AI代码解释
复制
compilation terminated.
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In constructor 'AsyncPrinter::AsyncPrinter(AsyncClient*, size_t)':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:48:11: error: 'panic' was not declared in this scope
     panic(); //What should we do?
           ^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In member function 'int AsyncPrinter::connect(IPAddress, uint16_t)':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:71:11: error: 'panic' was not declared in this scope
     panic();
           ^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In member function 'size_t AsyncPrinter::_sendBuffer()':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:182:11: error: 'panic' was not declared in this scope
     panic(); // Connection should be aborted instead
           ^
                       ^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp: In member function 'size_t AsyncTCPbuffer::_handleRxBuffer(uint8_t*, size_t)':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp:469:21: error: 'panic' was not declared in this scope
               panic(); //TODO: What action should this be ?

C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'bool AsyncClient::operator==(const AsyncClient&)':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:331:66: error: 'ip_addr_t {aka struct ip_addr}' has no membec
r named 'addr'
   return (_pcb != NULL && other._pcb != NULL && (_pcb->remote_ip.addr == other._pcb->remote_ip.addr) && (_pcb->remote_port == other._pcb->remote_port));
                                                                  ^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'void AsyncClient::_dns_found(const ip_addr*)':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:707:31: error: 'const struct ip_addr' has no member named 'addr'
     connect(IPAddress(ipaddr->addr), _connect_port);
                               ^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'uint32_t AsyncClient::getRemoteAddress()':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:837:26: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
   return _pcb->remote_ip.addr;
                          ^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'uint32_t AsyncClient::getLocalAddress()':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:849:25: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
   return _pcb->local_ip.addr;
                         ^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'void AsyncServer::begin()':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:1122:14: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
   local_addr.addr = (uint32_t) _addr;
              ^
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-16 16:49:56

您正在使用错误的异步TCP库。您使用的是ESP8266,而不是ESP32。

下面是它的PlatformIO库注册表项:

https://platformio.org/lib/show/305/ESPAsyncTCP

您会看到错误,因为它试图调用ESP8266上而不是ESP32上可用的函数。

您需要AsyncTCP库:

https://platformio.org/lib/show/1826/AsyncTCP

您应该更新您的platformio.lib文件以包含该库,而不是ESPAsyncTCP。您可能还需要删除build或library目录,以清除旧库。

票数 1
EN

Stack Overflow用户

发布于 2020-02-16 17:56:23

有同样的问题,降级PlatformIO的核心为我解决了这个问题。

pip安装-U "platformio<4.2.0“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60241941

复制
相关文章
【玩转ESP32】13、esp32 mqtt基础
MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件 。
ManInRoad
2021/07/23
1.4K0
【玩转ESP32】13、esp32 mqtt基础
【玩转ESP32】14、esp32 mqtt client
ESP-IDF提供了mqtt组件,在components/mqtt,相关的API位于components/mqtt/esp-mqtt目录下,这个组件是基于https://github.com/tuanpmt/esp_mqtt的 。组件支持MQTT over TCP、SSL with mbedtls、MQTT over Websocket、 MQTT over Websocket Secure;支持订阅、发布、身份验证、遗嘱消息、心跳、以及3个消息等级。
ManInRoad
2021/07/23
2.7K0
【玩转ESP32】12、esp32串口使用
ESP32芯片有三个UART控制器(UART0, UART1和UART2),其中UART0(GPIO3用于U0RXD,GPIO1用于U0TXD)用作下载、调试串口,引脚不可改变;
ManInRoad
2021/07/01
8.1K0
【玩转ESP32】11、esp32软件定时器
esp32的组件(components)里面的esp_timer提供了软件定时器相关api,支持周期回调、单词回调等操作。其中软件定时器的初始化在void start_cpu0_default(void)函数中调用esp_timer_init()。
ManInRoad
2021/07/01
2.2K0
【玩转ESP32】4、ESP32驱动DHT11
把上节的blink工程复制一份,修改名称为dht11,其中CMakeLists.txt、Makefile、包括源文件名也改为dht11,然后试着编译,发现可以编译通过,这样就可以先不用去管CMakeLists.txt、Makefile等文件的编写。
ManInRoad
2021/03/25
2.7K0
【玩转ESP32】7、ESP32连接wifi
前言:ESP32 WIFI功能支持STA、AP、APSTA三种模式,本文聊聊在STA模式下,连接到路由器。
ManInRoad
2021/05/18
6.3K0
【玩转ESP32】7、ESP32连接wifi
ESP32 For Arduino杂记
最近稍微有点时间了,再玩玩ESP32的开发板,好多以前的知识偶读不记得,幸亏自己以前写了很多的总结,看看自己的文章就能上路了。但是还是想再整理一些资料。
云深无际
2021/10/20
2K0
ESP32 For Arduino杂记
ESP32应用指南
想当年,安信可公司推出一款低成本的WIFI模块(基于乐鑫公司的ESP8266芯片)之后,火了一段时间。这个模块是支持AT指令和SDK两种开发方式。
全栈程序员站长
2022/07/23
2.9K0
ESP32应用指南
【玩转ESP32】8、ESP32 Guru Meditation Error报错定位分析
打印了异常时,PC、PS等各个寄存器的值,其中Backtrace打印了可能异常的地方,可以根据这个定位到具体对应的代码。
ManInRoad
2021/07/01
6.4K0
【玩转ESP32】16、esp32获取rssi,辅助判断硬件是否异常
(1)通过仪器测量标定几个射频性能正常的模块; (2)获取一定距离下标准模块的rssi; (3)获取一定距离下被测量模块的rssi; (4)被测量模块和标准模块比较,同等距离下,如果rssi相差太大,则可以判定被测量模块射频异常。
ManInRoad
2021/07/23
2.6K0
【玩转ESP32】16、esp32获取rssi,辅助判断硬件是否异常
ESP32 touchPad功能
我本来是一直在驱动别的输入传感器来当键盘的输入,但是我突然想到我为什么不可以做一个“任意”按键呢?结合以前看文档说,ESP32自带10个电容触摸GPIO。
云深无际
2021/10/20
1.2K0
ESP32 touchPad功能
ESP32芯片IO解读
我们使用一个开发板最重要得就是知道引脚得定义.所以我们有必要查到精确的资料,这篇文章很有用.也是我日后要查找得文章.
云深无际
2020/11/19
8.2K0
ESP32芯片IO解读
ESP32硬件设计指南
《ESP32硬件设计指南》主要提供了在使用ESP32系列产品进行电路设计和PCB布局时需注意的事项。
云深无际
2020/11/19
9250
ESP32硬件设计指南
【玩转ESP32】15、PWM调光
ESP32的PWM功能,官方叫做LEDC(LED PWM Controller module),主要用于控制 LED,也可产生 PWM 信号用于其他设备的控制。该控制器有 8 路高速通道和 8 路低速通道,可以产生独立的波形来驱动 RGB LED 设备等。
ManInRoad
2021/07/23
2.8K0
【玩转ESP32】15、PWM调光
【玩转ESP32】2、开发资料
要特别注意:管脚 SCK/CLK,SDO/SD0,SDI/SD1,SHD/SD2,SWP/SD3,和 SCS/CMD,即 GPIO6 至 GPIO11 用于连接模组上 集成的 SPI flash,不建议用于其他功能; 下载、调试口用的是RXD0和TXD0,配合EN和GPIO0引脚实现自动下载。
ManInRoad
2021/03/10
1.3K0
ESP32 Cam网络流传输
先建立一个Sock的对象,然后循环的发送就好,最后关闭。这里是一帧一帧的发出去的。
云深无际
2022/04/15
1.7K2
ESP32 Cam网络流传输
ESP32播放bad apple视频
SPIFFS Upload Plugin:https://github.com/me-no-dev/arduino-esp32fs-plugin
ManInRoad
2021/04/16
1.4K0
ESP32 自动下载电路
在研究烧录模块的时候,我对照着ESP32开发板的原理图发现了这个电路。因为在自己之前学习的印象里对固件的软件流烧录无非就VCC、GND、Rx、Tx这四条线需要与烧录器相连,EN端保持高电平IO0通过开关按下保持一段时间低电平即可进行烧录(乐鑫官方硬件指南),就对这两个三极管的存在感到很迷惑,仔细观察这个电路的作用他是两个射级互联基级的OC门做输出,粗看本质上就是RTS接EN以及DTR接IO0,如果自己设计USB模块加上这个电路一是更占用板子的空间二是三极管并不属于常见器件还需要单独的购买,感觉就是可以省略的。(连接RTS和DTR既可以硬件流烧录也可以软件流烧录)
Saury
2022/03/11
3.2K0
ESP32芯片布线指南
LDO即low dropout regulator,是一种低压差线性稳压器。这是相对于传统的线性稳压器来说的。传统的线性稳压器,如78XX系列的芯片都要求输入电压要比输出电压至少高出2V~3V,否则就不能正常工作。
云深无际
2020/11/19
2.1K0
ESP32芯片布线指南
ESP32 IoT CTF 题解
https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/windows-setup.html
yichen
2023/08/10
7400
ESP32 IoT CTF 题解

相似问题

从对象数组中删除空数组

41

从对象中删除空数组

21

如何从对象中深入删除空值、空对象和空数组

30

如何使用remove从对象数组中删除空对象?

12

如何从嵌套对象数组中删除任何空对象

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档