2016-08-06 3 views
1

Я недавно приобрел Arduino Uno WIFI. В нем говорится, что он уже интегрировал модуль Wi-Fi ESP8266, сделав его WIFI готовым. Я успешно подключился к Wi-Fi и Wi-Fi консоли. Я также использовал тестовый тест WebServer Blink, чтобы поиграть с командами api для команды pin 13 rest api. Проблема, которая возникает, выходит за рамки этого примера. Я искал документацию WIFI, но могу найти только this documentation for the WIFI-Shield, который не работает для моего arduino.Arduino Uno Wifi библиотека не работает

Я вижу, что в примере они импортируют #include <ArduinoWiFi.h>, но я не могу найти эту библиотечную документацию. Есть ли какая-либо другая библиотека, которую я могу использовать с этим новым arduino wifi? У кого-нибудь есть опыт? Я попытался использовать #include <WIFI.h>, но он говорит, что у меня нет wifi sheild.

ОШИБКА:

WebServerBlink.ino:14:23: error: 'class ArduinoWifiClass' has no member named 'status'

КОД:

#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

Существует большая разница между Arduino Uno WIFI (http://www.arduino.org/products/boards/arduino-uno-wifi) от Arduino. org и 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 1.6.x от arduino.cc не работает.

К сожалению, они не очень хорошо развивают свою ардуиновскую библиотеку.

0

У меня была такая же проблема на Linux IDE 1.8.1, и я решил ее так:

получить https://github.com/arduino-org/Arduino/tree/master/libraries/ArduinoWiFi добавить его в ..... Arduino-1.8.1/библиотеки/ArduinoWiFi/ рестарт IDE. Вы сможете открыть и запустить примерный эскиз в разделе Файл-> Примеры-> АрдуиноВиФи.

Я полагаю, что он будет работать с любой IDE на любой платформе.