问题标签 [arduino-esp32]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
321 浏览

timer - ESP32 Arduino:BluetoothSerial.h 的 .println() 破坏了其他内核上的硬件定时器中断

我正在使用 ESP32 Arduino IDE。我的每个核心都有一项任务。在 core0 任务中,我设置了一个定时器中断,该中断向任务发出信号(通过 interruptCounter 变量)以每 100 us 切换一个引脚。在 core1 上,我有一个任务,它使用 SerialBT.println("1") 函数在蓝牙上发送一些乱码。

我用示波器测量了引脚。如果我删除 SerialBT.println("1") 函数,或者使用 Serial.println("1"),或者不在 Arduino IDE 上打开蓝牙串行监视器,它工作正常,我得到一个不错的 5 kHz 方波信号。但是,如果我在与蓝牙关联的端口上打开串行监视器,引脚会以非常随机的间隔切换,因此频率一直在变化。

我尝试了很多东西,但我仍然不知道代码中一个核心如何影响另一个核心。

编辑:在示波器上找到运行/停止按钮后,我意识到它仍然以常规的 100us 间隔切换,但每隔几次切换后它通常会忘记切换几毫秒。这些毛刺之间的间隔和脉冲似乎不规则。所以问题仍然存在,但我只是添加了这个信息。

EDIT1:我还注意到在这些停止期间,interruptCounter 会像预期的那样上升。所以它只是核心 0 功能以某种方式没有响应。

0 投票
0 回答
74 浏览

arduino - 从 DeepSleep 模式返回后 Mpu6050 未连接到 Esp32

我是硬件编程方面的完全菜鸟。我正在做一个项目,我必须从 mpu6050 计算滚动和俯仰值,同时在 esp32 中实现深度睡眠模式以降低功耗。

我遵循在线教程并设法让 esp32 进入深度睡眠模式,但是在我从深度睡眠模式回来后,我无法重新连接到 mpu6050(mpu6050 状态为 1)。

这是我的代码,

0 投票
1 回答
393 浏览

esp32 - ESP-IDF deep_sleep 和 FreeRTOS 任务

我在使用 FreeRTOS 任务的项目上工作,我想进入 deep_sleep。在进入 deep_sleep 之前我应该​​做些什么?或者唤醒后,RTOS 调度程序什么也没发生?

0 投票
0 回答
430 浏览

python - 如何使 ESP32/USB-Camera (AI Thinker) 与 OpenCV 一起工作?

我目前正在尝试将 ESP32-Camera (AI Thinker) 与 OpenCV 集成。据我所知,我们可以将 ESP32-Camera 视为使用 UART 接口的廉价、低质量 USB 相机(我使用的是 4D System 模块)。因此,我需要做的就是将它挂在笔记本电脑上并将其更改为“cap = cv2.VideoCapture(1)”;VideoCapture(0) 是我笔记本电脑的摄像头。

然而,当我运行一个简单的代码来显示来自 ESP32 相机的灰度帧时,它显示的像素点非常小。我可以检查一下是否是由于 ESP32 摄像头或接口的限制(可能我需要将其保持在闪烁模式)等原因吗?当我尝试使用 Arduino IDE 进行录制时,相机确实可以工作,记录在这里https://github.com/jameszah/ESP32-CAM-Video-Recorder

笔记本电脑摄像头的预期结果 ESP32 摄像头的实际结果

感谢您提前为此提供的任何帮助和建议。Ĵ

最好的问候,贾斯汀

0 投票
3 回答
1003 浏览

esp32 - 通过 FREERTOS 队列发送结构数组

我从 ESP32 和 FREERTOS 开始,但在跨队列发送 Struct 数组时遇到问题。我已经发送了另一种变量,但从未发送过结构数组,并且我遇到了异常。

发送者和接收者位于不同的源文件中,我开始发现可能是问题(或至少部分问题)。

我的简化代码如下所示:

常见的.h

文件1.h

文件1.cpp

文件2.cpp

当我在我的 ESP32 上运行此代码时,它一直有效,直到我尝试使用 Serial.println 打印数据。打印“已接收”消息,但它在下一个 Serial.println 中崩溃并出现此错误。

我被这个问题锁定了,我无法找到解决它的方法,所以任何帮助都会非常感激。

编辑:我想也许一个解决方案只是向结构添加一个订单项,使队列更大(数量)并将所有结构分别发送到队列。然后在阅读器中使用该订单再次订购。

无论如何,很高兴了解我在上面的代码中做错了什么。

0 投票
0 回答
171 浏览

websocket - Esp32 AsynWebserver Websocket Crush

我正在尝试使用 ESPAsycnWebserver lib 使用 websocket 构建异步网络服务器。一切正常,但有一个时刻:当我多次刷新时:13 或 29 它会崩溃并重新启动。我认为有内存问题,但不知道如何解决。这是控制台输出和工作代码:

代号:正面

代码:ESP

0 投票
1 回答
727 浏览

arduino - 通过 ESP_NOW 发送数据

我是个菜鸟,刚开始使用 PlatformIO 和 Arduino/ESP32。我还想提前感谢我能得到的任何帮助。

计划:

我有 2 个 ESP32 正在通过 ESP_NOW 通话,我只是无法验证正在发送的数据以推进我的项目。基本上,我有一个 Nextion 显示器,它将特定信息发送到 ESP32(经过测试和工作),然后 ESP32 将通过 ESP_NOW 将该信息发送到另一个 ESP32,后者会将其转换为串行数据以发送到 Arduino Due 并执行一些任务。

问题:

我遇到的问题是,当我测试时,我看到我认为我正在传输的数据,但是当我尝试 Serial.print 所说的信息时,我得到“0 0 0 0”。我不确定我是否正确发送或接收数据。我所知道的是,当我按下 Nextion 上的按钮时,我会在未连接的 ESP32 上得到响应。

代码:

其中大部分来自网络上的各种教程,包括 YouTube 和 RandomNerdTutorials。我绝不是一名高级程序员,但我正在努力学习。

以下是我从串行监视器得到的结果:

ESP32 1:

ESP32 2:

请注意,我只发送 4 个字节的信息(65 1 2 1),所以它似乎匹配(我没有发送 FF FF FF)...

再次感谢任何帮助!!

0 投票
3 回答
421 浏览

esp32 - ESP32 Freertos:SPI 任务阻止其他任务(即使在不同的内核上!!)

这是串行输出。 它确实连接到 Wifi,只是从未运行过任务 2我正在开发基于 ESP32 和 freeRTOS 的高频 DAQ。将有 2 个任务,第一个任务将在核心 0 上运行,与传感器通信以 4000SPS 收集数据,使用 SPI 总线。任务 2 将在核心 1 上运行,从第一个任务接收数据并通过 TCP 异步发送。理想情况下,任务 2 应该在任务 1 收集最新数据的同时发送数据(双核,对吗?)当我进行测试运行时,我让 SPI 总线尽可能快地运行,但它只会阻止任务 2 运行! !我不想使用 vTaskDelay(1),因为它会影响收集数据的速度。我现在应该怎么做,让两个任务同时运行?谢谢!!

0 投票
2 回答
1156 浏览

esp32 - 触发了 ESP32 堆栈金丝雀观察点。为什么?

我有一个程序可以使用 Boneh-Franklin 加密对文本进行加密和解密。这在 PC 上效果很好,但由于某种原因导致 ESP32 不断重启,并出现以下错误消息:

我使用的是 Arduino ESP32 环境,在 main.cpp 中 CONFIG_ARDUINO_LOOP_STACK_SIZE 设置为 8192,8k 堆栈应该足以运行它。它在 PC 上完美运行,为什么不在 ESP32 上对我来说是个谜。任何人都可以帮忙吗?我完全没有想法。对于 Boneh-Franklin 实现,我使用了这个库:https ://github.com/miracl/core 我自己的代码大约 200 行,我已经将它上传到 Google Drive:https ://drive.google.com/file/ d/1EY0mGC2UiVNhE68b5Q0VB9JIY2Owbpxg/view?usp=sharing

0 投票
0 回答
55 浏览

android - 如何关闭我的 esp32 无源蜂鸣器?

我对使用 esp32 开发板进行编程非常陌生 我编写了一个代码示例,可以让我借助一个名为 Arduino BlueControl 应用程序的应用程序打开我的无源蜂鸣器,我设法通过电话和电路板进行通信并制作蜂鸣器响,但我在我的应用程序的帮助下无法关闭我的电路板这是我的代码示例: