https://github.com/jakkra/mars-roverを運転するためのコントローラー。電話でテレマティクスグラフを表示するためのWebページhttps://github.com/jakkra/rover-mission-control。
APをセットアップすると、ローバーが範囲の場合、ローバーは自動的に接続されます。ローバーは、ロラまたはウェブソケットのいずれかにジョイスティックとスイッチ状態を送信することで制御されます。ローバーがAPに接続されていない場合、代わりにLORAを介してデータが送信されます。この動作をオーバーライドし、ローバーがAPに接続されている場合でも、常にLORAにデータを送信するスイッチがあります。
ローバーがローカルAPに接続されている場合、RoverがWiFiの範囲外にある場合は、WebSocketまたはLORA上にテレマティクスデータを送信します。次に、接続されている場合、データは電話に渡されます。ローバーが近くにいると、テレマティクスがwifiに約10/s到着すると、範囲の外側の場合、テレマティクスはロラに輸送されます。 LORAモジュールは真の二重データ転送を実行できないため、送信と受信を切り替える必要があります。つまり、ジョイスティックデータを送信する際にローバーから送信されるテレマティクスが失われます。実験から、Lora Telematicsが約500ミリ秒ごとに到着します。
電話はコントローラーAPに接続して、ローバーのテレマティクスを表示できます。電話はコントローラーへのWebSocket接続を開き、ローバーが送信するテレマティックデータを受信します。 Telematics Webサイトは、https://github.com/jakkra/rover-mission-controlにあります。
Full Fusion 360プロジェクトはCADフォルダーにあります。
ピンマッピングについては、https://github.com/jakkra/rovercontroller/blob/master/main/controller_input.c#l46を参照してください





https://github.com/espressif/esp-idfの命令に従ってESP-IDFをセットアップしてから、 idf.py buildを実行するか、vscode拡張機能を使用してください。
リクエストに応じてTBD。
git apply esp-idf-patch/no_delay.patch 。これにより、TCPデータをlwipバッファリングしてチャンクで送信する代わりに、書き込みごとにバッファーをフラッシュするため、TCPの遅延が減少します。