This page has moved to https://docs.px4.io/master/zh/tutorials/linux_sbus.html.
Click here if you are not redirected.
This topic shows how to setup a PX4 Linux-based autopilot to connect and use a supported RC receiver on any serial port.
For RC types other than S.Bus, you can just connect the receiver directly to the serial ports, or to USB via a USB to TTY serial cable (e.g. like PL2302 USB to Serial TTL converter).
For an S.Bus reciever (or encoder - e.g. from Futaba, RadioLink, etc.) you will usually need to connect the receiver and device via a signal inverter circuit, but otherwise the setup is the same.
Then Start the PX4 RC Driver on the device, as shown below.
To start the RC driver on a particular UART (e.g. in this case
rc_input start -d /dev/ttyS2
For other driver usage information see: rc_input.
S.Bus is an inverted UART communication signal.
While some serial ports/flight controllers can read an inverted UART signal, most require a signal inverter circuit between the receiver and serial port to un-invert the signal.
This circuit is also required to read S.Bus remote control signals through the serial port or USB-to-TTY serial converter.
This section shows how to create an appropriate circuit.
- 1x NPN 晶体管（例如 NPN S9014 TO92）
- 1x 10K 电阻
- 1x 1K 电阻
Connect the components as described below (and shown in the circuit diagram):
- S.Bus 信号→1K 电阻→NPN 晶体管
- 3.3VCC＆→ 10K电阻→ NPN晶体管集合→ USB-to-TTY rxd
- 5.0VCC→S.Bus VCC
- GND → S.Bus GND
The image below shows the connections on a breadboard.