Arduino читать получить значения после? в URL с сетевым экраном

Извините, если об этом уже спрашивали, но я ничего не могу найти в интернете. Я просто хочу разместить страницу в Arduino Ethernet Shield, и когда я захожу на нее из браузера с параметрами Get (например, http://xxx.xxx.xx.xx/led.html?red=255,green=0,blue=255) изменить, чтобы изменить цвет светодиода. Я не могу найти, как отправить данные из браузера в Arduino.

1 ответ

Ответ предполагает использование библиотеки Ethernet (Ethernet.h), которая обеспечивает интерфейс для Client а также Server степень концептуализации низкоуровневого ввода-вывода и буферизации входных данных и контекста.

В следующем фрагменте кода (примера кода на http://arduino.cc/en/Tutorial/WebServer)

...
char c = client.read();
Serial.write(c);
...

линия char c = client.read() берет байт из потока запросов и присваивает его типу char, затем сериализует этот charbyte в строку, где он выполняет условную логику над ним.

Условная логика этого примера заботится только о том, чтобы прочитать, является ли символ возврата \n в пустой строке, но байты, которые читаются (на каждой итерации), байт за байтом, фактически составляют запрос RAW.

Как минимум, запрос RAW HTTP GET выглядит следующим образом:

GET /?first=John&Last=Doe HTTP/1.1 
Host: localhost

Таким образом, чтобы прочитать строку запроса, вам нужно буферизовать считываемые байты из потока.

Затем вы, вероятно, сериализуете весь буфер в строку и будете выполнять над ними строковые операции, а также свою условную логику....

Другие вопросы по тегам