简体   繁体   English

Arduino Uno + WifiShield:Telnet错误“连接被拒绝”

[英]Arduino Uno + WifiShield: Telnet Error “Connection Refused”

I've got a problem with my new Arduino Uno + WifiShield. 我的新Arduino Uno + WifiShield出了问题。 I want to test the example code, delivered by arduino.cc or the Arduino-IDE "WifiChatServer": 我想测试arduino.cc或Arduino-IDE“WifiChatServer”提供的示例代码:

#include <SPI.h>
#include <WiFi.h>

char ssid[] = "ssid"; //  your network SSID (name) 
char pass[] = "password";    // 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;

WiFiServer server(23);

boolean alreadyConnected = false; // whether or not the client was connected previously

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600); 
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo 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);
  } 

  // 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);
  } 
  // start the server:
  server.begin();
  // you're connected now, so print out the status:
  printWifiStatus();
 }


void loop() {
 // wait for a new client:
  WiFiClient client = server.available();


  // when the client sends the first byte, say hello:
   if (client) {
    if (!alreadyConnected) {
      // clead out the input buffer:
      client.flush();    
      Serial.println("We have a new client");
      client.println("Hello, client!"); 
      alreadyConnected = true;
    } 

    if (client.available() > 0) {
      // read the bytes incoming from the client:
      char thisChar = client.read();
       // echo the bytes back to the client:
      server.write(thisChar);
      // echo the bytes to the server as well:
      Serial.write(thisChar);
    }
  }
}


void printWifiStatus() {
  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");
}

You can also lookup the code here: http://arduino.cc/en/Tutorial/WiFiChatServer 您还可以在此处查找代码: http//arduino.cc/en/Tutorial/WiFiChatServer

I didn't make any changes except entering my home wifi connection-data. 除了输入我的家庭wifi连接数据之外,我没有做任何更改。 After uploading the code onto my arduino, the controller connects to the wifi and prints his ip-address, assigned by my router. 将代码上传到我的arduino后,控制器连接到wifi并打印他的ip-address,由我的路由器分配。 Also the arduino is listed in the table of connected devices on the router. arduino也列在路由器上连接设备表中。

Ping the arduino from my laptop is successful! 从我的笔记本电脑ping arduino是成功的!

Trying to connect to the arduino via telnet (putty) the error "Connection Refused" is displayed. 尝试通过telnet(putty)连接到arduino,显示错误“Connection Refused”。 I tried to connect with disabled firewall on my laptop, with another port (8888/9999) and with my smartphone, everytime the same error. 我尝试连接我的笔记本电脑上的禁用防火墙,使用另一个端口(8888/9999)和我的智能手机,每次都出现同样的错误。

Here's the wireshark capturing of a simple ping and the telnet-request: http://imagizer.imageshack.us/v2/800x600q90/34/ayo5.png 这是wireshark捕获一个简单的ping和telnet请求: http//imagizer.imageshack.us/v2/800x600q90/34/ayo5.png

Has anyone an idea to solve the problem? 有谁有想法解决这个问题?

I had some similar problems (with the official wifi shield). 我有一些类似的问题(与官方的wifi盾)。 I solved it by using an earlier version of the Arduino IDE. 我使用早期版本的Arduino IDE解决了这个问题。 I downgraded from 1.0.5 to 1.0.3 and it worked. 我将其从1.0.5降级到1.0.3并且有效。 Perhaps you have the same problem? 也许你有同样的问题?

It might atleast be worth a try! 它至少值得一试!

Using Arduino 1.05 i¡ve got the same problems. 使用Arduino 1.05我遇到了同样的问题。 I just copied WiFi library from Arduino 1.0.4 into Arduino 1.0.5 and it works. 我刚刚将Arduino 1.0.4中的WiFi库复制到Arduino 1.0.5中,它可以工作。

I seem to have copied an example-code, where the server.begin(); 我似乎已经复制了一个示例代码,其中server.begin(); was missing. 失踪。 So make sure your implementation is complete. 因此,请确保您的实施已完成。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM