TCPIP演示应用程序中的所有示例都是使用自定义程序构建的,该程序设计的网页会在网页更改时触发回调。是否有可能每隔X秒从传感器获取一个值并通过HTTP POST发送数据?
答案 0 :(得分:4)
我现在就这样做。每隔x秒读取传感器的值应该是不言自明的,但使用“POST”编码消息有点棘手。
我做了类似下面的通用数据包:
TCPPutROMString(MySocket, (ROM BYTE*)"POST ");
TCPPutROMString(MySocket, RemoteURL);
TCPPutROMString(MySocket, (ROM BYTE*)" HTTP/1.1\r\nHost: ");
TCPPutROMString(MySocket, ServerName);
TCPPutROMString(MySocket, (ROM BYTE*)"\r\nContent-Length:
[put number of all following characters here]\r\n\r\n");
TCPPutROMString(MySocket, (ROM BYTE*)"variable1=whatever");
TCPPutROMString(MySocket, (ROM BYTE*)"&variable2=whatever");
TCPPutROMString(MySocket, (ROM BYTE*)"&variable3=whatever");
答案 1 :(得分:0)
我很确定您的网页必须从服务器请求数据。我从未见过服务器可以强制更新页面的地方。您可以尝试使用元标记刷新页面或构建Java小程序,以请求包含要读取的传感器数据的动态变量的文件。我还考虑过基于telnet编写自己的协议,将数据推送到在TCP / IP端口上连接到它的应用程序,但是认为这比使用已经支持的HTTP协议要好得多。数据到我的小程序。它可能要快得多,但也需要做更多的工作。这实际上取决于您希望数据更新的频率。如果它在5-10秒的数量级并且您只有一个连接,那么使用HTTP应该可以正常工作。如果您有多个连接并希望每秒更新一次数据,那么您可能希望使用Telnet路由。我没有看到任何这样做的演示应用程序,但是由于我遇到了同样的问题,因此Microchip提供演示应用程序会很好。