WiFiWebClient misoli ishlayotgan muammo

Arduino IDE 1.6.7 bilan oldindan o'rnatilgan WiFiWebClient misolini ishlataman. Men Arduino Uno kartasini WiFi Shild Model R3 bilan ishlayapman.

/*
  Web client

 This sketch connects to a website (http://www.google.com)
 using a WiFi shield.

 This example is written for a network using WPA encryption. For
 WEP or WPA, change the Wifi.begin() call accordingly.

 This example is written for a network using WPA encryption. For
 WEP or WPA, change the Wifi.begin() call accordingly.

 Circuit:
 * WiFi shield attached

 created 13 July 2010
 by dlf (Metodo2 srl)
 modified 31 May 2012
 by Tom Igoe
 */
#include 
#include 
#include 

char ssid[] = "Vanilla Sky";// your network SSID (name)
char pass[] = "mypass";   //your network password (use for WPA, or use as key for WEP)
int keyIndex = 0;           //your network key Index number (needed only for WEP)

int status = WL_IDLE_STATUS;
// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
//IPAddress server(74,125,232,128); //numeric IP for Google (no DNS)
char server[] = "www.google.com";   //name address for Google (using DNS)

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
WiFiClient client;

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ;//wait for serial port to connect. Needed for native USB port only
  }

 //check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
   //don't continue:
    while (true);
  }

  String fv = WiFi.firmwareVersion();
  if (fv != "1.1.0") {
    Serial.println("Please upgrade the firmware");
  }

 //attempt to connect to Wifi network:
  while (status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
   //Connect to WPA/WPA2 network. Change this line if using open or WEP network:
    status = WiFi.begin(ssid, pass);

   //wait 10 seconds for connection:
    delay(10000);
  }
  Serial.println("Connected to wifi");
  printWifiStatus();

  Serial.println("\nStarting connection to server...");
 //if you get a connection, report back via serial:
  if (client.connect(server, 80) == 0) {
    Serial.println("connected to server");
   //Make a HTTP request:
    client.println("GET /search?q=arduino HTTP/1.1");
    client.println("Host: www.google.com");
    client.println("Connection: keep-alive");
    client.println();
  }
}

void loop() {
 //if there are incoming bytes available
 //from the server, read them and print them:
  while (client.available()) {
    char c = client.read();
    Serial.write(c);
  }

 //if the server's disconnected, stop the client:
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting from server.");
    client.stop();

   //do nothing forevermore:
    while (true);
  }
}


void printWifiStatus() {
 //print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

 //print your WiFi shield's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

 //print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}

Mening Wi-Fi ekranim Vanilla Sky ga ulangan bo'lsa-da, HTTP so'rovini qabul qilmaydi (quydagi rasmga qarang). Bu erda nima yanglishmoqda?

enter image description here

0

1 javoblar

Keling, uni yiqitaylik :)

Iltimos dasturiy ta'minotni yangilang

Kengashingizning dasturiy ta'minotini yangilash uchun bu erga tashrif buyuring. Sizning asl xabaringiz fw versiyasini ko'rsatmaydi, ammo kutubxona ma'lumotlarini eskirgan bo'lishi mumkin va eskirgan fw ishlamaydi.

https://www.arduino.cc/en/Hacking/WiFiShieldFirmwareUpgrading

Bundan tashqari sizning dasturiy ta'minotingizni aniqlashda yordam berish uchun uni loyihangizga qo'shing:

  Serial.print("Firmware version: ");
  Serial.println(WiFi.firmwareVersion());

Mening taxminimcha, bu 1.1.0 dan kam. Arduino IDE eskirgan bo'lsa va boshqaruv kengashi yangi bo'lsa, QAYD EQUAL TO (! =), Dasturiy ta'minotning kutubxonaga qaraganda yangi bo'lishi va bu ham muammo bo'lishi mumkin.

Faqat b/s routerga ulanadi, demak u hali ham to'g'ri aloqa o'rnatishi mumkin degani emas.

Oxirgi tomondan olingan bir eslatma, Arduino IDE ning ayrim versiyalari WiFi ekraniga sketchni o'rnatish bilan bog'liq muammoga aylangan. Arduino versiyasi bilan tezkor qidiruv va keyinchalik Wifi Shildni ulanmagani sizni to'g'ri yo'nalishga olib kelishi mumkin. masalan, Arduino x.xx WiFi qalqoni ulanish o'rnatilmagan

Umid qilamanki bu yordam!

1
qo'shib qo'ydi
Firmware versiyasi 1.0.0 va u murakkab dastur uchun foydalanmasangiz, u tashvish emas. 1.0.0 kamida get so'rovlarini bajarishi kerak. Men Arduino Uno'ni Wi-Fi qalqoni Model R3 bilan foydalanmoqdaman. IDE versiyasi 1.6.7
qo'shib qo'ydi muallif DS9, manba