大家好,很久没更新了,因为要解决在手机上同时使用wifi和4G信号着实花了我一周的时间。前一节说了下大概构思,可行的办法有三种:
(前情回顾:https://mbb.eet-china.com/blog/3887969-406619.html)
1 自己写个app来中转指令(太麻烦)
2 在手机运行linux系统,然后跑个python来中转指令
3 直接在手机上运行python程序
直接说我折腾了一周的结果,必须是2和3共同作用才能实现指令中转的功能。为啥呢?因为我万万没有想到手机上wifi和4g是不能同时生效的!手机连接wifi后会自动关闭4g!
想象一下,你的手机永远只能连接一个网络,那还谈何指令中转呢?因为你要么只能与Tello通信,要么只能与控制端通信,指令根本就中转不了。不过万事都有解决办法,虽然过程很艰辛。
大概思路参考的这几篇文章,细节上有一些不同:
https://blog.csdn.net/lqxandroid2012/article/details/79071027
https://blog.csdn.net/iteye_21333/article/details/82608747
http://blog.sina.com.cn/s/blog_15e89db360102x7qv.html
简单来讲必须有以下几个步骤(每一个步骤都不容易实现,后面慢慢写详细方法):
1 在手机上安装一个linux系统(linux deploy),并安装python运行环境
2 在手机上安装QPython或pydroid(直接运行在Android的python环境)
3 手机打开WIFI和4G,WIFI如果自动连接了Tello则手动将其断开
4 此时手机应该使用的是4G网络,可以手机浏览器查询一下本机IP
5 在linux deploy上安装iwconfig(一个管理wifi的工具)
6 linux deploy中使用iwconfig连接Tello的wifi,连接后你会发现手机中linux deploy使用的是wifi信号,而手机本身使用的却是4G信号!
那么,此时我们可以在linux deploy里运行一个python程序来控制Tello,在QPython运行另一个程序来接收控制端(公网IP的服务器)的指令并中转给linux deploy。而linux deploy与QPython之间则可以通过127.0.0.1进行通信。网络关系示意图如下:
接下来就是要用代码验证下各个环节是否能通信成功了,这几天整这个整累了,51休息一周继续。后续如何请继续关注我的博客吧。
作者: 布兰姥爷, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3887969.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
lqsgg_332634802 2019-5-6 10:34
curton 2019-4-29 18:49