问题标签 [nodemcu]

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 投票
5 回答
7951 浏览

lua - 使用 Wifi 将 Lua 脚本上传到 NodeMCU

是否可以使用 Wifi 接口而不是串行将 Lua 脚本上传到 NodeMCU?

我发现的教程和示例都使用串行接口,即电缆,对 NodeMCU 进行编程,但我想在不连接任何东西的情况下更改程序(使用智能手机或浏览器)

0 投票
2 回答
777 浏览

lua - nodemcu如何缩短获取IP地址所需的时间

当 NodeMCU 处于工作站模式并在 init.lua 中使用以下代码片段时,在报告 IP 地址(或达到 IP 堆栈就绪状态)之前,平均仍需要大约 6 次循环迭代

尝试了有无静态IP配置,好像没有什么不同 这正常吗?有没有办法让速度更快?我只是做错了吗?

0 投票
2 回答
647 浏览

lua - 为什么使用此代码启动后 NodeMCU 崩溃且没有错误?

我的 ESP8266 不断重启。

这是我的 init.lua:

为什么每次重启后都会崩溃?

我该如何解决这个问题?

我有由 Lua 5.1.4 提供支持的 NodeMCU 0.9.5 build 20150318。

另一个 lua 脚本运行正常。

0 投票
1 回答
979 浏览

lua - 带有 NodeMCU 的 ESP8266 上的 MQTT - 发布问题

我正在使用 NodeMCU 构建基于 ESP8266 的电池供电物联网设备。我使用 mqtt 定期执行测量并发布结果。我知道,要允许网络堆栈运行,我应该避免紧密循环并依赖回调函数。因此,在我看来,我的测量代码的正确组织应该是:

init.lua 确保节点已连接到 WiFi AP(如果没有,它最多重试 20 次,如果没有建立连接,它会使节点进入睡眠状态,直到下一次测量时间)。WiFi连接完成后,调用测量函数。

有趣的是,上面的代码不起作用。控制台中没有显示错误,但是 mqtt 代理没有收到已发布的消息。为了使其正常工作,我必须通过在回调函数中添加计时器来添加额外的空闲时间。

最终工作的代码如下所示:

以上工作,但我不确定它是否是最佳的。为了节省电池电量,我希望在测量完成并公布结果后,尽量减少节点进入睡眠状态的时间。

有没有更好的方法来链接对 m:connect、m:publish、m:close 和最后的 node.dsleep 的必要调用,以便在最短的时间内正确发布结果?

0 投票
1 回答
397 浏览

lua - NodeMCU/Lua 性能问题

我正在向 ws2812 模块添加一些代码,以便能够拥有某种可重用的缓冲区,我们可以在其中存储 led 值。

当前版本在那里

我有两个问题。

首先,我想要一些“OO 风格”的界面。所以我做了:

这里的buffer:set问题是在每个循环转弯时解决,这是昂贵的(这个循环需要大约 20.2 毫秒):

我找到了一个看起来不太“好”的问题的解决方法:

它运行良好(循环 4.3 毫秒,快 4 倍以上),但它更像是一个 hack。:/ 有没有更好的方法来“缓存”缓冲区:设置分辨率?

第二个问题,在我的 C 代码中,我使用:

这会返回我的缓冲区 ptr 并检查它是否真的是ws2812.buffer. 但是这个电话很慢:在我的 ESP8266 上,~50us。如果每次通话都完成(buffer:set例如我的 300 次),它是 ~15 毫秒!

有没有更好的方法来获取一些用户数据并检查其类型,或者我应该在结构的开头添加一些“金丝雀”来进行自己的检查(与 50us 相比,这几乎是“免费的”......)?

0 投票
2 回答
916 浏览

lua - 套接字连接后 ESP8266 复位(无恐慌)

我有一个完全可以工作的 esp 芯片,可以连接到 wifi 并创建一个服务器。当我向它发送 OTA 命令时,它会运行一个使用套接字连接下载文件的函数。

这是我正在使用的 upgrader.lua:

作为测试,我发送它: filename = rz.lua 和 url = http://192.168.1.132/rz.lua。cn 变量是将信息发送回客户端的连接。

esp芯片打印:

该问题似乎与 conn:send() 命令有关。如果它在 on connect 函数中,它会重置。如果它在外面,我会得到一个读取超时(因为读取时永远不会被调用)。我真的不知道还能做什么。

这是 ESP 固件信息:

0 投票
1 回答
334 浏览

lua - 获取从 Arduino 到 Lua 的请求 (ESP8266)

我的 GET 请求有问题。带有 NodeMCU 的 ESP8266。我在 Arduino 中的代码:

错误:

")stdin:1: '"GET /json.htm?type=command¶m=udevice&idx=2&nvalue=0&svalue=11 HTTP/1.1Host: 192' 附近未完成的字符串

\r\nLua在 GET 请求中看不到吗?

0 投票
1 回答
407 浏览

arduino - LCD 16x2 无法使用 NodeMCU1.0 显示 Hello world

我正在做一个使用 NodeMCU1.0 在 LCD 上显示文本的小项目。问题是当我上传草图“仅黑屏”时没有显示文本?有什么帮助吗?

0 投票
3 回答
12934 浏览

mqtt - 无法连接到 test.mosquitto.org

我正在研究 esp8266 并尝试连接到 test.mosquitto.org。这是我从网上得到的

我不确定从哪里获得 clientId ,用户和通行证,

这是我得到的:DNS 重试 1!DNS重试2!DNS重试3!DNS重试4!域名解析失败!

0 投票
0 回答
498 浏览

lua - LUA 中的 GET 请求 - 发送请求后的“>>”

我通过 Arduino IDE 发送我的 Lua 代码。

我在 Arduino 中的草图:

我打开串口并发送我的代码:

但是我的 ESP 在最后一个命令之后返回“>>”..有屏幕 在此处输入图像描述

当我替换 conn:send 时:

一切都是正确的,我从服务器接收响应......

感谢帮助!