私は Arduino で WiFly シールドを使用していますが、すべて正常に動作しています。USB 経由でスケッチを Arduino にアップロードし、9V バッテリーを接続し、USB を切断すると、wifi モジュールがすべてを正常に送信します (データを Web サーバーに送信します)。 )。
バッテリーが切れたら、別のバッテリーと交換しますが、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 はプロセスを再起動しません。