Lua скрипт ESP8266, ожидающий дополнительного = - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь проверить датчик приближения с помощью моего 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 {;}
 }

Что я делаю неправильно?

Ответы [ 2 ]

0 голосов
/ 27 января 2020

Что я делаю не так?

Использование неправильного языка программирования.

NodeMCU хочет запустить Lua код, а вы его C вместо этого код, который просто не может работать.

Как мне это исправить? (подразумевается)

Вы можете использовать IDE arduino для написания кода C ++ для ESP8266, но, поскольку вы уже, кажется, уже настроили все для запуска Lua кода, я предлагаю просто используйте это вместо этого.

Код C, который вы предоставили, можно переписать в Lua, используя NodeMCU API, например:

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)
0 голосов
/ 27 января 2020

Интерпретатор Lua не понимает C ++.

Вы используете прошивку NodeMCU, которая запускает файлы Lua. Но вы пытаетесь запустить код Arduino C ++. Это не сработает. Чтобы запустить этот код, вам необходимо добавить поддержку ESP8266 в вашу Arduino IDE, скомпилировать код и поместить его sh в ESP.

В качестве альтернативы напишите свой код в Lua.

https://github.com/esp8266/Arduino

https://www.nodemcu.com/index_en.html

...