我最近购买了Arduino Uno WIFI。它说它已经集成了ESP8266 wifi模块,使其成为WIFI准备就绪。我已成功连接到我的wifi和wifi控制台。我还使用测试WebServer Blink测试来使用pin 13 rest api命令。我遇到的问题超出了这个例子。我搜索了WIFI文档,但只能找到{armino不适用的this documentation for the WIFI-Shield。
我在示例中看到他们导入#include <ArduinoWiFi.h>
但我找不到这个库文档。我可以使用这个新的arduino wifi吗?有任何人对此有经验吗?我曾尝试使用#include <WIFI.h>
,但它说我没有wifi sheild。
错误:
WebServerBlink.ino:14:23: error: 'class ArduinoWifiClass' has no member named 'status'
CODE:
#include <Wire.h>
#include <ArduinoWiFi.h>
/*
on your borwser, you type http://<IP>/arduino/webserver/ or http://<hostname>.local/arduino/webserver/
http://labs.arduino.org/WebServerBlink
*/
void setup() {
pinMode(13,OUTPUT);
Wifi.begin();
Wifi.println("WebServer Server is up");
Wifi.println(Wifi.status()); //Line 14:23:: This will not work
}
void loop() {
while(Wifi.available()){
process(Wifi);
}
delay(50);
}
void process(WifiData client) {
// read the command
String command = client.readStringUntil('/');
// is "digital" command?
if (command == "webserver") {
WebServer(client);
}
if (command == "digital") {
digitalCommand(client);
}
}
void WebServer(WifiData client) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<html>");
client.println("<head> </head>");
client.print("<body>");
client.print("Click<input type=button onClick=\"var w=window.open('/arduino/digital/13/1','_parent');w.close();\"value='ON'>pin13 ON<br>");
client.print("Click<input type=button onClick=\"var w=window.open('/arduino/digital/13/0','_parent');w.close();\"value='OFF'>pin13 OFF<br>");
client.print("</body>");
client.println("</html>");
client.print(DELIMITER); // very important to end the communication !!!
}
void digitalCommand(WifiData client) {
int pin, value;
// Read pin number
pin = client.parseInt();
// If the next character is a '/' it means we have an URL
// with a value like: "/digital/13/1"
if (client.read() == '/') {
value = client.parseInt();
digitalWrite(pin, value);
}
// Send feedback to client
client.print(F("Pin D"));
client.print(pin);
client.print(F(" set to "));
client.print(value);
client.print(EOL);
}
答案 0 :(得分:0)
来自arduino的Arduino Uno WIFI(http://www.arduino.org/products/boards/arduino-uno-wifi)与来自arduino的Arduino WiFi Shield(www.arduino.cc/en/Main/ArduinoWiFiShield)之间存在很大差异。的 CC 强>
这是您的Arduino Uno WIFI的一个很好的起点: http://www.arduino.org/learning/getting-started/getting-started-with-arduino-uno-wifi
下一个重点是,您需要使用Arduino 1.7(来自arduino.org),尤其是OTA编程。来自arduino.cc的Arduino 1.6.x无法正常工作。
不幸的是,他们并没有真正发展他们的arduinowifi库。
答案 1 :(得分:0)
我在Linux IDE 1.8.1上遇到了同样的问题,我解决了这个问题:
获取https://github.com/arduino-org/Arduino/tree/master/libraries/ArduinoWiFi 添加它..... arduino-1.8.1 / libraries / ArduinoWiFi / 重启IDE。您可以在File-&gt; Examples-&gt; ArduinoWiFi下打开并运行示例草图。
我认为它适用于任何平台上的任何IDE。