我正在使用Arduino 1.6.13(Windows)编写草图并将草图发送到NodeMCU。 我有一个针对主分支构建的自定义NodeMCU。它包括文件,gpio,http,mdns,mqtt,net,node,tmr,uart,websocket,wifi - 使用nodemcu-build.com。使用esptool.py可以毫无问题地闪现。
我有一个简单的草图,它按下按钮并闪烁指示灯并在服务器端运行一个小的PHP脚本。)
#include <ESP8266WiFi.h>
const char* ssid = "blahblahblah";
const char* password = "blahblahblahblah";
const int ledPin = D7;
const int buttonPin = D2;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(115200);
delay(10);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
}
void loop() {
if (digitalRead(buttonPin) == LOW) {
digitalWrite(ledPin, HIGH);
delay(1000);
http.get("http://192.168.1.128/");
digitalWrite(ledPin, LOW);
}
}
验证结果是:
在函数'void loop()'中: button_check_yapp:24:错误:在此范围内未声明'http' http.get( “http://192.168.1.128/”); ^ 退出状态1 'http'未在此范围内声明
怎么了?我错过了什么?
谢谢。
答案 0 :(得分:1)
您可以使用Arduino代码(如上所述)在Arduino IDE中编程,也可以使用NodeMCU firmware using Lua code编写程序,但不能同时使用两者编程。它是或者。
对于NodeMCU,您可以使用ESPlorer之类的内容上传Lua代码。这样可以实现真正快速的原型设计,因为您只需要刷一次固件。使用Arduino,每次更改代码时,都可以使用芯片制造商SDK将自己的代码编译为新的二进制文件。
免责声明:由于我是目前NodeMCU固件维护者之一,我有偏见。
答案 1 :(得分:0)
编译器出错,因为它不知道http函数或变量。您要么必须创建http变量,要么需要另一个知道http函数的变量。