Периодическое чтение с сервера Arduino
У меня есть Arduino, подключенный к RGB-экрану. Я хочу периодически запрашивать у своего сервера значения RGB. В основном я работал с помощью Ethernet Shield, но получение значения занимает слишком много времени (~ 500 мс). Я действительно хочу очень быстро читать значения с моего сервера в бесконечном цикле.
Можете ли вы дать мне какие-нибудь советы о том, как мне улучшить свой код?
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server(192,168,1,151);
IPAddress ip(192, 168, 1, 177);
EthernetClient client;
void setup() {
Serial.begin(9600);
while (!Serial) {
; // ждем подключения последовательного порта. Требуется только для Леонардо.
}
// запускаем Ethernet-соединение:
if (Ethernet.begin(mac) == 0) {
Ethernet.begin(mac, ip);
}
delay(1000);
if (client.connect(server, 80)) {
client.println("GET /rgb.php HTTP/1.1");
client.println("Host: 192.168.1.151");
client.println("Connection: close");
client.println();
}
else {
Serial.println("connection failed");
}
}
void loop()
{
if (client.available()) {
char c = client.read();
... read from Server
}
if (!client.connected()) {
client.stop();
if (client.connect(server, 80)) {
client.println("GET /rgb.php HTTP/1.1");
client.println("Host: 192.168.1.151");
client.println("Connection: close");
client.println();
}
}
}
@, 👍0
Обсуждение0
Смотрите также:
- Как получить HTTPS на Arduino?
- Клиент MQTT на Arduino + SIM900
- Arduino Ethernet Shield при использовании контактов Arduino Mega
- Удаленная загрузка кода на плату Arduino через интернет
- Экран Ethernet не получает IP
- Где я могу найти лучшую схему выводов для платы «Arduino Ethernet»?
- Ошибка компиляции: "cannot declare 'client' to be of abstract type 'Client'"
- Проблема с Ethernet-экраном W5100 на пользовательской плате
вы можете использовать протокол mqtt, он поддерживает push-уведомления вместо опроса и намного легче, @Jossef Harush