问题标签 [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.
lua - 使用 Wifi 将 Lua 脚本上传到 NodeMCU
是否可以使用 Wifi 接口而不是串行将 Lua 脚本上传到 NodeMCU?
我发现的教程和示例都使用串行接口,即电缆,对 NodeMCU 进行编程,但我想在不连接任何东西的情况下更改程序(使用智能手机或浏览器)
lua - nodemcu如何缩短获取IP地址所需的时间
当 NodeMCU 处于工作站模式并在 init.lua 中使用以下代码片段时,在报告 IP 地址(或达到 IP 堆栈就绪状态)之前,平均仍需要大约 6 次循环迭代
尝试了有无静态IP配置,好像没有什么不同 这正常吗?有没有办法让速度更快?我只是做错了吗?
lua - 为什么使用此代码启动后 NodeMCU 崩溃且没有错误?
我的 ESP8266 不断重启。
这是我的 init.lua:
为什么每次重启后都会崩溃?
我该如何解决这个问题?
我有由 Lua 5.1.4 提供支持的 NodeMCU 0.9.5 build 20150318。
另一个 lua 脚本运行正常。
lua - 带有 NodeMCU 的 ESP8266 上的 MQTT - 发布问题
我正在使用 NodeMCU 构建基于 ESP8266 的电池供电物联网设备。我使用 mqtt 定期执行测量并发布结果。我知道,要允许网络堆栈运行,我应该避免紧密循环并依赖回调函数。因此,在我看来,我的测量代码的正确组织应该是:
init.lua 确保节点已连接到 WiFi AP(如果没有,它最多重试 20 次,如果没有建立连接,它会使节点进入睡眠状态,直到下一次测量时间)。WiFi连接完成后,调用测量函数。
有趣的是,上面的代码不起作用。控制台中没有显示错误,但是 mqtt 代理没有收到已发布的消息。为了使其正常工作,我必须通过在回调函数中添加计时器来添加额外的空闲时间。
最终工作的代码如下所示:
以上工作,但我不确定它是否是最佳的。为了节省电池电量,我希望在测量完成并公布结果后,尽量减少节点进入睡眠状态的时间。
有没有更好的方法来链接对 m:connect、m:publish、m:close 和最后的 node.dsleep 的必要调用,以便在最短的时间内正确发布结果?
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 相比,这几乎是“免费的”......)?
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 固件信息:
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\n
Lua在 GET 请求中看不到吗?
arduino - LCD 16x2 无法使用 NodeMCU1.0 显示 Hello world
我正在做一个使用 NodeMCU1.0 在 LCD 上显示文本的小项目。问题是当我上传草图“仅黑屏”时没有显示文本?有什么帮助吗?
mqtt - 无法连接到 test.mosquitto.org
我正在研究 esp8266 并尝试连接到 test.mosquitto.org。这是我从网上得到的
我不确定从哪里获得 clientId ,用户和通行证,
这是我得到的:DNS 重试 1!DNS重试2!DNS重试3!DNS重试4!域名解析失败!
lua - LUA 中的 GET 请求 - 发送请求后的“>>”
我通过 Arduino IDE 发送我的 Lua 代码。
我在 Arduino 中的草图:
我打开串口并发送我的代码:
但是我的 ESP 在最后一个命令之后返回“>>”..有屏幕
当我替换 conn:send 时:
一切都是正确的,我从服务器接收响应......
感谢帮助!