Telit LE910 4G LTE モジュールを Teensy ボードに接続しています (Arduino が行います)。HTTP リクエスト (POST および GET) を使用して PHP サーバーにデータを送信することはできますが、サーバーが応答するために必要な遅延が原因で、継続的なデータを送信することはできません。
[...]
// 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);
これは単なる例 (ここに書かれています) ですが、私が何をしているかをある程度示しています。上記のコードは、データがサーバー上の .txt ファイルにアップロードされると、モジュールがサーバーに再接続し、別のデータ ポイントを POST するように、while ループ内に配置されることになっています。
明らかに、これらの遅延を回避し、サーバーへのデータをできるだけ早く (データが利用可能になり次第) 解析したいと考えています。これが、4G LTE バージョンを選択した理由です。
遅延を微調整すると、1 秒ほど余分にかかる可能性がありますが、私のプロジェクトには「リアルタイム」で多くのデータ ポイントをプロットすることが含まれているため、非常に時間に敏感です。
4G でサーバーに継続的なデータ ストリームを送信する方法について何か考えはありますか? 一部のデータ ポイントをバッファリングし、FTP を使用してデータをアップロードすることを考えていますが、サーバーへのファイルのアップロードには今よりも時間がかかると思います。
どんな助けでも大歓迎です!