【问题标题】:Lua ESP8266 script expecting extra =Lua ESP8266 脚本期待额外 =
【发布时间】: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 {;} 只会让我无所适从。

标签: lua syntax-error esp8266 esplorer


【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-05
      • 2017-03-20
      • 2016-10-17
      • 1970-01-01
      • 2015-10-24
      • 2017-07-14
      • 2017-01-20
      • 1970-01-01
      相关资源
      最近更新 更多