Помогите с W5100 EthernetClient
- Войдите на сайт для отправки комментариев
Ср, 04/10/2017 - 16:24
Здравствуйте, взял стандартную библиотеку шилда W5100 EthernetClient. В общем мне нужно передавать данные каждых 30 секунд, на свой сервер, ардуинка отправляет серверу мои данные один раз(успешно), а потом намертво отказывается это делать вновь. Подскажите, как реализовать отправку данных каждых 30 секунд в этом скетче? Спасибо.
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
char server[] = "www.example.com";
IPAddress ip(10, 10, 1, 167);
EthernetClient client;
void setup() {
Serial.begin(9600);
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP.");
Ethernet.begin(mac, ip);
}
delay(1000);
Serial.println("Connecting...");
if (client.connect(server, 80)) {
Serial.println("Connected.");
client.println("GET /add.php?value=12345 HTTP/1.1");
client.println("Host: www.example.com");
client.println("Connection: close");
client.println();
} else {
Serial.println("Connection failed.");
}
}
void loop() {
if (client.available()) {
char c = client.read();
Serial.print(c);
}
if (!client.connected()) {
Serial.println();
Serial.println("Disconnecting.");
client.stop();
while (true);
}
}
VaDoSiQ - так чего ж удивительного, вы запихнули отправку запроса в функцию setup(). которая выполняется только один раз
можно и так оставить, но спаять на 555 таймере одновибратор, который будет раз в 30 секунд на ардуню reset подавать
можно и так оставить, но спаять на 555 таймере одновибратор, который будет раз в 30 секунд на ардуню reset подавать
Чего мелочиться, пусть дергает за ввод электричества в помещение...
А не проще раз в 30 секунд setup вызывать? Ведь пока ни кто не запретил кажется?
Из лупа сетап вызывать? Тоже неплохая идея.
//проверяем не прошел ли нужный интервал, если прошел то if(currentMillis - previousMillis > interval) { // сохраняем время последнего переключения previousMillis = currentMillis; // if you get a connection, report back via serial: if (client.connect(server, 3000)) { Serial.println("connected"); // Make a HTTP request: client.println("GET /add.php?value=12345" HTTP/1.1"); // client.println("Host: 192.168.5.33"); client.println("Connection: close"); client.println(); } else { // kf you didn't get a connection to the server: Serial.println("connection failed"); } } // if the server's disconnected, stop the client: if (!client.connected()) { Serial.println("Stop Disconect"); client.stop(); }Вот циляком, данные с dht11