TCPIP デモ アプリのすべての例は、Web ページが変更されたときにコールバックをトリガーする Web ページを設計するカスタム プログラムを使用して構築されています。X 秒ごとにセンサーから値を取得し、HTTP POST 経由でデータを送信することは可能ですか?
2 に答える
私は今これをします。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");
あなたのウェブページはサーバーからのデータを要求する必要があると確信しています。サーバーがページの更新を強制できる場所を見たことがありません。メタ タグを使用してページを更新するか、Java アプレットを構築して、読み取りたいセンサー データの動的変数を含むファイルを要求することができます。また、TCP/IP ポートで接続されたアプリケーションにデータをプッシュする telnet に基づく独自のプロトコルを作成することも検討しましたが、提供するために既にサポートされている HTTP プロトコルを使用するよりもはるかに優れているとは言えませんでした。私のアプレットへのデータ。おそらくはるかに高速ですが、より多くの作業が必要になります。それは、データを更新する頻度に大きく依存します。5 ~ 10 秒程度で、接続が 1 つしかない場合は、HTTP を使用すると問題なく動作するはずです。複数の接続があり、1 秒ごとにデータを更新したい場合は、Telnet ルートを使用することをお勧めします。これを実行するデモ アプリケーションは見たことがありませんが、あなたと同じ問題を抱えていたので、Microchip がデモ アプリケーションを提供してくれると嬉しいです。