esp32 相关问题

有关Espressif的ESP 32 Wi-Fi和蓝牙组合芯片的问题。

在 ESP32S3 裸机上使用 setjmp/longjmp 使用定时器对任务进行时间切片

我用 C 实现了一个循环调度程序,循环执行 3 个任务。我想对我的任务进行时间切片,这意味着当任务花费的时间超过预先确定的超时值 x 时,它就会被中断...

回答 1 投票 0

ESP32 Rtos问题,编译GURU时出错

当我尝试编译和上传此代码时,出现 Guru 错误,这只是代码的一部分,但错误就在这部分。 在模拟和我的 esp32 开发套件中,我遇到了同样的错误! #包括...

回答 1 投票 0

当数据正确发送到 ESP32 时,ESP32 不会处理从 Web 应用程序以 JSON 形式发送的数据

你好吗? 我正在制作一个应用程序,其中 ESP32 用作网络服务器,目前我有一个网页来配置设备。 在这个页面中有一个 元素,一旦提交 你好吗?. 我正在制作一个应用程序,其中 ESP32 用作 Web 服务器,目前我有一个网页来配置设备。 在此页面中有一个<form>元素,一旦按下提交按钮,配置就会发送到ESP32,我知道数据已发送,因为我正在使用wireshark观看它,如下图所示 我知道ESP32正在接收POST请求,因为我在代码中有几个println语句,所以,处理请求的代码如下 server.on("/forma-dato", HTTP_POST, [](AsyncWebServerRequest *request) { if(!request->authenticate(usuarioHTTP, claveHTTP)) { return request->requestAuthentication(); }; request->send(200); Serial.println("Solicitud de carga de archivos enviada."); ultimaPaginaCargada = "/config.html"; }, manejaJson); 回调manejaJSON定义如下,摘自本页 void manejaJson(AsyncWebServerRequest *request, String filename, size_t index, uint8_t *data, size_t len, bool final) { Serial.println("Recibiendo configuración de la dirección IP ." + request->client()->remoteIP().toString() + " " + request->url()); if(!filename) { Serial.println("No hay archivo."); } if(!index) { request->_tempFile = SPIFFS.open("/" + filename, "w"); Serial.println("Carga Iniciada" + String(filename)); } if(len) { request->_tempFile.close(); Serial.println("Escribiendo archivo: " + String(filename) + ", tamaño: " + String(len)); } if(final) { request->_tempFile.close(); Serial.println("Carga completa: " + String(filename) + ", tamaño: " + String(index + filename)); request->redirect("/"); } } 正如你所看到的,有几个 println 句子可以知道程序在做什么,但是 manejaJson 回调中没有任何消息被打印,所以我认为 manejaJson 回调没有被执行,此外我没有任何返回值manejaJson 和 void 定义是因为与将其定义为 ArUploadHandlerFunction 相同,如在 AsyncWebServer 库的 .on 中声明的 WebServer.cpp 定义一样。 下面是从网页发送数据的代码 if(document.getElementById("forma") != null) { // Si encuentra la forma con la id igual a "forma", var elementoForma = document.getElementById("forma"); // extrae los valores completos. elementoForma.addEventListener("submit", function(e) { e.preventDefault(); var datosForma = {}; var formaDatos = new FormData(elementoForma); for(var [k,v] of formaDatos) { datosForma[k] = v; } console.log(datosForma); var datosJson = JSON.stringify(datosForma) console.log(datosJson); var config = new Blob([datosJson], {type: 'application/json'}); fetch("forma-dato", { method: "POST", body: config }); /*fs.writeFile('config.json', datosJson, 'utf-8', (err) => { if(err) { throw err; } console.log("Archivo guardado correctamente"); });*/ console.log(config); /*var envioForma = new XMLHttpRequest(); envioForma.open("POST", "forma-dato", true); envioForma.send(config);*/ }); } 正确知道数据是通过使用 fetch 方法发送的,但注释是另外两段发送数据的代码,一段使用 writefile,另一段使用 XMLHttpRequest,现在的 writefile 不太喜欢,因为在完全离线的应用程序中使用node.js。 那么,我能做些什么来解决这个问题并能够处理传入的数据。 预先感谢您的帮助。 注意:这个问题是我之前发表的this帖子的精确副本,但电子堆栈交换中的人们建议我在这里发表帖子,因为与软件比固件更相关。 为了让他们都知道,我能够使用在互联网上找到的代码解决问题,问题似乎是用于管理传入请求的 AsyncWebServer API 的默认方法不管理正文中包含 JSON 数据的请求默认情况下。 为了管理数据,必须使用 asyncjson.h 和 arduinojson.h,代码如下 AsyncCallbackJsonWebHandler* manejadorJson = new AsyncCallbackJsonWebHandler("/forma-dato", [](AsyncWebServerRequest *request, JsonVariant &docJson) { auto&& jsonObj = docJson.as<JsonObject>(); Serial.print("La fecha actual es :"); Serial.println((const char *) jsonObj["fecha"]); Serial.print("El horario del domingo en la tarde es: "); Serial.println((const char *) jsonObj["domingo-tarde-fin"]); request->send(200); Serial.println("Configuración recibida."); }); server.addHandler(manejadorJson); 当然所有的打印语句都是我写的,以便能够知道数据是否被处理过。 注意:在 AsyncWebServer API 的自述文件中是一个几乎类似于下面的示例,而不是使用该行 auto&& jsonObj = docJson.as<JsonObject>() 已使用 JsonObject& jsonObj = docJson.as<JsonObject>() 用上一行(只有一个 &)编写的示例对我来说不起作用,我查看了那里,显然这句话的问题是无法引用尚未初始化的变量。 JsonObject& jsonObj = docJson.as<JsonObject>() 错误:无法将“ArduinoJson::V704PB2::JsonObject&”类型的非常量左值引用绑定到“ArduinoJson::V704PB2::detail::enable_if::type”类型的右值(又名“ArduinoJson::V704PB2:”) :JsonObject'}

回答 2 投票 0

使用函数指针传递变量 C++

我正在尝试传递参数和函数指针。 目前我有这段代码可以工作,但我想重构它以避免为 doUserAnimation 调用创建足迹(?)。 #包括...

回答 1 投票 0

无法为 esp32 MicroPython 构建 LVGL

我正在尝试按照此文档为我的 esp32s3 使用 LVGL 构建 MicroPython,但通用 make 和 make BOARD=GENERIC_S3 命令均出现错误。 /用户/lilygo/lv_micropython/ports/esp32/

回答 1 投票 0

如何从闪存中删除 ESP32 wifi Smartconfig 凭证?

我正在使用 esp32 smartconfig 设置 wifi 凭证,并且它工作可靠。我希望能够从我的 arduino esp32 草图中删除存储在闪存中的凭据。 该...

回答 5 投票 0

ESP32 中的 Byte Buffer Ring Buffer 类型

这是我第一次尝试使用环形缓冲区。在我的项目中,我通过 loRa 模块(特别是 Reyax RYLR998)接收数据,并将收到的每条消息推送到环形缓冲区。 我定义了一个结构体...

回答 1 投票 0

从 ESP32 向本地计算机上的 Django 项目发送数据时出现问题

我正在尝试将数据从 ESP32 发送到部署在我的计算机上的 Django 项目。但是,ESP32似乎无法获取Django项目的地址,详细信息如下: 我的电脑和ESP32芯片...

回答 1 投票 0

通过串口连接ESP32到Python接口

我在使用串行连接将 ESP32 连接到 python 接口时遇到问题。 ESP32 位于通过 Arduino 读取传感器值的系统上。我正在使用 Python 界面来显示这些内容...

回答 1 投票 0

Micropython - WIFI 和 ADC 传感器无法一起工作

我使用 esp32,我有一个名为“水传感器”的 ADC 传感器,用于检测水位。基本上,我想连接到 WIFI,然后将读数上传到 MQTT 代理。但我...

回答 1 投票 0

编译错误:从 'int*' 到 'int32_t*' {aka 'long int*'} 的无效转换 [-fpermissive]

我订购了 LilyGo T5 4.7 英寸新一代电子墨水屏,配有板载 esp32 S3 所以我安装了必须有的库和董事会管理器。 我遵循了所有这些步骤,我遵循了此处所示的

回答 1 投票 0

如何从esp32 Micropython html网络服务器获取数据?

我是 Micropython 新手,目前正在使用 Micropython 开发一个使用 esp32S3 的物联网项目。对于初始化,我希望用户能够选择 WLAN 并输入相应的

回答 1 投票 0

ESP32 Flash 加密与 LVGL 图形闪烁屏幕

我在 ESP32s3 N16R8 上编写了一些使用 LVGL 作为组件的代码。我的应用程序运行良好。然后我启用了安全启动安全功能,一切正常,但是当我启用闪存加密时...

回答 1 投票 0

ESP_LOGx 消息中日志级别后的数字表示什么?

这里是在同一核心上运行两个具有不同优先级的任务的示例程序,其中任务函数记录任务名称、coreId 和演示计数器。 #包括 #

回答 2 投票 0

MQTT 与 Flutter

我是一名学生,希望将 mqtt 与 Flutter 应用程序连接以在仪表板上显示传感器值,请问有什么帮助吗? 我已经在 mqtt 和传感器之间建立了连接(dht22,gas,

回答 1 投票 0

如何在 ESP32 上使用事件网格命名空间 MQTT 主机名或像 WOKWI 一样在线使用 ESP32 使用 DHT22 传感器发送温度或湿度等数据

我正在像 WOKWI 一样使用 ESP32 或 ESP32 在线进行实验,使用 DHT22 传感器将温度和湿度等数据发送到 MQTT 接收器(例如 MQTTx)。 现在我正在使用事件进行实验...

回答 1 投票 0

ESP32-WROOM32 总是重新启动,尝试解决依赖关系

我有一个在 ESP32-WROOM32 芯片上运行的项目。固件使用的目标是 ESP32_REV3。 该项目模拟与另一个软件通信的电子卡。它打开一个 COM 端口(...

回答 1 投票 0

ESP32 作为 Wifi 中继器/扩展器

尝试使用 esp32 板制作 wifi 中继器/扩展器 我用 esp8266 尝试了同样的方法,效果很好 但我在理解 esp32 时遇到了问题 我找到了 esp8266...

回答 1 投票 0

ESP32:在使用 JTAG ESP-PROG 调试“ESP Async WebServer”时不断中断 SIGTRAP

我正在使用 Visual Code 和 PlatformIo 使用“ESP Async WebServer”编写一种伪 Rest 服务器 当我上传代码并像往常一样使用串行端口测试它时,代码接缝可以工作。布...

回答 1 投票 0

带有 HTML 请求和 ESPAsyncWebServer 库的 ESP32

我想使用 ESPAsyncWebServer 库在 ESP32 上运行一个简单的 Web 服务器。在网页上,您应该能够选择要上传到 SD 卡的文件。您还应该能够从

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.