1. 项目缘起与核心价值最近在整理工作室的旧设备翻出来几块尘封已久的Intel Edison开发板。这玩意儿当年可是物联网IoT领域的明星产品集成了双核Atom处理器、蓝牙、Wi-Fi还有那个独特的70针扩展接口。但说实话对于很多刚接触嵌入式Linux开发的朋友来说拿到Edison后的第一步——板级配置往往就是第一个拦路虎。网上的资料要么年代久远链接失效要么步骤零散不成体系特别是如何在Linux主机环境下完成这一系列操作更是让不少新手感到迷茫。所以我决定结合自己当年踩过的坑和积累的经验写一个清晰、完整的“菜鸟入门”系列。这第一篇我们就聚焦最基础也最关键的一步在Linux系统中为你的Edison开发板完成从“开箱”到“联网跑通第一个程序”的全部板级配置。所谓“板级配置”说白了就是让这块“裸板”认识你的电脑连上网络具备基础的开发环境为后续写代码、调应用铺平道路。无论你是想用Edison做智能家居网关、数据采集节点还是学习嵌入式Linux开发这一步都绕不过去。整个过程会涉及到串口调试、固件刷写、网络配置、SSH登录等核心操作。别担心我会一步步拆解不仅告诉你怎么做更会解释为什么这么做以及每个环节可能遇到的“坑”和应对技巧。只要你有一台运行Linux的电脑Ubuntu、Debian、Fedora等主流发行版都行一块Edison主板最好是带Arduino扩展板的套件一根Micro USB线就能跟着操作下来。2. 开箱检查与硬件连接要点在通电之前我们先花几分钟理清硬件。Edison板本身非常小巧直接操作不太方便所以通常它会插在一块扩展板上。最常见的是Arduino扩展板也叫Breakout Board。请确认你的Edison模块已经牢固地插入扩展板的70针接口中听到“咔哒”声表示锁紧。接下来是连接电脑。Edison扩展板上通常有两个Micro USB接口它们功能不同极易混淆靠近板子边缘的USB口通常标记为J16或UART这个是串口控制台接口。它的主要作用是输出系统启动信息、提供命令行交互界面。在配置初期我们与板子的“对话”全靠它。你需要用一根Micro USB线将它与电脑连接。靠近板子中央的USB口通常标记为J15或USB OTG这个是设备模式接口。Edison可以通过这个口模拟成U盘用于刷写系统固件或者在配置好后通过RNDIS一种网络设备模拟功能让电脑通过USB共享网络给它。初期配置也会用到。重要提示很多新手失败的第一步就是插错了USB口。请务必记住初始配置时两个口都需要连接到电脑上。J16用于看日志和输入命令J15用于传数据和联网。连接好后给扩展板供电。有些扩展板有独立的电源接口但多数情况下通过J15或J16的USB口供电就足够了。此时Edison板上的电源指示灯应该亮起。3. Linux环境下的串口驱动与终端配置Edison通过J16UART与电脑通信在Linux系统下它会被识别为一个串口设备如/dev/ttyUSB0。首先我们需要确保系统能识别到这个设备。将J16口连接到电脑后打开终端输入ls /dev/ttyUSB*命令。如果看到类似/dev/ttyUSB0的设备出现说明驱动已自动加载大多数现代Linux内核已包含ftdi_sio等驱动模块。如果什么都没看到可以尝试重新插拔USB线或使用dmesg | tail命令查看内核日志确认是否有设备接入记录。接下来我们需要一个终端程序来与这个串口通信。最常用的是screen和minicom。这里我推荐screen因为它简单直接无需复杂配置。安装screen如果尚未安装# Ubuntu/Debian sudo apt-get install screen # Fedora sudo dnf install screen确定串口设备号通常就是/dev/ttyUSB0。如果不确定可以拔掉USB线执行ls /dev/ttyUSB*记下结果再插上再执行一次多出来的那个就是。使用screen连接串口sudo screen /dev/ttyUSB0 115200/dev/ttyUSB0你的串口设备。115200波特率Edison串口的标准通信速率。执行命令后终端可能会清屏并处于“等待”状态。此时按一下Edison扩展板上的重启按钮通常标记为SW1或RESET你应该会看到一串启动日志在屏幕上滚动。如果看到类似“Poky (Yocto Project Reference Distro) 1.6.1 edison ttyMFD2”的提示符恭喜你已经成功进入了Edison的系统控制台实操心得使用screen时退出会话的快捷键是Ctrl-A然后按K再按Y确认。直接关终端窗口可能导致会话残留。如果遇到连接后无响应、乱码等情况首先检查波特率115200是否正确其次检查USB线是否完好最后可以尝试换一个USB端口或重启screen会话。4. 网络连接配置Wi-Fi与USB RNDIS双保险让Edison接入网络是后续安装软件、传输文件的基础。我们配置两种方式Wi-Fi和USB RNDIS互为备份。4.1 配置Wi-Fi连接在刚才的screen串口终端里Edison启动完成后会提示你登录。默认用户名是root没有密码直接回车即可。Edison使用connman作为网络连接管理器。配置Wi-Fi的命令如下connmanctl # 进入connmanctl交互模式 connmanctl enable wifi connmanctl scan wifi connmanctl services # 此时会列出扫描到的Wi-Fi网络记住你要连接的网络SSID例如MyHomeWiFi connmanctl agent on connmanctl connect wifi_xxxxxxxxxxxx_MyHomeWiFi_managed_psk # 这里需要替换成上一步services命令列出的对应你Wi-Fi的那一长串ID # 然后会提示输入密码输入后回车 connmanctl quit配置完成后使用ifconfig命令查看wlan0接口应该能看到获取到的IP地址。也可以用ping 8.8.8.8测试外网连通性。4.2 配置USB RNDIS网络极其重要Wi-Fi可能受环境干扰而通过J15USB OTG口建立的RNDIS网络则提供了一个稳定、高速的直连通道在Wi-Fi配置失败或需要稳定传输时非常有用。在Edison上操作在串口终端中编辑网络配置文件。vi /etc/systemd/network/usb0.network如果没有这个文件就创建。内容如下[Match] Nameusb0 [Network] Address192.168.2.15/24 DNS8.8.8.8这里我们给Edison的usb0接口设置了一个静态IP192.168.2.15。保存退出。重启网络服务systemctl restart systemd-networkd在Linux电脑上操作拔插一下连接J15口的USB线。然后在电脑终端输入ifconfig或ip a寻找一个新增的网络接口通常名为enp0s20f0u1、usb0或enx开头的名字。为其配置同一网段的IP。sudo ip addr add 192.168.2.1/24 dev enp0s20f0u1 sudo ip link set enp0s20f0u1 up请将enp0s20f0u1替换为你电脑上实际识别出的接口名。测试连通性在电脑上ping 192.168.2.15。在Edison串口终端里ping 192.168.2.1。 双向都能ping通说明USB RNDIS网络配置成功。踩坑记录这里最大的坑就是电脑端的接口名每次拔插可能会变以及防火墙可能阻挡ping包。如果ping不通首先用ip a命令再三确认电脑端的接口名和IP配置是否正确。其次可以暂时关闭电脑的防火墙测试sudo ufw disable用于UFW或相应命令。配置成功后建议将电脑端的IP配置写成脚本方便下次使用。5. 启用SSH服务并优化访问一直用screen连着串口操作很不方便。配置好网络后我们启用SSH就可以用更友好的方式从电脑终端访问Edison了。在Edison串口终端中执行systemctl enable sshd systemctl start sshd检查SSH服务状态systemctl status sshd确认状态为active (running)。现在你可以从Linux电脑上通过网络连接Edison了通过Wi-Fi连接ssh root[edison_wifi_ip]通过USB RNDIS连接ssh root192.168.2.15首次连接会提示保存主机密钥输入yes即可。因为默认没有密码会直接登录。安全与便利优化设置root密码强烈建议在Edison上使用passwd命令为root账户设置一个强密码。配置密钥登录推荐在电脑上生成SSH密钥对ssh-keygen然后将公钥~/.ssh/id_rsa.pub的内容追加到Edison的/root/.ssh/authorized_keys文件中。这样以后登录无需密码更安全便捷。给Edison设置主机名编辑/etc/hostname文件改为你喜欢的名字如my-edison。同时修改电脑的/etc/hosts文件添加一行192.168.2.15 my-edison。之后就可以用ssh rootmy-edison来连接了。6. 系统更新与基础软件安装基础的板级配置完成后我们为Edison更新软件源并安装一些常用工具打造一个顺手的开发环境。Edison默认使用Yocto项目构建的Poky系统其包管理器是opkg。首先更新软件列表opkg update接下来安装一些必备或常用的软件包文件传输opkg install openssh-sftp-server(如果SFTP未安装)、curl、wget。文本编辑opkg install vim(比默认的vi更好用)。开发调试opkg install gdb strace。进程管理opkg install htop(一个强大的进程查看器)。Python环境Edison可能预装了Python 2.7如果需要Python 3可以尝试opkg install python3但需注意Yocto仓库的版本。注意事项Yocto的软件仓库可能比较旧某些软件包可能找不到或版本过低。这是嵌入式Linux定制发行版的普遍特点。如果确实需要新版本软件通常需要自己用Yocto或Buildroot交叉编译这属于进阶内容。对于入门学习和大多数应用仓库中的基础版本足够使用。安装完成后可以运行htop看看系统资源占用用vim编辑一个测试文件感受一下。7. 固件刷写恢复与升级指南如果你的Edison系统损坏或者想升级到某个特定版本的固件就需要进行刷写。刷写是通过J15USB OTG口将Edison置于设备模式DFU模式然后从电脑推送镜像文件完成的。准备工作从Intel官方存档或社区仓库下载所需的固件文件通常是一个.zip包解压后包含flashall.sh脚本和一系列.img文件。确保J15口连接到电脑并断开J16口的连接。在电脑上进入解压后的固件目录。进入DFU模式 这是最关键且容易出错的一步。Edison上没有物理的DFU按钮需要通过短路两个测试点来触发。找到测试点在Edison模块上不是扩展板寻找标记为J2-1和J2-2的两个非常小的金属孔。它们通常位于模块边缘。短路操作在Edison通电状态下用一根细小的镊子或导线瞬间短接J2-1和J2-2这两个测试点大约1秒。此时Edison会重启并进入DFU模式。电脑识别在电脑上执行lsusb命令如果看到Intel Corp. Edison [DFU device]之类的设备说明成功进入DFU模式。执行刷写 在固件目录下给刷写脚本执行权限并运行chmod x flashall.sh sudo ./flashall.sh脚本会自动检测DFU设备并依次刷写各个分区镜像。整个过程可能需要几分钟期间切勿断电或断开USB。刷写成功后Edison会自动重启。核心技巧与避坑短接技巧短接动作要“快而准”。太慢可能无法触发太久可能导致异常。可以多尝试几次同时观察lsusb的输出。权限问题必须使用sudo运行刷写脚本因为它需要直接访问USB设备。脚本失败如果脚本报错最常见的原因是DFU设备未正确识别或下载的固件包不完整。重新进入DFU模式并验证固件包的完整性如MD5值。刷写后刷写完成后第一次启动时间会较长因为系统需要初始化。请耐心等待并通过J16串口观察启动日志。至此你的Intel Edison开发板已经在Linux主机环境下完成了从硬件连接到系统配置、网络设置、服务优化到固件恢复的全套板级配置。它现在已经是一块“活”起来的、具备完整网络能力和基础开发环境的嵌入式Linux设备了。你可以通过SSH方便地访问它开始你的第一个嵌入式程序开发比如用Python读取传感器数据或者用C编写一个控制LED的程序。在接下来的系列文章中我们会深入这些应用开发的具体实践。