WiFly屏蔽+ Arduino +自动连接问题

时间:2012-04-14 17:59:13

标签: wifi arduino processing

我正在使用带Arduino的WiFly屏蔽,一切正常:我通过USB将我的skecth上传到Arduino,连接9V电池,断开USB连接,wifi模块传输一切正常(它传输数据到我的网络服务器。)

当电池电量耗尽时,我换上另一块电池,但wifi / arduino不再与我的服务器通讯..

我是Arduino的新手,我不明白是否每次电源关闭Arduino都会丢失程序,或者只是因为wifi无法自动连接......

这是软件问题还是硬件? 如果软件我做错了什么?

这是我的草图示例 - 我只是将一个字符串发送到我的服务器:

#include "WiFly.h"
#include "Credentials.h" // includes ny user:pass wifi network

Client client("[***myserverip***]", 80);

void setup() {      
  Serial.begin(9600);

  WiFly.begin();

  if (!WiFly.join(ssid, passphrase)) {
    Serial.println("Association failed.");
    while (1) {
      // Hang on failure.
    }
  }  

  connectServer();
}

void loop() {
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  } 

  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
    delay(60000); // check every minute
    connectServer();
  }
}

void connectServer() {  
  Serial.println("connecting...");

  if (client.connect()) {
    Serial.println("connected");
    String query = "GET /arduino/test?q=testString  HTTP/1.0";

    client.println(query);
    client.println();
  } else {
    Serial.println("connection failed");
  }
}

所以一切正常但是当我拔掉电源并将其插回时,arduino并没有重启过程。

2 个答案:

答案 0 :(得分:4)

我自己找到了解决方案 - 问题出在硬件上。

问题出在我的Arduino UNO R2中,有一个已知的错误。

我买了一台UNO R3,我不再有这个问题了。

答案 1 :(得分:3)

因为当使用外部电源时,Arduino板没有板载电源复位,所以在供电后你总是需要重置它。您可以在复位引脚上放置一个电容来消除此问题。但如果您使用USB作为电源,那么USB控制器将重置Arduino,因此在这种情况下您将永远不会遇到此问题。