はじめに
- OrangePi5でUART通信するための設定についてメモ
- コマンドからUART通信する方法を少しだけメモ
参考文献
こちらに書いてある内容を参考にしました。
UART
で検索をかけていけば、だいたいの操作は出てくるはず。
環境
- OrangePi5
- debian (Orange Pi 1.1.4 Bullseye with Linux 5.10.110-rockchip-rk3588)
設定
まず、orangepi-configを開く。特にパスワードを設定していないのであれば、orangepi
がsuのパスワードとなる。
$ sudo orangepi-config
System
→Hardware
と選択していき、uart*-m*
をSpaceキーでチェックを入れて<Save>
を選択する。
ちなみに、UARTとピンの関係は下記となる。
(OrangePi_5_RK3588S_User Manual_v0.7.pdfのp201参照)
UART0 | UART1 | UART3 | UART4 | |
---|---|---|---|---|
TX | pin8 | pin5 | pin19 | pin18 |
RX | pin10 | pin3 | pin21 | pin16 |



同じ画面に戻るため、<Back>
を選択する。するとリブートの有無を問われるため、<Reboot>
を選択する。

再起動後、下記のコマンドを入力してシリアルデバイスが存在することを確認する。ちなみに、ttyS~
以降の番号がUARTの番号は同じ。

確認
orangepi5のUART0でループバック通信して確認してみる。
(pin8とpin10をジャンパで結線しただけ。)
結線したら下記のコマンドを実行する。
ちなみに、下記の記事でsu権限なしでgpioを操作するための手順を実施していた場合は、sudoが不要となる。
$ sudo gpio serial /dev/ttyS0
このように、->
のあとに同じ数字が出力されていれば設定OKとなる。
ちなみに、正しく結線できていなかったり設定ができていないと->
のあとが空欄になったり、そもそもコマンドが実行できない。そのときは再度設定や結線を見直す必要がある。

ちゃんとUART通信してみる
同じくループバック通信で、お互いに文字を送受信してみる。
ターミナルを2つ用意し、先にcat
コマンドをタイプして待機状態にした後にecho
でデータを送信する。
cat /dev/ttyS0
echo "test" > /dev/ttyS0
分かりづらいですが、上がターミナル2で下がターミナル1です。

ちゃんと通信できれいれば、ターミナル2側でechoした文字列がターミナル1側で表示されているはず。
ちなみに通信時のボーレートは下記コマンドで確認可能
$ stty -F /dev/ttyS0

おわりに
- orangepi-config便利だなぁ...