接上一篇
有人问:"我没接触过硬件,需要买什么?"有人问:"Arduino 和 ESP8266 是什么?我零基础能跟上吗?"还有人问:"如果我不想买硬件,能不能学?"
这篇统一回答。
一、硬件清单
这个系列涉及硬件交互的文章有三篇:
| 文章 | 需要的硬件 | | :-- | :-- | | 串口通信(Serialport) | Arduino 开发板 | | Modbus / MQTT 工业协议 | ESP8266 开发板 | | 实战项目(串联全部) | Arduino + ESP8266 两板协作 |
如果你只想体验串口通信
买一块 Arduino 开发板 就够了:
| 物品 | 推荐型号 | 淘宝搜索关键词 | | :-- | :-- | :-- | | Arduino 板 | Arduino Uno / Nano / 兼容版 | "Arduino Nano 开发板" | | USB 数据线 | 方口 USB(Uno)或 Mini USB(Nano) | 通常随板赠送 | | 电位器(可选) | 10K 可调电阻 | "10K 电位器" | | 杜邦线(可选) | 公对母、公对公 | "杜邦线 40根" |
不用电位器和杜邦线也能玩——Arduino 板上有自带的 LED,可以串口控制亮灭,一样能学会 serialport 的收发。
如果你想体验工业协议(Modbus / MQTT)
加一块 ESP8266 开发板:
| 物品 | 推荐型号 | 淘宝搜索关键词 | | :-- | :-- | :-- | | ESP8266 板 | NodeMCU / Wemos D1 Mini | "NodeMCU ESP8266" | | Micro USB 线 | 手机充电线那种 | 通常随板赠送 |
ESP8266 自带 WiFi,烧录我提供的固件后,它可以充当一个 Modbus TCP 从站 + MQTT 发布者,Electron 通过 WiFi 就能读写数据。
二、软件环境要求
以下软件需要提前装好。如果你之前写过 Electron 应用,大部分应该已经有了。
必须安装
| 软件 | 版本要求 | 用途 | 下载 | | :-- | :-- | :-- | :-- | | Node.js | ≥ 18 LTS(推荐 20 LTS) | 运行 Electron | nodejs.org[1] | | Git | 最新版 | 克隆 demo 代码 | git-scm.com[2] | | 代码编辑器 | 任意 | 写/看代码 | VS Code 推荐 |
编译 native addon 需要
串口通信等硬件操作依赖原生 C++ 模块,需要编译工具链:
Windows 用户:
# 安装 VS Build Tools(含 MSBuild 和 C++ 编译器)
# 下载 Visual Studio Build Tools 2022,勾选「使用 C++ 的桌面开发」
macOS 用户:
xcode-select --install
Linux 用户:
sudo apt install build-essential
⚠️ 如果你之前没装过,编译工具是新手最容易卡的地方。我在正式文章里会专门写一篇《Native Module 编译指南》,手把手解决各种报错。
推荐安装的模拟工具
即使你不买硬件,以下工具也能让你纯软件跑通大部分 demo。
| 工具 | 用途 | 平台 | 是否免费 | | :-- | :-- | :-- | :-: | | com0com (Windows) | 创建虚拟串口对,模拟串口收发 | Windows | ✅ 免费 | | socat (macOS/Linux) | 同上,命令行工具 | macOS / Linux | ✅ 免费 | | Modbus Slave Simulator | 模拟 Modbus 从站设备 | Windows | ✅ 试用版够用 | | MQTTX | MQTT 客户端调试工具 | 全平台 | ✅ 免费 |
这些工具的具体使用方法,会在对应的文章里详细说明。
三、代码仓库使用说明
所有 demo 代码放在 Gitee 公开仓库:
https://gitee.com/2391492524/electron-hardware-demos
目录结构
electron-hardware-demos/
├── demo-hello-native/ ← 篇 02:Native Module 编译
├── demo-system-info/ ← 篇 03:读取本机信息
├── demo-realtime-monitor/ ← 篇 04:实时监控仪表盘
├── demo-serialport/ ← 篇 05:串口通信(含 Arduino 固件)
├── demo-modbus-mqtt/ ← 篇 07:Modbus / MQTT(含 ESP8266 固件)
└── project-gateway/ ← 篇 08-09:完整实战项目
├── part-1/
└── part-2/
如何运行一个 demo
# 克隆仓库
git clone https://gitee.com/2391492524/electron-hardware-demos.git
cd electron-hardware-demos
# 选一个感兴趣的 demo
cd demo-system-info
# 安装依赖
npm install
# 启动
npm start
关于 Arduino / ESP8266 固件
涉及硬件的 demo 目录下都有一个 firmware/ 子目录,里面是单片机代码:
demo-serialport/
├── package.json
├── src/ ← Electron 代码
└── firmware/
└── temperature-sensor.ino ← Arduino 代码,用 Arduino IDE 打开烧录即可
如果你是第一次接触单片机烧录,不用担心——我只用到了 Arduino 标准库,不需要额外装任何库文件。打开 .ino 文件,点「上传」就行。
四、时间投入
每篇文章对应的 demo,从 clone 到跑起来,预计时间:
| demo | 预计时间 | 需要硬件? | | :-- | :-: | :-: | | demo-hello-native | 5 分钟 | ❌ | | demo-system-info | 5 分钟 | ❌ | | demo-realtime-monitor | 5 分钟 | ❌ | | demo-serialport | 15 分钟 + 首次编译 serialport | ✅ 可选(有模拟方案) | | demo-modbus-mqtt | 15 分钟 | ✅ 可选(有模拟方案) | | project-gateway | 30 分钟(两篇合计) | ✅ 可选 |
最后说两句
这个系列的目标很简单:让 Electron 开发者能用最小的成本,学会和硬件打交道。
有硬件的读者跟着代码实操,没硬件的用模拟工具也一样能跟完整个系列。
下篇正式开始:硬件通信入门。 不讲代码,只讲串口、USB、HID、Modbus 到底是什么——五张图让你从"完全不懂"到"听得懂别人在说什么"。
咱们下篇见。
引用链接
[1] nodejs.org: nodejs.org*`[2]` git-scm.com: *https://git-scm.co…