LoginSignup
1
0

OrangePi5(debian)でUART通信してみた

Last updated at Posted at 2023-05-07

はじめに

  • 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

 SystemHardwareと選択していき、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でデータを送信する。

ターミナル1
cat /dev/ttyS0
ターミナル2
echo "test" > /dev/ttyS0

分かりづらいですが、上がターミナル2で下がターミナル1です。

ちゃんと通信できれいれば、ターミナル2側でechoした文字列がターミナル1側で表示されているはず。

ちなみに通信時のボーレートは下記コマンドで確認可能

$ stty -F /dev/ttyS0

おわりに

  • orangepi-config便利だなぁ...
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0