NodeMCU - 未在此范围内声明错误“http”

时间:2016-12-11 18:39:32

标签: http nodemcu

我正在使用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'未在此范围内声明

怎么了?我错过了什么?

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用Arduino代码(如上所述)在Arduino IDE中编程,也可以使用NodeMCU firmware using Lua code编写程序,但不能同时使用两者编程。它是或者。

对于NodeMCU,您可以使用ESPlorer之类的内容上传Lua代码。这样可以实现真正快速的原型设计,因为您只需要刷一次固件。使用Arduino,每次更改代码时,都可以使用芯片制造商SDK将自己的代码编译为新的二进制文件。

免责声明:由于我是目前NodeMCU固件维护者之一,我有偏见。

答案 1 :(得分:0)

编译器出错,因为它不知道http函数或变量。您要么必须创建http变量,要么需要另一个知道http函数的变量。