问题标签 [esp-idf]

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 回答
719 浏览

esp32 - 无法将原始 ADC1 读数转换为电压

我不明白为什么 ESP-IDF 电压计算如果适用于转换来自 GPIO39 的原始读数会导致崩溃?

uint32_t 电压 = esp_adc_cal_raw_to_voltage(read_raw,adc_chars);

下面是简单的源代码

0 投票
2 回答
1751 浏览

protocol-buffers - 在 ESP-IDF 中使用 Google Protobuffers(C++)

我正在尝试在我的 IDF 项目中使用一些 C++ protobuffer 文件,但是在使其正常工作时遇到了一些问题。我已经在我的 test.proto 文件上使用 protoc 生成了我的 test.pb.cc 和 test.pb.h 文件。当我尝试运行“make”时,它在编译 test.pb.cc 时失败,并显示以下错误消息:

我猜这是我的 component.mk 文件的问题?我不确定如何在 component.mk 中链接 Protobuf 库。我在我编写的一个快速命令行程序中得到了这个工作,并且在 LDFLAGS 中使用了 -L ~/usr/local/lib,在 g++ 命令中使用了 -lprotobuf。有任何想法吗?

我也在 esp32.com 上问过这个问题,以尝试吸引更广泛的受众,因为我真的必须尽快完成这项工作。提前感谢您的帮助!

0 投票
2 回答
676 浏览

esp32 - 需要对 esp32 的 esp-idf 中的 IDF 监视器进行故障排除。不再显示输出

我在我的 MacBook 上设置了 esp-idf (v3.2),昨天早上我能够制作、刷新和监控一个项目,并在 IDF 监视器中查看调试输出。但是,经过一些停止工作的代码更改。我可以看到芯片仍在运行,因为它正在代码中生成 MQTT 输出。但是,“make monitor”不再有输出。

我已经尝试恢复到它工作但没有运气的早期代码。我还运行了“make menuconfig”来查看设置,但不确定我在寻找什么。

'make flash monitor' 的输出:

如您所见,我不再得到任何输出。不幸的是,我没有抓住之前的任何输出。

0 投票
1 回答
440 浏览

c - 为什么将 SX1272 的每个 SPI 寄存器与 0x80 或

我使用来自 GitHub 的库,它提供了通过 SPI 读取和写入 SX1272 寄存器的功能。它工作得很好,但我不明白为什么 Lora_write_ref() 函数 OR 的每个寄存器都带有 0x80。

因此,当假设我想写入地址 0X00 上的寄存器 FIFO (RegFifo) 时。我不能,因为函数或者是 0X80 的寄存器。我知道我认为是错误的,因为它工作得很好,但为什么呢?

来自https://github.com/Inteform/esp32-lora-library的代码

0 投票
4 回答
4542 浏览

c - 如何从 esp-idf 中的 NTP 服务器重新同步时间?

我使用带有 esp-idf 的 ESP32。我需要正确的时间,因此我正在尝试与 NTP 服务器重新同步时间。我使用这个例子。[1]:https ://github.com/espressif/esp-idf/tree/master/examples/protocols/sntp

当我再次调用 gain_time() 方法时,设备正在重新启动。

我错了什么?我没有找到任何有帮助的东西。

有我的方法:

0 投票
1 回答
753 浏览

c - 如何通过gatt从esp32的hid ble键盘发送扫描码> 255?

我正在使用 esp-32 esp-idf HID 库(https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/ble_hid_device_demo)制作一个自定义键盘,将扫描码发送到安卓设备. 我需要发送扫描码 = 310,其中包含两个字节的数据。

我有一个需要 ble 隐藏键盘按钮的扫描码 = 310[dec] 的设备。当我尝试将此代码作为 uint8_t key_vaule[] 发送时,因为它在 ble_hid_device_demo 项目的 ble_hid_demo_main.c 中使用,设备收到了另一个扫描代码,它从 000 0001 0011 0110 [310dec] 被截断为 0011 0110 [155dec]。我想这是因为传输变量的 8 位大小而不是 16 位。将库从 uint8_t 大小修改为 uint16_t 没有给出任何结果,结果仍然被截断。有没有办法发送一个两字节的代码而不是一个字节?

0 投票
0 回答
246 浏览

stream - 用于在 esp32 上构建直播服务器的库或一些代码

我的项目即将使用 esp-idf 库在 esp32 (wrover) 上开发一个迷你直播服务器,任何有 wifi 连接到我的 esp 的计算机都可以收听从 esp32 上的 Mic 录制的语音。我想知道是否有任何库来构建直播服务器?我找到了 gstream lib,但它只支持 linux base 或 mobile。我可以使用 curl lib 构建简单的 rtsp 流吗?另一种方式:我可以尝试将从我的 esp32 记录的数据发送到作为 rtsp 服务器的中间计算机吗?

澄清一下,关于我的项目:语音 -> vs1053 编解码器 -> esp32 -> 计算机 -> 人类聆听

0 投票
1 回答
362 浏览

c# - 升级到 Android 9 后无法从 Xamarin.Forms 应用打开 ESP32 套接字

将手机更新到 Android 9 后,从 Xamarin.Forms 应用程序打开正在侦听 ESP32 端口 3000 的 TCP 套接字不再起作用。在 Android 8 上这有效,但更新套接字后无法打开。

应用程序抛出以下异常:

我已经尝试了一些方法来解决这个问题:

  • 在旧手机(Android 6)上试用该应用程序,该应用程序有效
  • 尝试使用有效的 netcat 从 PC 打开 ESP32 上的套接字
  • 尝试从有效的应用程序打开电脑上的套接字
  • 尝试从智能手机上的不同 TCP 客户端应用程序打开 ESP32 上的套接字

以上所有工作,但试图从 xamarin 表单应用程序打开 ESP32 上的 TCP 套接字却没有。

我也试过

  • 启用 cleartextTrafficPermitted不起作用
  • 将“INTERNET”权限添加到不起作用的android清单

对于 Xamarin.Forms 应用,使用此代码

在听众方面,我用它来收听:

似乎Android无法打开ESP32上的套接字,问题是为什么?

0 投票
1 回答
10825 浏览

esp32 - 为什么我会得到调试异常原因:堆栈金丝雀观察点已触发(主要)?

我正在编写一个esp32-wroom-32使用esp-idf-v3.0.
我正在尝试添加日志,这些日志将保存在 fatfs 中。
在一些日志之后,我得到:

为什么会发生在 main 上?

0 投票
1 回答
2193 浏览

c - 通过 uart (esp-idf) 的 esp32 printf 通道

我尝试禁用程序上的所有日志,我确实禁用了 esp 日志,但是当我printf在我的频道中使用并打开时make monitor printf仍然有效。

如何以及为什么?我想禁用它。