描述
<div class="document">
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">注:* 为必填项</p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><strong><span style="color:#0093e6;">请在报名阶段填写 ↓</span></strong></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">* 1、项目功能介绍</h3>
<hr class="horizontal-splitline normal-bold-2">
<p class="ds-markdown-paragraph">FreeSkyLink 是一个基于STM32微控制器和CC2500射频芯片的开源硬件项目。它能够接收并解码来自Jumper T-Pro等使用CC2500多协议模块的开源遥控器的信号,并将其转换为标准的USB游戏控制器(HID)输入,从而让用户可以在电脑上的无人机模拟器(如Liftoff, DRL Simulator, Velocidrone等)中进行无线练习。</p>
<p class="ds-markdown-paragraph">本项目完美解决了传统有线连接带来的束缚感,以极低的成本提供了与原厂专用无线Dongle相媲美的体验,是无人机爱好者、FPV新手和开发者的理想工具。</p>
<p class="ds-markdown-paragraph"> </p>
<p class="ds-markdown-paragraph">打板后不想编译的同学可以直接烧录附件的hex文件。对频时选择D8协议,参见视频。</p>
<p class="ds-markdown-paragraph"> </p>
<p class="ds-markdown-paragraph"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">*2、项目属性</h3>
<hr class="horizontal-splitline normal-bold-2">
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">首次公开,参考github fishpepper的开源项目opensky,但是硬件完全不同。</span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">* 3、开源协议</h3>
<hr class="horizontal-splitline normal-bold-2">
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;"><span style="font-size:14px;">GPL3.0</span></span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">*4、硬件部分</h3>
<hr class="horizontal-splitline normal-bold-2">
<p class="ds-markdown-paragraph"><strong>使用了富捷的电阻电容、MDD的ESD防护器件 </strong><em>ESD0801PB</em><strong>、台舟的LDO </strong><em>TPLP5907MFX-3.3</em></p>
<p class="ds-markdown-paragraph"><strong>核心组件:</strong></p>
<ol>
<li>
<p class="ds-markdown-paragraph"><strong>主控芯片:STM32F103CBT6 </strong></p>
<ul>
<li>
<p class="ds-markdown-paragraph"><strong>角色</strong>:项目的大脑。负责控制CC2500模块、解码射频信号、处理数据并通过USB与电脑通信。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>优势</strong>:成本极低,性能强大(Cortex-M3内核,72MHz),拥有完整的USB接口,社区支持完善,易于开发和调试。</p>
</li>
</ul>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>射频模块:CC2500 2.4GHz 无线模块</strong></p>
<ul>
<li>
<p class="ds-markdown-paragraph"><strong>角色</strong>:负责接收来自遥控器的2.4GHz无线电信号。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>优势</strong>:与Jumper T-Pro、Radiomaster TX系列等开源遥控器内置的射频模块兼容,支持多种协议。成本低廉,易于获取。</p>
</li>
</ul>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>USB接口</strong>:</p>
<ul>
<li>
<p class="ds-markdown-paragraph"><strong>角色</strong>:为整个系统供电,并与电脑进行数据通信。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>实现</strong>:通常直接使用STM32开发板上的Micro-USB接口。</p>
</li>
</ul>
</li>
<li>
<p class="ds-markdown-paragraph"><strong> 状态指示灯LED和按键</strong>:</p>
<ul>
<li>
<p class="ds-markdown-paragraph">用于显示工作状态,如电源、对频成功、信号接收等。</p>
</li>
</ul>
</li>
</ol>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-left-indent-1.6em" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">*5、软件部分</h3>
<hr class="horizontal-splitline normal-bold-2">
<p class="ds-markdown-paragraph">软件部分分为运行在STM32上的固件和遥控器端的配置。</p>
<p class="ds-markdown-paragraph"><strong>1. STM32 固件 (基于 Arduino IDE / PlatformIO 或 STM32CubeIDE)</strong></p>
<ul>
<li>
<p class="ds-markdown-paragraph"><strong>开发环境</strong>:推荐使用PlatformIO或Arduino IDE,因其库管理方便,社区资源丰富。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>核心库与驱动</strong>:</p>
<ul>
<li>
<p class="ds-markdown-paragraph"><strong>SPI库</strong>:用于STM32与CC2500模块之间的高速通信,配置CC2500的寄存器并读取接收到的数据。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>USB HID库</strong>:将STM32配置为一个USB游戏手柄设备,向操作系统发送通道数据(摇杆、开关)。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>CC2500驱动/协议解码逻辑</strong>:项目的核心。这部分代码需要:</p>
<ul>
<li>
<p class="ds-markdown-paragraph"><strong>初始化CC2500</strong>:配置其频率、数据速率、同步字等参数,使其与遥控器的发射设置匹配。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>实现协议解码</strong>:理解并解析遥控器发送过来的数据包。通常会参考/移植已有开源项目(如ExpressLRS、Multi-Module项目)中对FrSky D等协议的解析代码。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>处理GDO0中断</strong>:当CC2500接收到一个完整的数据包时,会通过GDO0引脚触发STM32的中断,固件在中断服务程序中读取数据。</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>软件工作流程</strong>:</p>
<ol>
<li>
<p class="ds-markdown-paragraph"><strong>上电初始化</strong>:初始化SPI、USB、CC2500模块和GPIO。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>进入对频模式</strong>(可选):等待接收来自遥控器的特定对频信号包。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>正常接收模式</strong>:循环监听CC2500的中断信号。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>数据包中断</strong>:当GDO0触发中断,固件立即通过SPI读取CC2500接收缓冲区中的数据。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>协议解码</strong>:根据预设的协议,从数据包中提取出各个通道(油门、横滚、俯仰、偏航等)的PWM值或数字值。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>数据映射与缩放</strong>:将解码出的通道值(如0-1023)映射到USB游戏手柄的标准范围(如-32767 到 +32767)。</p>
</li>
<li>
<p class="ds-markdown-paragraph"><strong>USB HID报告发送</strong>:将处理好的通道数据打包成USB HID报告,并通过USB发送给电脑。</p>
</li>
</ol>
</li>
</ul>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/S6JZhmq7hy31bT29gfpVFou2qicuPyk1ca3k60YF.jpeg" alt=""></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:若您的项目涉及软件开发,请在附件上传对应的工程源码。这里可以详细说明您的软件流程图、功能模块框图、相关算法的解释或科普、源码结构、编译环境的搭建和配置、源码编译方法、程序烧录方法等。推荐图文并茂的形式向别人介绍您的想法。</span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-left-indent-1.6em" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">*6、BOM清单</h3>
<hr class="horizontal-splitline normal-bold-2">
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">见附件</span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:项目涉及的BOM清单。在<span style="text-decoration:underline;"><a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> </span>生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。 </span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">*7、大赛LOGO验证</h3>
<hr class="horizontal-splitline normal-bold-2">
<p style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">请上传包含大<img src="//image.lceda.cn/pullimage/x74GZUiOsY9ZfFdajBT29p5mkzOT1BFI75cZeyvt.jpeg" alt="" width="1200" height="1080"><img src="//image.lceda.cn/pullimage/zfRUASDcMpurnIzwOFzMQ8zl3zQstLstgA6tMRlR.jpeg" alt="" width="1200" height="1080"><img src="//image.lceda.cn/pullimage/eGKcY7qckQmJA0d5kN2pjjFZeETTYAKYoq0Un5Ow.jpeg" alt=""><br></span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">* 8、演示您的项目并录制成视频上传</h3>
<hr class="horizontal-splitline normal-bold-2">
<p style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;</span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。</span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="font-size:14px;"><a href="/posts/42551e8f2f2548cabc1c36626a42da94" target="_blank">前往查看更多详情 ></a></span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
</div>
评论(2)