Lua ESP8266 脚本期待额外 =
Posted
技术标签:
【中文标题】Lua ESP8266 脚本期待额外 =【英文标题】:Lua ESP8266 script expecting extra = 【发布时间】:2020-05-12 09:32:57 【问题描述】:我正在尝试使用我的 ESP8266 测试接近传感器,但是我使用的测试代码一直失败。
每当我运行代码时,都会出现错误:motion sensor.lua:1: '=' expected near 'int'
我还应该提到我正在使用 ESPlorer v0.2.0
const int PIRSensorOutPin = 2; //PIR Sensor OUT Pin
void setup()
Serial.begin(9600);
pinMode(PIRSensorOutPin, INPUT);
void loop()
if (digitalRead(PIRSensorOutPin) == LOW)
Serial.println("Person detected!"); //Print to serial monitor
else ;
我做错了什么?
【问题讨论】:
您包含的代码是 C++ Arduino 代码,而不是 LUA。 如果您提供遇到错误的代码会很有帮助。else ;
只会让我无所适从。
【参考方案1】:
Lua 解释器不理解 C++。
您正在运行运行 Lua 文件的 NodeMCU 固件。但是您正在尝试运行 Arduino C++ 代码。那是行不通的。要运行此代码,您必须将 ESP8266 支持添加到您的 Arduino IDE,编译您的代码并将其闪存到 ESP。
也可以在 Lua 中编写代码。
https://github.com/esp8266/Arduino
https://www.nodemcu.com/index_en.html
【讨论】:
【参考方案2】:我做错了什么?
使用错误的编程语言。
NodeMCU 想要运行 Lua 代码,而你却给它 C 代码,这根本行不通。
我该如何解决? (暗示)
您可以使用 arduino IDE 为 ESP8266 编写 C++ 代码,但由于您似乎已经准备好运行 Lua 代码的所有设置,我建议您改用它。
您提供的 C 代码可以使用 NodeMCU api 重写为 Lua,如下所示:
local pin = 2 -- The number of the I/O Pin
local type = "down" -- Trigger on falling edge
-- https://nodemcu.readthedocs.io/en/master/modules/gpio/#gpiotrig
gpio.trig(pin, type, function()
print("Movement detected, proceding to exterminate!")
end)
【讨论】:
以上是关于Lua ESP8266 脚本期待额外 =的主要内容,如果未能解决你的问题,请参考以下文章
ESP8266 LUA脚本语言开发: 准备工作-LUA开发说明
ESP8266 LUA脚本语言开发: 准备工作-LUA文件加载与变量调用
ESP8266 LUA脚本语言开发: 外设篇-GPIO中断检测