问题标签 [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 回答
137 浏览

linux - 无法在 Linux 上构建受限于 iotivity 的 Zephyr 端口

我正在尝试在 Linux 上为 ESP32 构建 iotivity-constrained Zephyr 端口,但出现以下错误,

我可以分别构建 Zephyr 和 ESP32,但不受 iotivity 限制。我尝试添加 -mlongcalls 但没有成功。

有什么建议么?

0 投票
1 回答
431 浏览

c++ - C++ 传递类方法作为参数

我正在使用 ESP32。目前我正在从 ESP8266 代码库迁移我的库。

我目前正在执行以下操作:

但似乎 PubSubClient 库的作者更改了签名。

我不知道如何使用新签名来做到这一点。

0 投票
2 回答
383 浏览

arduino - Arduino - 为基于芯片的 DHT 传感器选择接头(ESP32 与 ESP8266)

我首先要说我不是 C++/Arduino 专家,但我已经在这个问题上玩够了,并且在我无法弄清楚的地方搜索了足够多的东西。

我有一些 Arduino 代码调用传感器库文件,然后调用 DHT 库(https://github.com/RobTillaart/Arduino/tree/master/libraries/)。这个库有两个主要版本,一个在 DHTStable 中,它保持与基于 AVR 和 ARM 的芯片的兼容性,另一个在 DHTLib 中,它针对 AVR 进行了优化。我正在为 ESP8266(需要 DHTStable)和 ESP32(与 DHTlib 配合得更好)编译相同的草图。

现在我编译并下载到 ESP32,完成后我将 DHTLib 库移出,复制 DHTStable,然后为 ESP8266 编译和下载。几天或一周后,我再次进行复制和粘贴。

在我的传感器库中,我已经在检查 ESP32 的某些命令,如果不是 ESP32,我会使用 ESP8266 执行命令,#if defined(ARDUINO_ARCH_ESP32)这对命令很有用。但是我正在尝试将它用于定义,并且它“有点”有效。我必须采用这两个库之一并将头文件和 cpp 文件以及内部所有引用重命名为与另一个不同。然后在我的 If I can do a if ESP32 use dht-avr.h (renamed) else dht.h (original) 中。

这一切都有效,但我正在使用 git 来克隆并保持更新库,所以每次有更新时我都必须通过并重命名所有内容。所以我尝试了#include <DHTlib\dht.h><DHTStable\dht.h>但这些不起作用(找不到库)。

我想要做的是,调用实际的包含路径或两个不同的标题,当它们被命名为相同时,可能吗?由于 If 语句有效,我 90% 在那里(如果我继续重命名所有内容,则为 100%),但我真的希望这是自动的。

@BMelis 让我在正确的轨道上使用 .. 在路径中。最终的代码是:

0 投票
5 回答
5627 浏览

build - PlatformIO 致命构建错误:LiquidCrystal.h“没有这样的文件或目录”

我对 Atom / PlatformIO 相当陌生,并尝试使用它与 Arduino 一起开发作为 Arduino IDE 的替代品。

~规格~


在尝试使用 LCD 屏幕之前,我已经通过 PlatformIO 在 ESP 模块上成功运行了其他示例代码,但是当我尝试包含 LiquidCrystal.h 库时,它给了我一个构建错误:

到目前为止,在我搜索过的有关此问题的几个站点中,大多数都指向缺少添加“wire.h”头文件,但是即使将其包含到程序中,它仍然给我这个错误。

我的包括如下:

所以我不完全确定为什么会出现这个问题。我该如何解决这个问题?


编辑1:

刚才我遇到了另一个站点,该站点建议尝试通过控制台更新 PlatformIO,但这无济于事。一切都被标记为“最新”。


编辑2:

已经通过 Arduino IDE 编译并运行了这段代码,并且可以确认它可以工作,所以问题似乎出在 PlatformIO IDE ...


编辑3:

在遵循 BMelis 的建议后,我查看了 PlatformIO.ini 文件,并在其中添加了以下行:

这修复了 LiquidCrystal.h 的初始错误,但是这也在构建过程中产生了以下依赖错误:

我尝试通过在 ini 文件中添加第二个 lib_extra_dirs 命令来添加它提到的目录:

然而,这并没有解决问题。我现在不知道该怎么办...


完整代码:

0 投票
0 回答
85 浏览

javascript - 无法接收 SNS 电子邮件通知亚马逊网络服务 AWS

我是 AWS 的新手,我使用这个 GitHub 示例来获取电子邮件通知。在 Mac 系统上工作,我已按照示例中提到的所有步骤进行操作,并按照说明进行了所有设置。

重新启动 ESP 后,我的日志如下所示

当我点击我的 esp32 上的启动按钮时,我得到以下日志

请注意:我收到了第一封“AWS 通知 - 订阅确认”电子邮件。我点击了“确认订阅”,我的浏览器窗口显示“您已订阅 xxxxx@gmail.com 到主题 xyz”。

问题是,在按下 ESP 上的启动按钮后,除了我的 MOS UI 上的消息“已发布:是主题:esp32_0550A8/button_pressed 消息:{“free_ram”:80904,“total_ram”:160340}”之外,我没有收到其他通知

0 投票
1 回答
1105 浏览

arduino - How to turn led ON when pushing the boot button on an esp32

I'm trying to turn the LED (pin 2) ON when I push the boot button on an esp32 ! Here is my code ! Any idea why this don't work ?

0 投票
1 回答
8300 浏览

arduino - ESP32/ESP8266 使用 WiFi 连接到本地主机服务器

我制作了一个简单的 Node.js 本地服务器来接收来自 ESP32 的 POST 请求并将其放入数据库中。服务器工作正常,因为我使用邮递员对其进行了测试。服务器正在监听端口 127.0.0.1:3000。我的问题是client.connect(host, port)总是返回false。我无法连接到客户端以发出 POST 请求。

0 投票
1 回答
5045 浏览

arduino-ide - ESP32 引脚输出不适用于 Arduino IDE

我试图用 Arduino IDE 设置我的第一个 ESP32 板。它适用于内置 LED,但不适用于引脚。这是我的代码:

板载内置 LED 根据我的代码闪烁,但 GPIO 25 没有输出任何内容。我尝试了其他引脚,发现它们都不起作用。我碰巧尝试了 GPIO 4,发现它与内置 LED 一起闪烁。看起来 GPIO 4 连接到内置 LED。

那么我是否错过了设置引脚模式或其他任何内容?如何选择一个引脚并使其作为输出来闪烁面包板上的 LED?

提前致谢。

0 投票
2 回答
419 浏览

esp32 - 解释 ESP32 变量的结构

我有一个我不明白的结构:

它通过分配“#defined”值来初始化:

其中WIFI_AP_NAMEWIFI_AP_PASS定义如下:

我现在有:

我需要将这些值分配给结构.ssid.passwordwifi_config结构中分配。

怎么做?因为简单的赋值会抛出错误:

错误:初始化器周围缺少大括号 [-Werror=missing-braces]

当我尝试 strcpy 值时,我得到了:

最好的问候马雷克

0 投票
1 回答
1088 浏览

micropython - 如何通过 I2C 使用 Micropython 访问 HTIT-WB32 上的 OLED?

我在HTIT-wb32 ESP32板上安装了 Micropython v1.9.2。我可以运行代码、连接到我的路由器等。我无法通过 I2C 访问内置的 OLED 显示器。

电路板的 OLED 引脚布局表明 SDA 在引脚 4 上,SCL 在引脚 15 上。

所以用代码:

我应该得到一个地址,i2c.scan()但它正在返回:

我读过的其他代码示例看起来非常简单并且可以正常工作,但我还没有找到该设备的代码。

我究竟做错了什么?