在智能制造和工业物联网项目中,Linux系统常作为边缘计算节点或开发主机的底层操作系统。为了让它顺利对接产线设备并完成稳定开发,需要从内核、权限、通信协议等多方面进行配置。

一、选择合适的Linux发行版
对于工业场景,建议选用长期支持版本的Ubuntu或Debian。若涉及硬实时控制,可考虑搭配PREEMPT_RT补丁的内核,降低任务调度延迟。
安装实时内核示例
在Ubuntu下安装带实时补丁的内核可用如下命令:
# 添加实时内核仓库并安装 sudo apt update sudo apt install linux-image-rt-amd64 linux-headers-rt-amd64 # 重启后选择实时内核 sudo reboot
二、配置硬件访问权限
工业设备常通过串口、GPIO或USB连接。默认情况下普通用户无权访问,需将用户加入对应组。
- dialout:串口设备访问
- gpio:通用输入输出引脚
- plugdev:USB外设
# 将当前用户加入硬件相关组 sudo usermod -aG dialout,gpio,plugdev $USER # 重新登录后生效
三、部署工业通信协议栈
智能制造依赖Modbus、MQTT、OPC UA等协议。可使用开源库快速搭建。
| 协议 | 用途 | 常见工具 |
|---|---|---|
| Modbus | PLC寄存器读写 | libmodbus |
| MQTT | 设备消息上报 | mosquitto |
| OPC UA | 跨平台数据交换 | open62541 |
Python连接Modbus设备示例
from pymodbus.client import ModbusSerialClient
# 创建串口客户端
client = ModbusSerialClient(port='/dev/ttyS0', baudrate=9600, timeout=1)
if client.connect():
# 读取保持寄存器地址0开始的10个值
result = client.read_holding_registers(0, 10, slave=1)
print(result.registers)
client.close()
四、使用容器隔离开发环境
为避免依赖冲突,可用Docker封装工业SDK。下面给出简单Dockerfile:
FROM ubuntu:22.04 RUN apt update && apt install -y python3-pip libmodbus-dev RUN pip3 install pymodbus paho-mqtt WORKDIR /app COPY . /app CMD ["python3", "main.py"]
构建并运行容器时,需映射串口设备:
docker build -t iot-dev . docker run -it --device=/dev/ttyS0 iot-dev
五、系统服务与优化
关闭不必要的桌面服务,设置时间同步,保证工控时钟一致。可用timedatectl开启NTP。
# 启用网络时间同步 sudo timedatectl set-ntp true
经过上述步骤,Linux系统即可作为可靠的智能制造与工业物联网开发底座,便于后续接入各类设备与平台。