ws2812模块的问题。 init()为nil,write()不能像记录的那样工作

时间:2016-05-24 15:48:55

标签: lua esp8266 nodemcu

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

使用以下自定义构建:

  

由frightanic.com定制的NodeMCU   分公司:主人   提交:c8037568571edb5c568c2f8231e4f8ce0683b883
  SSL:假
  模块:bmp085,文件,gpio,i2c,net,node,tmr,uart,wifi,ws2812
  建立于:2016-05-24 13:48
  由SDK 1.4.0上的Lua 5.1.4提供支持

当我致电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/)。

有什么想法吗? 谢谢,Gerd

1 个答案:

答案 0 :(得分:2)

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

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

因此,只需从dev分支机构获取固件,即可全部设置。