低成本DIY:4G/5G网络遥控无人机-无人车-图传/数传/遥控一体!

2023-05-16

  •  方案概述

无人机/无人车/无人船等机器 通过数据线连接安卓手机,手机4G上网于是就可以实现超远程图传、数传和遥控。 再在控制端手机上通过“2R酷玩”App远程操控。

如果你本来就有一套常规遥控器控制的无人机/无人车的东西,那么这个方案不需要你再买什么新设备,只需要闲置的安卓手机即可。至于要用到的App软件,完全是免费的。

这么低的成本,在App的支持下,得到的效果却是非常好的:视频延迟最低只有130毫秒左右,数传延迟不到30毫秒。App功能强大,支持志同道合的一群伙伴在线围观你的机器,文字语音实时互动,绝对玩得开心!

貌似软件不能直接上传,请加【QQ群: 221890987 】获取最新软件App以及互相交流。

 

  • 所需硬件
  1. APM或Pixhawk飞控
  2. USB-OTG转接线
  3. 两部安卓手机,一部放无人机上作为受控端(称之为机器端),另一部用做控制端。其中机器端安卓手机需支持OTG功能。

 

  • 所需软件
  1. 电脑上用的MissionPlanner软件,用于设置飞控。
  2. 机器端安卓手机上安装的“酷玩机器”App
  3. 控制端安卓手机上安装的“2R酷玩”App

 

  • 具体步骤
  1. 控制端使用

安装“2R酷玩”App,然后用微信一键登录或QQ一键登录

登录就进入了【在线酷玩】界面, 列表中就是能连接遥控的机器

 

 

有很多种不同类型的机器:固定翼、多旋翼、无人车、无人船、潜水器。。。

点击一个机器,就能打开实时视频画面, 具体操作界面则根据机器类型不同而不同:

 飞机FPV空战的界面:

2. 机器端安装设置

机器端安卓手机安装“酷玩机器”App。

安装后登录,不能用微信或QQ一键登录,需要用机器Key登录。

Key以后可以用App一键生成,目前暂时人工生成,请联系群主QQ:84277775,告诉群主你的机器类型(固定翼?多旋翼?无人车?),机器昵称,还有你控制端“2R酷玩”的用户ID。 群主会马上给你发送key文件。

然后请把Key文件改名为“game_machine_key”,存放到机器端安卓手机的存储卡根目录下,如下所示:

 

然后,选择“手机登录”。手机号请填写“000”,密码为空。

第一次点“登录”,会弹出对话框,请求访问存储卡权限,请授权

然后,再次点“登录”就可以进入App了

在界面底部点“我的”,然后点最右上角,修改资料,请上传机器封面照片、头像、编辑个性签名(这样大家能在App里面看到,促进社群互动,可以玩得更开心些),没有封面和头像的机器,在“2R酷玩“控制端App的列表里面不能显示哦!有问题请联系群主QQ:84277775

 

 

然后是机器端App的一个重要设置:

点击“机器主播设置”,

 

 

请务必正确选择你的机器类型:

无人车(普通无人船也是这个)

无人机-固定翼

无人机-多旋翼

 

 

然后,连接串口请填写“otg”

如果你的安卓手机不支持OTG功能,那就买一个FT311D吧,FT311D具体怎么接线问群主。

 

最后,记得保存设置

 

都设置好后,把“酷玩机器”App彻底退出(可以在任务管理器中结束它),

用OTG转接线连接机器端安卓手机和飞控的USB口。

此时手机会弹出如下对话框:

探测到该USB设备即打开“酷玩机器”App,

如果还有其它的App关联该USB设备,则必须先卸载掉其它App,否则usb数据连接会有问题。

 

(注意,连接Pixhawk飞控貌似会弹出2次对话框,请在第一次取消,第二次点确定)

 

点“确定”就启动酷玩机器App,

到“互动直播”界面,点右上方的 开播 按钮(像一个摄像机的那个),

先微信分享或qq分享给你志同道合的伙伴,叫他们来围观,

“开始直播”。。。就可以联网上线了

 

3. 飞控设置

飞控参数设置首先要确保usb串口的波特率是115200(默认是的),这样才能成功连接手机:

SERIAL0_BAUD    115

然后是地理围栏设置。

 

(1)固定翼

固定翼无人机的地理围栏设置,用电脑连接飞控usb口,在MissionPlanner软件中的“飞行计划”界面,要设定返回点,并画多边形。

如果MissionPlanner是汉化版本:

MissionPlanner 的Flight Planner页面就是“飞行计划”页面。

设置折返点,是点击右键,从弹出的菜单中选择 [极限范围] -> [设置返回位置]。

画多边形,右键菜单 [绘制多边形] -> [添加多边形点]。

最后写入飞控,右键菜单 [极限范围] -> [上载]。

 

 

 

 

本方案要求:

围栏折返点“GeoFence Return Point 尽量在Home 附近,并且二者一定要在多边形边界的中心附近;另外,多边形边界应该大致是圆形的。这样“2R酷玩”App的圆形雷达界面才能正常工作。

 

然后在参数列表中确认如下参数

FENCE_ACTION          :1  (围栏触发后,GUID模式返回)

FENCE_AUTOENABLE  :0   (不要自动开启围栏)

FENCE_CHANNEL         :6  (通过遥控器通道6控制围栏开启)

FENCE_MAXALT           :130  (围栏限制最高多少米)

FENCE_MINALT            :30   (围栏限制最低多少米)

FENCE_RET_RALLY       :0     (不使用集结点,而是围栏返回点)

FENCE_RETALT            :50   (围栏触发返回高度,50m)

ALT_HOLD_RTL            :5000  (RTL返回高度,50m)

 

提示:把遥控器的通道6设为地理围栏的开关。在飞机起飞或降落阶段,把通道6拨到低位,以关闭地理围栏功能;当飞机进入地理围栏的限制高度范围后,再把通道6拨到高位,开启地理围栏功能。

 

【固定翼的飞行模式设置】

建议使用遥控器的三段开关来控制飞行模式切换:

低位:RTL模式     (关控时自动跳到这个模式 飞机返回)

中位:FBW-A模式  (这个模式下,App才有控制权)

高位:Manual模式 (飞控固定的不能改)

 

【关于遥控器和App的控制权】

只有当固定翼飞机处于FBW-A飞行模式,并且通道6开启了地理围栏时,控制端App才能操控飞机。

所以,在现场可以随时通过遥控器切换到RTL飞行模式或通道6拨到低位,从而剥夺App的操控权。

 

 

 

(2)多旋翼

多旋翼地理围栏设置比较简单,就是限制高度和半径,触发后RTL返回或Land。

 

 

开启地理围栏后,飞行器的GPS需要定好位置,并且HDOP的精度要小于1.2才能解锁。

 

【多旋翼的飞行模式设置】

建议使用遥控器的三段开关来控制飞行模式切换:

低位:Loiter悬停模式     (这个模式下,App才有控制权)

中位:Stabilize自稳模式

高位:Alt-Hold定高模式

 

【关于遥控器和App的控制权】

只有当多旋翼无人机处于Loiter飞行模式时,控制端App才能操控飞机。

所以,在飞行现场可以随时通过遥控器切换到其它飞行模式,从而剥夺App的操控权。

 

(3)无人车/无人船

只有当无人车/无人船处于Manual模式时,控制端App才能操控机器。

 

APM飞控输出端(output)1接转向舵机,输出端(output)3接电调。

此外,可以接2路舵机(摄像头云台)和1路继电器(控制车灯)。

具体是APM的A10接云台俯仰舵机,A11接云台横滚舵机,A9接继电器。

注意:舵机请单独5V供电而不要用飞控供电。也就是舵机的信号线和负(黑)线接到飞控,舵机的正(红)线和和负(黑)线接 5V电源(电调BEC输出或另外的5V UBEC)

 

请加【QQ群: 221890987 】获取最新软件App以及互相交流。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

低成本DIY:4G/5G网络遥控无人机-无人车-图传/数传/遥控一体! 的相关文章

  • 头文件和库函数的区别

    1 头文件中有函数的申明 xff0c 库文件实现函数的定义 比如 xff0c printf函数 使用时应包括stdio h xff0c 打开stdio h你只能看到 xff0c printf这 个函数的申明 却看不到printf具体是怎么实
  • C语言--字符串的截取

    今天碰到了一个字符串截取的功能实现问题 xff0c 比较常见所以就做下记录 一般的实现是这样的 xff1a include lt stdio h gt include lt string h gt int main void char de
  • 使用 JWT 让你的 RESTful API 更安全

    传统的 cookie session 机制可以保证的接口安全 xff0c 在没有通过认证的情况下会跳转至登入界面或者调用失败 在如今 RESTful 化的 API 接口下 xff0c cookie session 已经不能很好发挥其余热保护
  • CAN报文解析—案例

    1 CAN报文定义 CAN报文是指发送单元向接受单元传送数据的帧 我们通常所说的CAN报文是指在CAN线 xff08 内部CAN 整车CAN 充电CAN xff09 上利用ECU和CAN卡接收到的十六进制报文 2 CAN协议中CAN报文种类
  • 单片机中,intrins.h头文件中各函数详解:空指令_nop_(),移位函数_crol_、_cror_

    intrins h 在 C51单片机编程中 xff0c 我们经常使用到 nop 延时一个机器周期 如果晶振是12M xff0c 则延时1 us xff0c 该空函数在头文件intrins h中 头文件 INTRINS H 中的函数使用很方便
  • Linux 下模拟Http 的get or post请求(curl和wget两种方法)

    一 get请求 xff1a 1 使用curl命令 xff1a curl 34 http www baidu com 34 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl i 34 http www baidu co
  • QT入门基础认知(三个常用类、三种对话框类型、信号和槽)

    1 简单介绍 xff1a 1 1 三个常用类 xff08 Qwidget类 QDialog类 QMainwindow类 xff09 Qwidget类 xff1a 继承与QObject类和QPaintdevice类 xff0c 所有用户界面对
  • socket函数的domain、type、protocol解析

    socket 函数的 domain type protocol 解析 lxg 64 2015 04 09 内核中的 socket 概览 图一 xff1a socket 概览 内核中套接字是一层一层进行抽象展示的 xff0c 把共性的东西抽取
  • code的用法

    今天写程序的时候用了const xff0c 想到之前遇到的code的用法 xff0c 那是第一次遇到code的那样的用法 xff0c 查了一下 xff0c 解释如下 xff1a 在单片机使用C语言进行编程的时候 xff0c 经常使用到cod
  • Linux的system()和popen()差异

    Linux的system 和popen 差异 1 system 和popen 简介 在linux中我们可以通过system 来执行一个shell命令 xff0c popen 也是执行shell命令并且通过管道和shell命令进行通信 sys
  • HTTP的303、307状态码

    之前在 http权威指南 中看到了HTTP的307状态码 xff0c 当时因为没有找到可以实验的网站所以没有比较深的印象 xff0c 今天在排查一个问题的时候恰巧遇到了HTTP 1 1 307 TemporaryRedirect xff0c
  • 如果获得页面跳转的最终URL

    最近做一个小功能 xff0c 就是获取一个页面经过跳转后的最终页面URL xff0c 这里的跳转方式包含但不仅限于HTTP 301 302 js meta refresh 下面是我想到的三种可能的解决方式 xff0c 可能会有更优的方法 x
  • pykafka的NoBrokersAvailableError原因

    今天在使用pykafka的时候遇到一个问题 xff0c 我的kafka和zookeeper运行在一台机器上面 xff0c 然后应用程序跑在另外一台机器上面 当我调用pykafka中的KafkaClient zookeeper host 61
  • pyspark的pickle.PicklingError

    今天在用pyspark的时候在一个类中调用rdd的map的时候报错 xff0c 代码如下 xff1a rdd 61 df filter size df emission gt span class hljs number 50 span r
  • 一行代码引发的"血案"

    昨天在使用pykafka的时候又遇到了之前我遇到过的PartitionOwnedError ConsumerStoppedException异常 xff0c 关于这个异常我之前写过一篇分析的文章 链接在这里 xff0c 我自认为之前应该是把
  • X-Pack的machine learning

    如何使用X Pack的machine learning 最近在使用X Pack中的机器学习功能 xff0c 主要的就是利用非监督的时间序列模型 xff0c 用来检测流量的变化 xff0c 关于X Pack这块的文章好像可以参考的比较少 xf
  • C++自己写的HTTP类

    发起HTTP请求 define NORMAL CONNECT INTERNET FLAG KEEP CONNECTION define SECURE CONNECT NORMAL CONNECT INTERNET FLAG SECURE d
  • 知识总结--checksum校验和算法

    在项目开发过程中 xff0c 经常会使用到checksum检验和 xff0c 但是在不同的协议对接过程中发现checksum算法还是有差异的 本文的目的是对常用的checksum算法进行总结 xff0c 并不断完善和补充 xff0c 以备后
  • 让你编码嗨到停不下来的8个VSCode插件

    经作者授权后翻译成中文 xff0c 原文链接 xff1a https levelup gitconnected com 7 vs code extensions that make you want to keep coding forev
  • 51单片机数组的定义方法(code与data的作用)

    数组前不加 code 或 data xff0c 则默认将数组存放在程序存储器中 xff1b code 指定数据是存储在代码区 xff0c 数据是在编程的时候跟代码一起写入代码存储器 xff0c 运行过程中不能改变 xff1b xdata 指

随机推荐