【Rosbridge】ROS 与 Android 通信(调试跑通 apk 文件)
系列博客第一篇: 配置编译 apk 文件
系列博客第二篇: 调试跑通 apk 文件
系列博客第三篇: 通信演示
我的实验环境
- Windows 10(android虚拟机蓝叠)
- Ubuntu 18.04 (ROS)
- 上一篇博客编译出别人的安卓apk
该apk有待调试,存在问题。
问题1: APK页面跳转黑屏
如果连接不上网页,那么会黑屏+闪退,这需要返回android Studio 找问题
1.1 先看一下AS 的教程再次加深对于AS的认知再继续。
Android studio 教程 这个系列视频最后也有一些常见gradle问题可以参考
1.2 感谢: Android Activity切换(跳转)时出现黑屏的解决方法分享
问题2:使用局域网IP连不上Ubuntu
更改网络端口之后,安卓没有正常连接上Ubuntu 订阅发布消息,连接异常。
思路:只要websocket 能行,那么这个安卓软件就没问题
使用ROS.ORG websocket例程来测试
- Ubuntu 上使用
ifconfig
查看到IP地址为10.122.219.46
websocket端口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 尝试修改ip地址
使用socket 情况下的windows系统与ubuntu16.04系统通信
2.3 尝试ping另一台电脑,发现ping不通:关安全卫士即可
感谢: 同一局域网windows和linux互ping不通
现在互相ping成功,说明可以进行通信。刷新浏览器,希望斐波那契数列可以出来。
我现在重启电脑,准备再次尝试ROS.ORG websocket例程
这次看起来是有效果的,报了一个新的错误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 尝试测试
windows使用telnet ubuntu 9090端口无法接通
在ubuntu中 9090端口是处于listen状态
就是拒绝连接 我能怎么办 /抓狂
暂停一下思考一下 …
吃了顿晚饭再来肝,这时忽然校园网断了一下,百度都上不去。
我拿手机开热点,把ip调整成192.168.0.15和192.168.0.20测试就忽然都成了。
只不过在这个情况下虽然连接上热点,但是并不能够上网。