lua - ws2812 模块有问题。 init() 为 nil,write() 无法按照记录工作

标签 lua esp8266 nodemcu

我正在尝试使用 ESP8266 和 nodeMCU 固件的 Adafruit neopixel 阵列。

使用以下自定义构建:

NodeMCU custom build by frightanic.com
    branch: master
    commit: c8037568571edb5c568c2f8231e4f8ce0683b883
    SSL: false
    modules: bmp085,file,gpio,i2c,net,node,tmr,uart,wifi,ws2812
build built on: 2016-05-24 13:48
powered by Lua 5.1.4 on SDK 1.4.0

当我调用 ws2812.init() 时,这就是我在 ESPlorer 中得到的结果:

> ws2812.init();
stdin:1: attempt to call field 'init' (a nil value)
stack traceback:
    stdin:1: in main chunk

当调用ws2812.write()时,我得到以下输出:

> ws2812.write(string.char(255,0,0,255,0,0));
stdin:1: bad argument #1 to 'write' (number expected, got string)
stack traceback:
    [C]: in function 'write'
    stdin:1: in main chunk

模块 ws2812 似乎以任何形式存在,但具有不同的签名,如文档所述( https://nodemcu.readthedocs.io/en/dev/en/modules/ws2812/ )。

有什么想法吗? 谢谢,格尔德

最佳答案

显然,您使用 http://nodemcu-build.com/ 构建了固件(免责声明:这是我的网站)。它允许您选择 NodeMCU 固件分支,当前为 masterdev

您发布的文档链接适用于 dev 分支 (/en/dev/en/modules/...)。 RTD 会自动将您转发到 dev 分支,因为我们修订后的文档尚未在 master 分支中。如果您关心该进展,您可能需要关注 https://github.com/nodemcu/nodemcu-firmware/issues/1146 .

因此,只需从 dev 分支获取固件即可。

关于lua - ws2812 模块有问题。 init() 为 nil,write() 无法按照记录工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37418339/

相关文章:

c++ - 如何从 C++ 中的 Lua 函数获取返回表?

android - windows环境下在corona中使用InputTextBox

java - 如何使用android以稳定的方式连接到没有互联网的ESP8266接入点?

compiler-errors - 可以正常工作的Arduino UNO代码在ESP8266上编译错误-无匹配功能

lua - NodeMCU UDP DNS 请求格式

esp8266 - 如何重置esp8266 NodeMCU?

linux - 在 linux (debian) 中运行 docker 和 nodemcu-build 时出错

math - lua : pick a random parameter passed into it 中的简单函数

variables - 如何将空变量传递给Lua中的函数

http - Keep TCP connection keep alive and loop only GET 命令