[Rosbridge] ROSとAndroidの通信(debug run apk file)

一連のブログの最初の部分:apkファイルの構成とコンパイル一連のブログ
2番目の部分:apkファイルのデバッグと実行一連のブログ
3番目の部分:通信のデモンストレーション

私のラボ環境

  • Windows 10(Android仮想マシンの青いスタック)
  • Ubuntu 18.04(ROS)
  • 前のブログは、他の誰かのAndroid apkをコンパイルしています
    。apkをデバッグする必要があり、問題があります。

質問1:APKページが黒い画面にジャンプします

Webページに接続できない場合は、黒い画面とフラッシュバックが表示されます。問題を見つけるには、androidStudioに戻る必要があります。

1.1続行する前に、ASチュートリアルを見て、ASの知識を深めましょう。
Androidスタジオチュートリアルこのシリーズのビデオの最後には、いくつかの一般的なグラドルの問題もあります。1.2を参照できます
。ありがとう:Androidアクティビティが切り替えられたときの黒い画面の解決策を共有する(ジャンプ)

問題2:LANIPでUbuntuに接続できない

ネットワークポートを変更した後、Androidはニュースを公開するためにサブスクライブするためにUbuntuに接続せず、接続は異常でした。

アイデア:websocketが機能する限り、このAndroidソフトウェアは問題あり
ません。ROS.ORGwebsocketルーチン使用してテストします

  • Ubuntuで使用するifconfigと、IPアドレスが10.122.219.46で、Webソケット
    ポート9090が
    実行されていることがわかりまし。エラーは次のとおりです。
WebSocket connection to 'ws://10.122.219.46:9090/' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT

2.1ファイアウォールの問題かもしれないと思います。Ubuntuファイアウォールをオフにしましたが、それでも失敗しました。
ありがとう:ubuntuファイアウォールを開いたり閉じたりする

2.2ソケットを使用する場合は、ubuntu16.04システム通信するようにipアドレスを変更してみてください

2.3別のコンピューターにpingを実行しようとすると、pingが失敗することがわかりました:セキュリティガードをオフにします。
ありがとう:同じLAN上のWindowsとLinuxは互いにpingできません

pingが成功したので、通信できることを意味します。ブラウザを更新して、Fibonacciシーケンスが表示されることを期待します。
今すぐコンピュータを再起動し、ROS.ORG Webソケットの例をもう一度試してみます。
今回は効果があるようで、新しいエラーが報告されます。CONNECTION_REFUSED

roslib.js:2224 WebSocket connection to 'ws://192.168.0.2:9090/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

以前の試みは応答せずに長い間遅れましたが、今回はすぐに拒否しました。それは成功への一歩に近いようです。権限が開かれていない場所がわかりません。

ここでは、モニターが0.0.0.0に変更されていると述べています。これは別のプロジェクトであり、私とは関係がないようです。

2.4 telnetを使用して、telnetを使用して
ウィンドウをテストしてみます
。ubuntuポート9090はubuntuポート9090に接続できません。リッスン状態です。

接続を拒否したり、狂った場合はどうすればよいですか。
一時停止して考えてください...
夕食、再び肝臓に戻ってください。突然、キャンパスネットワークがダウンし、バイドゥはそれを取得できませんでした。
携帯電話でホットスポットをオンにし、IPを192.168.0.15と192.168.0.20に調整すると、テストが突然成功しました。
ただし、この場合、ホットスポットは接続されていてもインターネットにアクセスできません。

参照

ブログAndroidとROSの通信メッセージの配信

おすすめ

転載: blog.csdn.net/GreatSimulation/article/details/108904184