ExpressLRS开源之接收机固件编译烧录步骤

这篇具有很好参考价值的文章主要介绍了ExpressLRS开源之接收机固件编译烧录步骤。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 源由

ExpressLRS是航模上目前比较流行的开源发射机和接收机开源代码之一。

其目的旨在提供最好的完全开放、高刷新率的无线电控制链路,同时以低延迟保持该速率下的最大可实现范围,在900MHz和2.4GHz频率下对硬件提供大量支持。

这个也是笔者一直使用的RC控制链路。从无人机的控制电传,图传以外,RC链路控制是非常重要的链路。

不过这里有一个非常痛苦的事情,就是编译。为什么???? 耗时

因此,本文主要的出发点是确保操作步骤的正确性,并针对常见问题进行必要且快速的解决方法。

注:如果想要更加方便且快速的编译,就需要了解更多关于VSCode&ELRS Configurator背后整合的工具面命令,将一键操作进行分解。如果有时间,后续我们会进一步的分解,以便这个耗时的编译烧录能最简化,也许1~2分钟就可以解决问题。

2. 编译步骤

在所有编译之前,首先进行源代码下载:

A) Git拉取Github开源代码

$ git clone git@github.com:ExpressLRS/ExpressLRS.git
$ git checkout 3.x.x-maintenance //根据需要进行分支切换

B) 稳定发布版本获取压缩包

$ wget https://github.com/ExpressLRS/ExpressLRS/archive/refs/tags/3.3.0.zip
$ unzip ExpressLRS-3.3.0.zip //根据需要下载对应的版本,并进行解压

C) 通过ELRS Configurator下载

注:该方式并不推荐,但这确实是一个OneButton的解决方案。

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS
ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

2.1 推荐源代码指定方案

因为国内网络的不稳定性,采用本地代码进行编译是一个比较好的选择,且大多数开发人员也经常使用的是本地代码进行开发,开发完成后提交相应修改。

因此,我们推荐采用"LOCAL"的方式进行源代码选择,而非上面C)选项中的方式。

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

2.2 方法一:ELRS Configurator

步骤一:下载ELRS Configurator工具

通过ELRS Configurator配置工具发布页面寻找合适软件版本,进行下载。

目前,最新的版本号是1.6.0。

步骤二:安装ELRS Configurator工具

ELRS Configurator工具支持较多系统(比如:MacOS/Linux/Windows),且如果Github上无二进制,用户可以根据需求直接源代码进行交叉编译(不再讨论范围之内)。

具体安装方式与常规软件类似,Windows版本请根据安装提示完成安装。
ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

步骤三:使用ELRS Configurator工具进行配置

  1. 设备配置:目前采用了一块类似BETAFPV 900的接收机硬件(硬件管脚定义)

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS
2. 烧录方式:采用串口直接烧录

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS
3. 设备选项:通常使用"Standard mode" + “FCC_915”

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS4. 固件烧录方式

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

步骤四:设置ELRS接收机为烧录模式

  1. 首先,将ELRS接收机的Rx/Tx/GND/VCC与USB串口板连接

ELRS-Rx <–> USB-SerialAdapter-Tx
ELRS-Tx <–> USB-SerialAdapter-Rx
ELRS-VCC <–> USB-SerialAdapter-5V
ELRS-GND <–> USB-SerialAdapter-GND

  1. 然后,按住"Firmware Upgrade Button"按键
  2. 最后,同时将USB插入电脑,上电时接收机将会自动进入烧录模式

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

步骤五:点击"Flash"烧录固件

这里的“Flash”是一键式编译+烧录,从设计的角度来说是非常方便的,但是从实际情况来看会出现大量的网络问题导致编译失败。

注:如果出现编译失败,请删除"src/.pio"目录,重新步骤五。

2.3 方法二:VSCode IDE

步骤一:安装vscode

在VisualStudioCode上下载最新版本,安装vscode IDE开发环境。

注:Windows安装软件比较简单和直观,next by next就好了。

步骤二:安装PlatformIO插件

在vscode IDE环境中点击"extension",搜索platformio,安装"PlatformIO IDE"插件,最后将会在左侧ICON上显示PlatformIO的图标,表示安装成功。

注:因为ExpressLRS是使用Arduino框架用C++编写的。

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

步骤三:选择ELRS工程

在使用Visual Studio Code时,在选项卡中看到PlatformIO主页。单击“打开项目”按钮。导航到ExpressLRS repo目录。导航到src文件夹(即./ExpressLRS/src/)。最后,按下“打开”按钮。

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

步骤四:修改工程配置

编辑文件/src/user_defines.txt来定义用户特定的变量。
ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

步骤五:选择编译目标

在左侧工具栏中,单击PlatformIO图标,该图标将显示任务列表。选择“编译目标”

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

步骤六:编译&烧录固件

常用的几个选项是:Build/Upload/Clean/Full Clean

注:如果上述方法无法解决编译时出现的错误,很有可能还是网络问题导致组件下载出现异常,请删除"src/.pio"目录,重新步骤六。

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

3. ELRS基本调试验证

ELRS基本调试验证,主要侧重硬件方面的信号数据指标。通过固件配置参数的调整获取相关硬件性能的参数。

基础参数如下:

-DMY_BINDING_PHRASE=“”
-DAUTO_WIFI_ON_INTERVAL=“60”
-DLOCK_ON_FIRST_CONNECTION
-DRegulatory_Domain_FCC_915 //请根据国家地区,以及设备进行选择合适的规则

3.1 ID,Antenna,RSSI,LQ,SNR,PWR,FHSS,TimingOffset

在基础参数前提下,增加以下配置参数:

-DDEBUG_LOG
-DDEBUG_CRSF_NO_OUTPUT
-DDEBUG_RCVR_LINKSTATS

通过串口可得到如下类似串口打印调试信息:
ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

3.2 IRQ_CNT,RSSI_AVE,SNR_AVE,SNV_MAX,TELEM_CNT,FAIL_CNT

在基础参数前提下,增加以下配置参数:

-DDEBUG_LOG
-DDEBUG_CRSF_NO_OUTPUT
-DDEBUG_RCVR_SIGNAL_STATS

通过串口可得到如下类似串口打印调试信息:
ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

3.3 RX Scoreboard

-DPRINT_RX_SCOREBOARD

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS
ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

3.4 ELRS Configurator配置界面

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS
ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

3.5 VSCode配置界面

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

4. 固件烧录

ELRS采用了乐鑫的芯片,因此还可以命令行输入,详见:ExpressLRS_Manufacturer_Design_Guidelines_v1.7.pdf

4.1 命令行

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS
ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

4.2 GUI工具

ExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRSExpressLRS开源之接收机固件编译烧录步骤,DIY Drones,开源,ELRS

5. 参考资料

【1】Advanced Toolchain Setup for ELRS
【2】ExpressLRS-Configurator文章来源地址https://www.toymoban.com/news/detail-683129.html

到了这里,关于ExpressLRS开源之接收机固件编译烧录步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通信算法之130:软件无线电-接收机架构

      1. 超外差式接收机    2.零中频接收机  3.数字中频接收机    

    2023年04月10日
    浏览(42)
  • python 进行卫星坐标计算和接收机坐标计算

    python 进行卫星坐标计算和接收机坐标计算 卫星坐标计算 流程以及相关公式 从上一篇文章中我们获取到了广播星历中的文件(N文件读取),通过N文件中的数据以及周内秒我们可以计算出卫星的坐标。Python读取O文件以及N文件_Hxdih的博客-CSDN博客 在计算卫星坐标时,我们需要做到

    2024年02月03日
    浏览(42)
  • 基于simulink的信道化接收机建模与仿真

    目录 1.发送模块设计 2.接收模块的设计 3.仿真测试 4.基于matlab的误码率仿真         信道化接收机建模是指在通信系统中,对接收机的行为和性能进行数学建模和分析,以便更好地理解和优化通信系统的性能。在数字通信系统中,信道化接收机的建模涉及到对信道、噪声、解

    2024年02月04日
    浏览(35)
  • 手机接收机的功能电路(1)---天线、低噪放、混频器

    话机本身的天线一般为螺旋鞭状天线或短鞭状天线。移动台的天线具有足够宽的工作频带,它工作于全部的收发信道,基本上所有的蜂窝话机都可使用内接和外接天线。 天线分为发射天线与接收天线,将高频电流转化为高频电磁波传送出去的导体被称为发射天线;将高频电磁

    2024年02月11日
    浏览(34)
  • ExpressLRS开源代码之工程结构

    ExpressLRS开源代码基于Arduino框架设计,在所支持的硬件环境下,提供900/2400发射机和接收机硬件方案。 该设计提供了一个IO配置文件来更好的解耦软硬件设计,使得整个硬件设计工作和软件设计工作更加独立。 虽然系统复杂,工程结构的理解有一定难度,从方法论的角度看,

    2024年02月10日
    浏览(37)
  • ExpressLRS开源代码之框架结构

    最近为了理解《ExpressLRS开源之基本调试数据含义》,做了一些源代码的研读。 概念、文档、代码或多或少都存在一些变数,代码不仅仅从数值,量纲,以及出处可以了解的非常清晰,从而对于数据的含义达到更深的认识。 当然,也有一些困难的地方,首先刚开始看ardunio的代

    2024年02月10日
    浏览(30)
  • ExpressLRS开源之基本调试数据含义

    基于ExpressLRS开源代码对基本调试验证数据进行详细的研读理解,以期望更深入的理解相关数据的实际含义。 ID(packetCounter),Antenna,RSSI(dBm),LQ,SNR,PWR,FHSS,TimingOffset IRQ_CNT,RSSI_AVE,SNR_AVE,SNV_MAX,TELEM_CNT,FAIL_CNT 对于debug给出参数含义解释,有助于理解性能测试结果。 ID(packetCounter),Antenna

    2024年02月10日
    浏览(36)
  • ExpressLRS开源之RC链路性能测试

    基于ExpressLRS开源基本调试验证方法,对RC链路性能进行简单的性能测试。 修改设计总能够满足合理的需求,往往我们需要再不变更设计的基础上,进行相关验证。此时也是考研设计鲁棒性的一个维度。 开源代码有的时候往往比所谓专业的企业团队给出更好的设计就在于此。

    2024年02月10日
    浏览(37)
  • ESP32学习准备——烧录MicroPython固件

    固件,就是文件,固化在存储介质上的文件,而文件,其实就是数据。 烧写,就是写数据,把文件(固件/数据)写到存储介质(Nand Flash, Nor Flash等)上。 当把这些固件写到储存器中后,板子下次启动的时候,直接从这些储存器中找到这些文件,嵌入式系统就能够直接跑起来

    2024年02月12日
    浏览(39)
  • ESP8266-01s MQTT固件烧录

    记录ESP8266-01s 固件烧录过程。 usb-ttl 固件:⑦、MQTT透传AT固件(固件号:1471) 安可信科技-固件汇总 USB-TTL esp8266-01s VCC 3V3 RX TX TX RX GND IO0 GND GND 启动软件 点击 - ESP8266 DownloadTool 配置 ESP8266各模块属性参数 下载中… 下载完成 将ESP8266-01s的引脚IO0拉高(不接GND/置空)。 ESP8266-

    2023年04月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包