2、开发环境搭建:工欲善其事,必先利其器

说实话,做嵌入式开发这么多年,我见过太多人卡在环境搭建这一步。明明代码逻辑没问题,结果编译报错、下载失败、串口乱码……折腾半天还没开始写一行代码。所以这一章,咱们把基础打牢。

我会带你一步步装好 Arduino IDE、配好 ESP32 支持包、装上 LoRa 库,再聊聊串口调试和逻辑分析仪怎么用。嗯,这些工具用熟了,后面写代码会顺手很多。

2.1 Arduino IDE 安装与配置

Arduino IDE 是咱们的主力开发工具。别看它界面简单,功能一点不弱。我个人习惯用 1.8.x 版本,稳定,插件也多。

安装步骤:

  1. 去 Arduino 官网下载对应系统的安装包(Windows/Mac/Linux)
  2. 双击安装,一路默认就行。注意安装路径别带中文
  3. 装完后打开,界面是英文的。别慌,咱们后面可以汉化

配置要点:

  • 语言设置:File → Preferences → Editor Language → 简体中文
  • 字体大小:我个人喜欢 14 号,看久了不累
  • 显示行号:Preferences 里勾上「显示行号」,调试时方便定位
小技巧: 我习惯把 Arduino 的 sketchbook 文件夹放在 D 盘或者非系统盘。万一重装系统,代码不会丢。

2.2 ESP32 开发板支持包安装

Arduino IDE 默认不支持 ESP32。你得手动装支持包。说白了,就是让 IDE 认识这块芯片。

安装方法:

  1. 打开 Arduino IDE,进入 文件 → 首选项
  2. 在「附加开发板管理器网址」里填入:
    https://espressif.github.io/arduino-esp32/package_esp32_index.json
  3. 点击确定,然后进入 工具 → 开发板 → 开发板管理器
  4. 搜索「ESP32」,找到 esp32 by Espressif Systems,点击安装

这个过程大概要 5-10 分钟,取决于你的网速。我遇到过下载失败的情况,多半是网络问题。你可以试试换个时间段,或者用手机热点。

注意: 安装完成后,记得在 工具 → 开发板 里选择「ESP32 Dev Module」。选错了板子,编译会报错。

2.3 LoRa 库安装

LoRa 通信需要专门的库。咱们用的是 LoRa by Sandeep Mistry,这个库最成熟,社区支持也好。

安装步骤:

  1. 工具 → 管理库
  2. 搜索「LoRa by Sandeep Mistry」
  3. 点击安装

装完后,你可以打开示例代码验证一下:
文件 → 示例 → LoRa → LoRaSender

我曾经在项目里遇到过一个问题:库装好了,但编译报错说找不到 <SPI.h>。后来发现是 ESP32 的 SPI 引脚定义和库默认的不一样。解决办法是手动指定引脚:

#include <LoRa.h>

// 手动指定 SPI 引脚(以 ESP32 为例)
#define SS_PIN   5
#define RST_PIN  14
#define DIO0_PIN 2

void setup() {
  LoRa.setPins(SS_PIN, RST_PIN, DIO0_PIN);
  if (!LoRa.begin(868E6)) {  // 868MHz 频段
    Serial.println("LoRa 初始化失败!");
    while (1);
  }
  Serial.println("LoRa 初始化成功");
}
重点: 不同地区的 LoRa 频段不同。中国用的是 470-510MHz 和 868-870MHz。我建议你查一下当地法规,别用错频段。

2.4 串口调试工具使用

串口是嵌入式开发的「眼睛」。没有它,你根本不知道芯片在干什么。

Arduino IDE 自带串口监视器,但功能有限。我推荐用 Putty 或者 Serial Monitor(VS Code 插件)。

基本操作:

  • 波特率设置:一般用 115200 或 9600
  • 换行符:选「Both NL & CR」
  • 发送数据:可以直接输入文本,也可以勾选「自动滚动」

你想想看,如果串口输出乱码,多半是波特率没对上。我遇到过好几次,折腾半天发现是板子用的 115200,监视器设成了 9600。

调试技巧: 我习惯在关键位置加 Serial.println() 打印变量值。比如 LoRa 发送前打印数据长度,接收后打印 RSSI 信号强度。这样一眼就能看出问题在哪。

2.5 逻辑分析仪基础

逻辑分析仪这东西,说实话,不是必须的。但如果你做 LoRa 通信调优,它绝对能帮你省下大把时间。

逻辑分析仪能抓取数字信号的高低电平变化。比如 SPI 通信的时钟、数据线,你一眼就能看出时序对不对。

我常用的型号:

  • Saleae Logic 8(贵,但好用)
  • 国产 24MHz 8 通道(几十块钱,够用)

基本用法:

  1. 用杜邦线把信号线接到逻辑分析仪的通道上
  2. 打开软件,设置采样率(一般 24MHz 够用)
  3. 点击开始采集,触发条件可以设成上升沿或下降沿
  4. 分析波形:看时钟是否稳定,数据位是否对齐

我曾经调试一个 LoRa 模块,死活发不出数据。用逻辑分析仪一看,发现 SPI 的 CS 片选信号根本没拉低。原来是引脚定义搞错了。嗯,这种问题用串口打印根本看不出来。

注意: 逻辑分析仪只能测数字信号,不能测模拟电压。另外,地线一定要接好,不然波形全是毛刺。

小结

环境搭建这块,说白了就是装软件、配参数、装库。别嫌麻烦,每一步都走扎实了,后面写代码才能顺风顺水。

下一章咱们开始写第一个 LoRa 收发程序。到时候你会发现,前面这些准备工作,真的一点没白费。


公众号:蓝海资料掘金营,微信deep3321