大家好哇,我回内蒙古了了!感觉有点干,有点怀念深圳的湿空气,对了,空调也喜欢。
因为我系列的文章还在做一些前期的规划,所以现在主要以一些领域的研究成果以及开源的代码的解读为主。
今天写的是基于DroneBridge。是一个基于 wifi 的短距离遥测链路。支持 MAVLink、MSP 和 LTM (iNAV)。
Espressif Systems 流行的 ESP32 模块使用了DroneBridge 的固件。可能是与你的无人机、UAV、UAS、地面车辆或你可能称呼它们的任何东西进行通信的最便宜的方式。
它还允许具有可变数据包大小(需要连续数据流)的完全透明的串行到 wifi 直通链路。
ESP32 的 DroneBridge 是一种仅遥测/低数据速率的解决方案。不支持连接到 ESP32 的摄像头,因为它不支持视频编码。而且这个硬件也不支持。
使用的图示是这样的
上层的飞控系统在飞行中会产生不同的数据,更多的时候会加一些负载, 一些数据我们实时的去使用,比如当前的位置,电量,飞机的机位这些。其实我们大部分也就是对这些内容感兴趣。
这个东西使用的时候就是飞控系统将这些信息通过串口发给ESP32,32将这些信息通过WIFI发送出来,其实就是一个数字电台。
下面是里面写好的网络端口
拥有的特性有:
双向链接:MAVLink、MSP & LTM
可达 150m 范围
重量:<10 克
支持:DroneBridge for Android (app)、mwptools、QGroundControl、impload 等。
易于设置:电源连接 UART 连接飞控
通过易于使用的 Web 界面完全可配置
解析 LTM 和 MSPv2 以获得更可靠的连接和更少的数据包丢失
用于连续流(如 MAVLink 或其他协议)的完全透明遥测下行链路选项
可靠、低延迟、重量轻
上传任务等
自动 UDP 单播消息到端口 14550 到所有连接的设备/站。允许其他客户端注册 UDP。客户端必须向 ESP32 的 UDP 端口发送长度 > 0 的数据包。
无线链路的全景
将 ESP32 的 UART 连接到飞控的 3.3V UART。
将飞行控制器端口设置为所需的协议。
(使用稳定的 3.3-5V 电源为 ESP32 模块供电)默认值:UART2(GPIO 16、17 上的 RX2、TX2)
就像这样
还有一个好看的WEB页面
Wifi SSID: 最多 31 个字符
Wifi password: 最多 63 个字符
UART baud rate:与飞行控制器上配置的相同
GPIO TX PIN Number& GPIO RX PIN Number:要用于 TX 和 RX (UART) 的引脚。
UART serial protocol: 基于 MultiWii 或 MAVLink - 配置解析器
Transparent packet size:仅与设置为透明的“串行协议”一起使用。UDP数据包长度
LTM frames per packet:缓存指定数量的数据包,并在一个数据包中一次发送
Gateway IP address:希望 ESP32 接入点拥有的 IPv4 地址
搭配APP使用,可以有远程遥测的能力奥
Web 界面与 ESP32 上的 REST:API 进行通信。还可以使用该 API 设置无法通过 Web 界面选择的配置(例如波特率)。允许轻松集成 DroneBridge for ESP32。
请求设置
代码语言:javascript复制http://dronebridge.local/api/settings/request
请求统计
代码语言:javascript复制http://dronebridge.local/api/system/stats
触发重启
代码语言:javascript复制http://dronebridge.local/api/system/reboot
触发设置更改:发送有效的 JSON
代码语言:javascript复制{
"wifi_ssid": "DroneBridge ESP32",
"wifi_pass": "dronebridge",
"ap_channel": 6,
"tx_pin": 17,
"rx_pin": 16,
"telem_proto": 4,
"baud": 115200,
"msp_ltm_port": 0,
"ltm_pp": 2,
"trans_pack_size": 64,
"ap_ip": "192.168.2.1"
}
这个main的头文件里面,只有一个nvc系统的加载函数
完整的函数定义是这样的的
所有的函数在这里
在下篇文章里面会使用APM飞控来测试系统,也会进行一个简单的源码概览。
今天刷视频,看见开海赶鱼了,不过是万支渔船,上面都是20多岁光头的壮小伙去的,笑死了,贴近以后就上去吃点喝点。
闲时渔,战时兵,天上实弹,地上“登陆”
大家都知道我的名字缩写是YUNSWJ,恰里面有船是YUN,我就觉得很棒。
代码语言:javascript复制https://raw.githubusercontent.com/seeul8er/DroneBridge/master/wiki/db_ESP32_setup.png