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

news2024/9/26 5:24:15

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

  • 1. 源由
  • 2. 编译步骤
    • 2.1 推荐源代码指定方案
    • 2.2 方法一:ELRS Configurator
      • 步骤一:下载ELRS Configurator工具
      • 步骤二:安装ELRS Configurator工具
      • 步骤三:使用ELRS Configurator工具进行配置
      • 步骤四:设置ELRS接收机为烧录模式
      • 步骤五:点击"Flash"烧录固件
    • 2.3 方法二:VSCode IDE
      • 步骤一:安装vscode
      • 步骤二:安装PlatformIO插件
      • 步骤三:选择ELRS工程
      • 步骤四:修改工程配置
      • 步骤五:选择编译目标
      • 步骤六:编译&烧录固件
  • 3. ELRS基本调试验证
    • 3.1 ID,Antenna,RSSI,LQ,SNR,PWR,FHSS,TimingOffset
    • 3.2 IRQ_CNT,RSSI_AVE,SNR_AVE,SNV_MAX,TELEM_CNT,FAIL_CNT
    • 3.3 ELRS Configurator配置界面
    • 3.4 VSCode配置界面
  • 4. 固件烧录
    • 4.1 命令行
    • 4.2 GUI工具
  • 5. 参考资料

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的解决方案。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.1 推荐源代码指定方案

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

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

在这里插入图片描述

2.2 方法一:ELRS Configurator

步骤一:下载ELRS Configurator工具

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

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

步骤二:安装ELRS Configurator工具

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

具体安装方式与常规软件类似,Windows版本请根据安装提示完成安装。
在这里插入图片描述

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

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

在这里插入图片描述
2. 烧录方式:采用串口直接烧录

在这里插入图片描述
3. 设备选项:通常使用"Standard mode" + “FCC_915”

在这里插入图片描述4. 固件烧录方式

在这里插入图片描述

步骤四:设置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插入电脑,上电时接收机将会自动进入烧录模式

在这里插入图片描述

步骤五:点击"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++编写的。

在这里插入图片描述

步骤三:选择ELRS工程

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

在这里插入图片描述

步骤四:修改工程配置

编辑文件/src/user_defines.txt来定义用户特定的变量。
在这里插入图片描述

步骤五:选择编译目标

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

在这里插入图片描述

步骤六:编译&烧录固件

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

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

在这里插入图片描述

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

通过串口可得到如下类似串口打印调试信息:
在这里插入图片描述

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

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

-DDEBUG_LOG
-DDEBUG_CRSF_NO_OUTPUT
-DDEBUG_RCVR_SIGNAL_STATS

通过串口可得到如下类似串口打印调试信息:
在这里插入图片描述

3.3 ELRS Configurator配置界面

在这里插入图片描述
在这里插入图片描述

3.4 VSCode配置界面

在这里插入图片描述

4. 固件烧录

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

4.1 命令行

在这里插入图片描述
在这里插入图片描述

4.2 GUI工具

在这里插入图片描述在这里插入图片描述

5. 参考资料

【1】Advanced Toolchain Setup for ELRS
【2】ExpressLRS-Configurator

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/934742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快速启动 - 一键启动您的目标应用

《快速启动》- 快速管理&#xff0c;便捷控制 作为一款管理类应用&#xff0c;《快速启动》拥有简洁且实用的分类功能。它能将你的应用归类&#xff0c;让你轻松找到所需。无论是工具类、娱乐类还是社交类应用&#xff0c;《快速启动》都能让你的手机变得井井有条。 与普通管理…

学霸有特权

导读 同时保有两种截然相反的观念还能正常行事&#xff0c;这是第一流智慧的标志 -- 菲茨杰拉德 周末愉快。 1. 有一次在西湖公园门口等着接娃&#xff0c;凑上来一位并不面善的大汉&#xff0c;低声问我&#xff1a;兄弟你有没兴趣了解下"我主"。 我&#xff1a;可以…

LeetCode--HOT100题(43)

目录 题目描述&#xff1a;98. 验证二叉搜索树&#xff08;中等&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;98. 验证二叉搜索树&#xff08;中等&#xff09; 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定…

软件测评单位需要哪些资质?

软件测评资质 在进行软件测试或其他项目检测需要选择软件测评公司时&#xff0c;我们常常会把该公司有无资质认证考虑进去。那么软件测评公司在为企业出软件测试报告过程中&#xff0c;需要有什么资质才是合法合规的&#xff1f; 软件测评公司需要什么资质&#xff1f; 国内第…

用 PHP 和 JavaScript 显示地球卫星照片

向日葵 8 号气象卫星是日本宇宙航空研究开发机构设计制造的向日葵系列卫星之一&#xff0c;重约 3500 公斤&#xff0c;设计寿命 15 年以上。该卫星于 2014 年 10 月 7 日由 H2A 火箭搭载发射成功&#xff0c;主要用于监测暴雨云团、台风动向以及持续喷发活动的火山等防灾领域。…

基于微信小程序中小学生练字书法家校联合系统

对于一些学生和书法爱好者来说&#xff0c;需要时时刻刻了解&#xff0c;自己及自己所喜欢的书法的相关信息&#xff0c;书法作业的相关事宜&#xff0c;学生作业的相关信息&#xff0c;比如查询教学进度、书法作业等这样才能更好的推动我国的书法事业发展,为此今后有必要对书法…

【硬件设计】硬件学习笔记一--元器件的介绍与选型

硬件学习笔记一--元器件的选型 一、电阻1.1 电阻的分类1.2 电阻的选型 二、电容2.1 陶瓷电容2.2 钽电容2.3 铝电解电容2.4 电容选型 三、电感3.1 定义与介绍3.2 电感的分类3.3 电感的参数 四、磁珠4.1 磁珠的介绍4.2 磁珠的参数 五、二极管5.1 定义5.2 稳压管5.3 肖特基二极管5…

心法利器[97] | 判断问题是否真的需要大模型来解决

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会&#xff0c;与大家一起成长。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。 2022年新一版的文章合集已经发布&#xff0c;累计已经60w字了&#xff0c;获取方式看这里&…

微服务系统面经之二: 以秒杀系统为例

16 微服务与集群部署 16.1 一个微服务一般会采用集群部署吗&#xff1f; 对于一个微服务是否采用集群部署&#xff0c;这完全取决于具体的业务需求和系统规模。如果一个微服务的访问压力较大&#xff0c;或者需要提供高可用性&#xff0c;那么采用集群部署是一种常见的策略。…

社区供稿 | FaceChain 开源项目原理解析

一、背景说明 各类 AI 写真软件由于其精准的个人形象精美的生成效果引爆了朋友圈传播&#xff0c;证件照满足了用户刚需&#xff0c;古装照等风格照满足了用户“美照”的需求。 FaceChain 是一个可以用来打造个人数字形象的深度学习模型工具。用户仅需要提供最低三张照片即可获…

十五、pikachu之CSRF

文章目录 一、CSRF概述二、CSRF实战2.1 CSRF(get)2.2 CSRF之token 一、CSRF概述 Cross-site request forgery 简称为“CSRF”&#xff0c;在CSRF的攻击场景中攻击者会伪造一个请求&#xff08;这个请求一般是一个链接&#xff09;&#xff0c;然后欺骗目标用户进行点击&#xf…

对标 GPT-4?科大讯飞刘庆峰:华为GPU技术能力已与英伟达持平

科大讯飞创始人、董事长刘庆峰在亚布力中国企业家论坛第十九届夏季高峰会上透露了关于自家大模型进展的一些新内容。刘庆峰认为&#xff0c;中国在人工智能领域的算法并没有问题&#xff0c;但是算力方面似乎一直被英伟达所限制。 以往的“百模大战”中&#xff0c;训练大型模型…

mysql下载

网址 MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/ 2、选择MSI进行安装 3、这里我选择离线安装 4、这里我选择直接下载 5、等待下载安装即可

改变癌症诊断!梯度提升方法可准确预测癌症患者的生存风险!

一、引言 癌症是全球范围内一种严重的疾病&#xff0c;对人类健康造成了巨大的威胁。据世界卫生组织统计&#xff0c;癌症是全球首要死因之一&#xff0c;每年有数百万人因癌症而丧生 [1]。然而&#xff0c;早期的癌症诊断和治疗非常重要&#xff0c;可以显著提高患者的存活率和…

滑动窗口系列4-Leetcode322题零钱兑换-限制张数-暴力递归到动态规划再到滑动窗口

这个题目是Leecode322的变种&#xff0c;322原题如下&#xff1a; 我们这里的变化是把硬币变成可以重复的&#xff0c;并且只有coins数组中给出的这么多的金币&#xff0c;也就是说有数量限制&#xff1a; package dataStructure.leecode.practice;import java.util.Arrays; i…

ChatGPT癌症治疗“困难重重”,真假混讲难辨真假,准确有待提高

近年来&#xff0c;人工智能在医疗领域的应用逐渐增多&#xff0c;其中自然语言处理模型如ChatGPT在提供医疗建议和信息方面引起了广泛关注。然而&#xff0c;最新的研究表明&#xff0c;尽管ChatGPT在许多领域取得了成功&#xff0c;但它在癌症治疗方案上的准确性仍有待提高。…

华为OD机试 - 完全数计算(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、Java算法源码五、效果展示六、纵览全局 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》。 刷的越多&…

Lalamu-免费视频口型同步工具,创建属于你自己的虚拟数字人

什么是Lalamu? Lalamu 是一款视频口型同步应用程序。该应用程序由 Lalamu Entertainment 开发&#xff0c;允许用户对视频中的任何面孔进行口型同步。无论是人物、人体模型、书籍封面、艺术品、演员、婴儿、蜡像&#xff0c;甚至银行账单上的面孔&#xff0c;Lalamu 都可以让…

FreeSWITCH 1.10.10 简单图形化界面4 - 腾讯云NAT设置

FreeSWITCH 1.10.10 简单图形化界面4 - 腾讯云NAT设置 0、 界面预览1、 查看IP地址2、 修改协议配置3、 开放腾讯云防火墙4、 设置ACL5、 设置协议中ACL&#xff0c;让PBX匹配内外网6、 重新加载SIP模块7、 查看状态8、 测试一下 0、 界面预览 http://myfs.f3322.net:8020/ 用…

尝试自主打造一个有限状态机(二)

前言 上一篇文章我们从理论角度去探索了状态机的定义、组成、作用以及设计&#xff0c;对状态机有了一个基本的认识&#xff0c;这么做有利于我们更好地去分析基于实际应用的状态机&#xff0c;以及在自主设计状态机时也能更加地有条不紊。本篇文章将从状态机的实际应用出发&am…