Skip to content

Wiki

Linux hardware communication

About 4 min read

1.Introduction to Linux Robot Communication Fundamentals Tutorial

Robotic systems are not just about algorithms and control; underlying communication is equally important.

In actual projects, the host computer often needs to exchange data with various hardware devices, such as communicating with an STM32, reading sensor data, controlling motor drivers, connecting to a LiDAR, exchanging data with other computing nodes, etc.

Ultimately, these functions all depend on communication.

1.1.Common Communication Methods

In Linux robot development, common communication methods mainly include:

Communication method Common scenarios Typical uses
UART / USB Serial STM32, ESP32, sensors, debug modules Communication between host computer and lower-level device, simple device control
CAN / CAN FD Motor drivers, chassis control boards, vehicle buses Multi-node device communication, motor control, chassis control
TCP / UDP LiDAR, network cameras, multi-program communication, remote control Network device communication, communication between host computers
Modbus RTU / TCP PLC, frequency converters, industrial sensors Industrial device communication
EtherCAT Servo drives, industrial robots, motion control systems High-real-time multi-axis control
I2C IMU, temperature and humidity sensors, OLED, ADC Embedded Linux direct connection to low-speed sensors
SPI High-speed ADC, screens, some sensor modules Embedded Linux direct connection to high-speed peripherals

These communication methods each have their applicable scenarios, and there is no absolute good or bad. In actual engineering, the choice is usually made based on hardware interfaces, real-time requirements, the number of devices, and project complexity.

1.2.Before discussing hardware, we must first cover knowledge related to Linux hardware binding and similar topics.

To be updated