reComputer Super ハードウェアとインターフェース使用方法

このwikiでは、reComputer Super上の様々なハードウェアとインターフェースについて、それらをプロジェクトアイデアの拡張にどのように使用するかを紹介します。
CSIカメラ
reComputer Superは、画像とビデオキャプチャ用の標準4 MIPI CSIカメラをサポートしています。カメラの接続とテストを行うには、以下の手順に従ってください。
ハードウェア接続

Step1. Recomputer Superの背面カバーを開きます。
Step2. MIPI CSIカメラをreComputer Super基板上の適切なCSIポートに接続します。
Step3. カメラを固定し、接続がしっかりしていることを確認します。
使用方法
CSIカメラを使用する前に、必要なカメラドライバーを含むJetPackバージョンがインストールされていることを確認してください。
Step1. カメラがシステムに認識されているかを確認します:
ls /dev/video*
ステップ2. (オプション)ビデオユーティリティがまだインストールされていない場合はインストールします:
sudo apt install v4l-utils
ステップ3. 以下のコマンドを使用してカメラを起動し、ビデオストリームを表示します:
nvgstcapture-1.0 --sensor-id=0
複数のカメラがある場合は、--sensor-id
を適切な値に変更してください。

USB
reComputer Superには合計4つのUSB 3.2ポートと、デバッグ用の1つのUSB 2.0 Type-Cポートがあります。
USB 3.2ポート
Jetsonターミナルでwatch -n 1 lsusb -tv
を入力してUSBポートを調べることができます。USBデバイスが接続されると、そのポートの詳細情報がここに表示されます。

さらに、dd
コマンドを使用してUSBストレージデバイスの読み書き速度をテストできます:
-
読み取り:
sudo dd if=/dev/sda of=/dev/null bs=1024M count=5 iflag=direct

-
書き込み:
sudo dd if=/dev/zero of=/dev/sda bs=1024M count=5 conv=fdatasync

USB 2.0 Type-C ポート
このシリアルポートを使用して、USB C データケーブル経由でPC側の入出力デバッグ情報を監視できます。
Step1. スイッチをデバッグモードに切り替えます。

Step2. USB データケーブルでPCに接続し、PC上でCP210X Driverをダウンロードします。

Step3. USB データケーブルでPCに接続し、ダウンロードしたファイルを解凍してPC上でドライバーをインストールします。

Step4. Windows PC上でデバイスマネージャーを開き、reComputer Superに割り当てられたCOMポート番号を確認します。「ポート (COM & LPT)」の下に「Silicon Labs CP210x USB to UART Bridge (COMX)」として表示されます。ここでXはCOMポート番号です。

Step5. シリアルポートツール(ここではMobaXtermツールを例として使用)を開き、新しいセッションを作成します。

Step6. Serialツールを選択します。

Step7. 対応するシリアルポートを選択し、ボーレートを115200に設定して「OK」をクリックします。

Step8. ユーザー名とパスワードでreComputer Superにログインします。

M.2 Key M
M.2 Key Mは高速ソリッドステートドライブ(SSD)用に設計されたインターフェースで、超高速データ転送速度を提供し、高性能アプリケーションに最適です。
サポートされているSSDは以下の通りです
- 128GB NVMe M.2 PCle Gen3x4 2280 Internal SSD
- 256GB NVMe M.2 PCle Gen3x4 2280 Internal SSD
- 512GB NVMe M.2 PCle Gen3x4 2280 Internal SSD
- 1TB NVMe M.2 PCle Gen3x4 2280 Internal SSD
- 2TB NVMe M.2 PCle Gen3x4 2280 Internal SSD
ハードウェア接続

使用方法
Jetsonデバイスでターミナルを開き、以下のコマンドを入力してSSDの読み書き速度をテストします。
#create a blank test file first
sudo touch /ssd/test
dd if=/dev/zero of=/home/seeed/ssd/test bs=1024M count=5 conv=fdatasync

テスト完了後は、sudo rm /home/seeed/ssd/test
コマンドを実行してキャッシュファイルを削除してください。
M.2 Key E
M.2 Key E インターフェースは、Wi-Fi や Bluetooth などのワイヤレス通信モジュール用に設計されたコンパクトで高速なデータインターフェースで、ワイヤレス機能を拡張するために使用されます。
ハードウェア接続

使用方法
Wi-Fi モジュールを取り付けてデバイスの電源を入れた後、デバイスの Wi-Fi と Bluetooth 設定を構成できます。

もちろん、以下のコマンドを使用してデバイスの動作状態を確認することもできます。
ifconfig

Bluetooth:
bluetoothctl
scan on

Mini PCIe
reComputer superには、LTE 4Gモジュール用のmini-PCIeが搭載されています。
ハードウェア接続

SIMカードを取り外したい場合は、カードを押し込んで内部のスプリングを作動させると、SIMがスロットから出てきます
使用方法
Step1. minicomをインストールします:
sudo apt update
sudo apt install minicom -y
ステップ2. 接続された4Gモジュールのシリアルコンソールに入り、ATコマンドを入力して4Gモジュールと対話できるようにします:
sudo minicom -D /dev/ttyUSB2 -b 115200
Step3. Ctrl+Aを押してからEを押して、ローカルエコーをオンにします。
Step4. コマンド「AT」を入力してEnterを押します。レスポンスが「OK」と表示されれば、4Gモジュールが正常に動作しています。

Step5. コマンド「ATI」を入力してモジュール情報を確認します。

4Gネットワークを使用したインターネットアクセス

RTC
reComputer SuperはRTCインターフェースを搭載しており、システムの電源がオフの状態でも正確な時刻を保持できます。
ハードウェア接続
以下に示すように、3V CR1225コイン電池をボード上のRTCソケットに接続します。電池の**プラス(+)**端子が上向きになるようにしてください。

使用方法
Step1. 上記の通りRTC電池を接続します。
Step2. reComputer Superの電源をオンにします。
Step3. Ubuntuデスクトップで、右上角のドロップダウンメニューをクリックし、Settings > Date & Time
に移動し、イーサネットケーブルでネットワークに接続してAutomatic Date & Timeを選択し、日付/時刻を自動的に取得します。

イーサネット経由でインターネットに接続していない場合は、ここで手動で日付/時刻を設定できます。
Step4. ターミナルウィンドウを開き、以下のコマンドを実行してハードウェアクロック時刻を確認します:
cat /sys/devices/platform/bpmp/bpmp\:i2c/i2c-4/4-003c/nvvrs-pseq-rtc/rtc/rtc0/time
.png)
ステップ5. ネットワーク接続を切断してデバイスを再起動します。システム時刻は電源を失いましたが、まだ正常に機能していることがわかります。

Ethernet
reComputer Superには10/100/1000Mをサポートする2つのRJ45ギガビットEthernetがあります。ETH0はネイティブEthernetポートで、もう一つのETH1はPCIeから変換されたものです。

各Ethernetポートには2つのLED(緑と黄色)があります:
- 緑LED:1000M/10Gネットワークに接続されている場合のみ点灯。
- 黄LED:ネットワークアクティビティステータスを表示。
Ethernetの速度をテストします:
iperf3 -c 192.168.254.100 -R
-c <ip address>
はサーバーのIPアドレスで、-R はリバースモードを意味します。

iperf3 -c 192.168.254.100

LED インジケータ
reComputer Super には 2 つの LED インジケータ(PWR と ACT)が搭載されており、電源状態とシステムアクティビティを表示し、ユーザーがデバイスの動作をリアルタイムで監視できます。

ファン
reComputer Super には、異なる電圧と冷却ニーズに対応するため、2 種類のファンコネクタが搭載されています:
-
1x 4ピンファンコネクタ(5V PWM):低電圧、低消費電力の静音ファン用に設計されており、このコネクタは PWM 速度制御をサポートし、システム温度に基づいてファン速度をインテリジェントに調整することで、エネルギー効率を向上させ、ノイズを低減します。
-
1x 4ピンファンコネクタ(12V PWM):標準的な 12V PWM ファンと互換性があり、精密な速度制御もサポートしており、高性能冷却要件に最適です。
ハードウェア接続

詳細については、こちらをご確認ください。
ファン速度の設定:
sudo -i
echo 100 > /sys/bus/platform/devices/pwm-fan/hwmon/hwmon1/pwm1
さらに、jtopツールを使用して手動でファン速度を設定することもできます。
CAN
CAN(Controller Area Network)インターフェースは、マイクロコントローラとデバイス間の通信に使用されるシリアル通信プロトコルで、高速、強力な抗干渉能力、マルチノード通信のサポートという特徴があります。
ハードウェア接続
- 接続線の順序に注意してください(R OUT ↔ RX、D IN ↔ TX)。その後、CANバストランシーバーを通してCAN_LとCAN_Hに変換します。

- PC CANツールダウンロード
- 3.3V CMOSレベルCANバス(差動ではない)
CANインターフェースは絶縁電源を使用しています。これは、CANインターフェースに接続される外部デバイスのグランド信号をGND_ISOピンに接続する必要があることを意味します。
ここでは、当社のBazaarで入手可能なUSB to CAN Analyzer AdapterとUSBケーブルを使用しました。
使用方法
Step1. 使用しているUSB to CANアダプターのドライバーをメーカーのWebサイトからダウンロードしてインストールします。今回使用したアダプターの場合、ドライバーはこちらで見つけることができます。
Step2. 一部のアダプターには、CANデバイスと通信するためのPC用の必要なソフトウェアも付属しています。今回使用したアダプターの場合、こちらで見つけることができるソフトウェアをダウンロードしてインストールしました。
Step3. JetsonのCANインターフェースを初期化します。
Jetsonで**can_init.sh
**という名前の新しいファイルを作成し、以下の内容を記述します:
#!/bin/bash
sudo gpioset gpiochip2 9=0
sudo gpioset gpiochip2 8=0
sudo busybox devmem 0x0c303018 w 0xc458
sudo busybox devmem 0x0c303010 w 0xc400
sudo busybox devmem 0x0c303008 w 0xc458
sudo busybox devmem 0x0c303000 w 0xc400
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
sudo ip link set can0 down
sudo ip link set can1 down
sudo ip link set can0 type can bitrate 125000
sudo ip link set can1 type can bitrate 125000
sudo ip link set can0 up
sudo ip link set can1 up
Then, run the file we just created in the Jetson terminal window:
sudo apt-get install gpiod
cd <path to can_init.sh>
sudo chmod +x can_init.sh
./can_init.sh
Step4. ターミナルでifconfigと入力すると、CANインターフェースが有効になっていることが確認できます。

Step5. 以前にインストールしたCANソフトウェアを開きます。この場合、使用しているCANアダプターに応じてインストールしたソフトウェアを開きます。

Step6. USB to CANアダプターをPCに接続し、Windowsの検索バーで検索してデバイスマネージャーを開きます。接続されたアダプターがポート (COM & LPT)の下に表示されます。ここに表示されているシリアルポートをメモしてください。下の画像によると、シリアルポートはCOM9です。

Step7. CANソフトウェアを開き、COMセクションの横にあるRefreshをクリックし、ドロップダウンメニューをクリックして接続されたアダプターに応じてシリアルポートを選択します。COM bpsはデフォルトのままにして、Openをクリックします。

Step8. ModeとCAN bpsはデフォルトのままにし、TypeをStandard frameに変更してSet and Startをクリックします。

Step9. reComputer Industrialで、以下のコマンドを実行してPCにCAN信号を送信します:
cansend can0 123#abcdabcd
以下のように、ソフトウェアが受信した上記の信号が表示されます

ステップ10. reComputer Industrialで、以下のコマンドを実行してPCからのCAN信号の受信を待機します:
candump can0 &
Step11. CANソフトウェアで、Send a single frameをクリックします:

これで、以下のようにreComputer Industrialで受信されることが確認できます:

拡張ポート
拡張ポートには40ピン拡張ヘッダーと12ピン制御・UARTヘッダーが含まれており、周辺機器や通信インターフェース用の多様な接続オプションを提供します。
40ピン拡張ヘッダー

40ピン拡張ヘッダーは、GPIO、I2C、SPI、UARTなどの様々な機能を提供する多用途拡張インターフェースで、センサー、周辺機器、その他のモジュールの接続を便利にします。
使用方法
40ピンヘッダーの有効化:
sudo /opt/nvidia/jetson-io/jetson-io.py



保存して再起動します。
オーバーレイ設定を通じて制御されていないGPIOを設定する:
ステップ1. オーバーレイパッケージをダウンロードし、Jetsonデバイスに展開します。
ステップ2. build.shとgpio-overlay.dtsをJetsonにコピーします。
ステップ3. sudo ./build.shを実行します。
ステップ4. sudo /opt/nvidia/jetson-io/config-by-hardware.py -n "seeed gpio config Overlay"を実行します。
これは一度だけ実行する必要があり、その後実行する必要はありません。
cd overlay/
ls -l
#total 16
#-rwxrwxr-x 1 seeed seeed 147 Sep 9 07:33 build.sh
#-rw-r--r-- 1 root root 1353 Sep 9 07:36 gpio-overlay.cpp.dts
#-rw-r--r-- 1 root root 1214 Sep 9 07:36 gpio-overlay.dtbo
#-rw-rw-r-- 1 seeed seeed 1879 Sep 9 07:35 gpio-overlay.dts
sudo ./build.sh
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n "seeed gpio config Overlay"
#Modified /boot/extlinux/extlinux.conf to add following DTBO entries:
#/boot/gpio-overlay.dtbo
#Reboot system to reconfigure.
以下は、gpiodツールキットを使用してGPIOピンを操作するためのコマンド例です。
ステップ1. gpiodをインストールします:
sudo apt-get install gpiod
ステップ2. ピン番号を見つける:
sudo gpiofind PH.00
ステップ 3. ピンをハイに設定:
sudo gpioset --mode=wait 0 43=1
ステップ4. ピンをローに設定:
sudo gpioset --mode=wait 0 43=0
ステップ 5. 入力を読み取る:
gpioget 0 4
GPIO制御スクリプトの例
#!/bin/bash
# GPIO Control Script
# Usage:
# gpio_ctrl.sh <pin_name> <command>
# Commands:
# get - Read the current pin level
# set - Drive the pin high
# clear - Drive the pin low
# Parameter validation
if [ $# -ne 2 ]; then
echo "Usage: $0 <pin_name> <command>"
echo "Commands:"
echo " get - Read pin state"
echo " set - Set to high level"
echo " clear - Set to low level"
exit 1
fi
# Map and parse arguments
PIN_NAME=$1
COMMAND=$2
# Locate the GPIO
GPIO_INFO=$(gpiofind "$PIN_NAME" 2>/dev/null)
if [ -z "$GPIO_INFO" ]; then
echo "Hardware alert: GPIO pin $PIN_NAME not found"
exit 1
fi
# Split info into chip and offset
GPIO_CHIP=$(echo "$GPIO_INFO" | cut -d' ' -f1 | tr -d 'gpiochip')
GPIO_OFFSET=$(echo "$GPIO_INFO" | awk '{print $2}')
# Execute command
case $COMMAND in
"get")
gpioget $GPIO_CHIP $GPIO_OFFSET
;;
"set")
echo "Setting $PIN_NAME to high level..."
gpioset --mode=wait $GPIO_CHIP $GPIO_OFFSET=1
;;
"clear")
echo "Setting $PIN_NAME to low level..."
gpioset --mode=wait $GPIO_CHIP $GPIO_OFFSET=0
;;
*)
echo "Error: Invalid command. Please use get, set, or clear."
exit 1
;;
esac
12ピン制御およびUARTヘッダー

12ピン制御およびUARTヘッダーは、外部デバイスの接続と管理に必要な制御信号とUART通信インターフェースを提供します。
HDMI
reComputer SuperはHDMI 2.1 Type Aポートを搭載しており、7680x4320の解像度をサポートしています。これにより、超高精細ビデオ出力が可能になります。
技術サポートと製品ディスカッション
弊社製品をお選びいただき、ありがとうございます!お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供いたします。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルをご用意しています。