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
Таким образом, чтобы прочитать строку запроса, вам нужно буферизовать считываемые байты из потока.
Затем вы, вероятно, сериализуете весь буфер в строку и будете выполнять над ними строковые операции, а также свою условную логику....