我正在使用带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并没有重启过程。
答案 0 :(得分:4)
我自己找到了解决方案 - 问题出在硬件上。
问题出在我的Arduino UNO R2中,有一个已知的错误。
我买了一台UNO R3,我不再有这个问题了。
答案 1 :(得分:3)
因为当使用外部电源时,Arduino板没有板载电源复位,所以在供电后你总是需要重置它。您可以在复位引脚上放置一个电容来消除此问题。但如果您使用USB作为电源,那么USB控制器将重置Arduino,因此在这种情况下您将永远不会遇到此问题。