【问题标题】:WiFly shield + Arduino + auto-connect issueWiFly shield + Arduino + 自动连接问题
【发布时间】:2012-04-26 17:04:00
【问题描述】:

我在 Arduino 上使用 WiFly shield,一切正常:我通过 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 不会重新启动进程。

【问题讨论】:

    标签: wifi arduino processing


    【解决方案1】:

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

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

    我买了一台 UNO R3,现在没有这个问题了。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-06
        • 1970-01-01
        • 2014-10-16
        • 1970-01-01
        相关资源
        最近更新 更多