Teensyボードに接続されているTelit LE910 4G LTEモジュールがあります(Arduinoが行います)。私は、HTTPリクエストを使用して(POSTとGET)私のPHPサーバーにデータを送信することができていますが、サーバーが戻って応答するために、私が原因必要な遅延に連続したデータを送信することはできませんよ。4Gモジュールからサーバーに連続データを送信
[...]
// SOCKET DIAL
LTESerial.print("AT#SD=1,0,80,\"SERVER IP\"\r\n");
delay(5000);
// POST
LTESerial.print("POST /server/index.php?data=");
LTESerial.print(random(1000));
LTESerial.print(" HTTP/1.1\r\n");
LTESerial.print("Host: SERVER IP\r\n\r\n");
delay(5000);
while (getResponse() > 0);
は、これは単に例(ここに書かれています)が、私は何をしているかを幾分示しています。上記のコードは、whileループの中に置かれるはずです。その結果、データがサーバーの.txtファイルにアップロードされると、モジュールはサーバーに再接続し、別のデータポイントをPOSTします。
明らかに、これらの遅延を避け、できるだけ早く(データが利用可能になるとすぐに)サーバーにデータを解析したいと思います。これが私が4G LTEバージョンを選択した理由です。
遅れを調整すると余分な秒が得られるかもしれませんが、私のプロジェクトでは多くのデータポイントを「リアルタイム」にプロットすることが含まれているため、非常に時間が掛かります。
4Gでサーバーに連続データストリームを送信する方法については何か考えてください。私はいくつかのデータポイントをバッファリングすることを考えており、FTPを使ってデータをアップロードしていますが、サーバーにファイルをアップロードすることは今よりも時間がかかるかもしれません。
ご協力いただきありがとうございます。
制限のため、HTTPを使い続けたいと思います。いずれにしても、私はWAMPのプライベートサーバに完全にアクセスできます。つまり、「ソケットリスナ」を開始し、4Gモジュールをこのリスナに向かわせ、無限にデータをストリーミングすることができるはずです。私はPHPを使ってこれを試しましたが、私はまだこれらの遅延を経験しています。ソケットダイヤルを有効にしてPOSTリクエストを送信し続ける方法はありますか? – Rex