提交HTML表单实际上调用了HTTP协议的POST或GET方法 . 该协议是人类可读的 .
来自w3schools的HTTP请求示例:
POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
这是你将进入arduino缓冲区的内容 . 您只需搜索name1 = pattern并读取值并采取相应措施即可 .
在下面的例子中,我读取变量s和e的值 .
word len = ether.packetReceive();
word pos = ether.packetLoop(len);
if (pos) {
bfill = ether.tcpOffset();
char* socket = strstr((char *)Ethernet::buffer + pos, "?s=");
if(socket != 0){
byte s = getIntArg(socket, "s");
byte e = getIntArg(socket, "e");
Serial.println("Request");
Serial.println(s);
Serial.println(e);
PlanActions(s, e)
}
此请求的表单如下所示:
TV
HiFi
在示例中,我从arduino发送简单的表单页面,但您可以在任何地方找到该页面 . 它可以在本地计算机或Web服务器上 . 只需将动作更改为