reTerminal DM Getting Started
reTerminal DMは10.1インチのオープンソース産業用HMI - オンサイトデバイスのデータフローを統合し管理する統合デバイスマスターです。
Raspberry Pi CM4をベースとし、Panel PC、HMI、PLC、IIoTゲートウェイのオールインワンデバイスとして、reTerminal DMはIP65産業グレードの大型スクリーンを備えた新世代のインタラクティブセンシングハブです。
豊富な拡張性とハイブリッド接続性を備え、CANバス、RS485、RS232、ギガビットイーサネットポート、その他のインターフェースをサポートし、4G、LoRa®、WiFi、BLEなどの強力なワイヤレス通信機能も備えています。
*4GおよびLoRa®モジュールはreTerminal DMにデフォルトで付属していません。関連モジュールを別途ご購入ください。 4Gバンドル
特徴
- HMI、PLC、Panel PC、ゲートウェイが一体化:分散ハブデバイスに最適
- イベント駆動アプリケーション用のローコードプログラミング:フローベース編集とワンクリックデプロイメント用のNode-REDをネイティブ統合、Raspberry Piで動作するすべてのソフトウェアと互換性あり
- 過酷な作業環境に対応する堅牢設計:IP65フロントパネル、-10~50°C動作温度
- ハイブリッド接続性:4G LTE、LoRaWAN®、WiFi、BLE、RS485/RS232、CANバス、1000Mイーサネット、USB、HDMIをサポート
- ソフトウェアとハードウェアのオープンソース設計:Raspberry Pi CM4を搭載、カスタマイズや派生製品を歓迎
- 製品保証:2年保証
*4GおよびLoRa®モジュールはreTerminal DMにデフォルトで付属していません。関連モジュールを別途ご購入ください。
仕様
基本仕様 | |
CPU | CM4 |
Quad-core [email protected] | |
メモリ | 8GB |
ストレージ | 32GB eMMC |
M.2 SATA SSD スロット 2280-B Key(オプション) | |
OS サポート | Raspbian SenseCraft Edge OS |
ディスプレイ | |
サイズ | 10.1'' |
最大解像度 | 1280 x 800 |
最大色数 | 16.7M(8ビット) |
輝度 | 400 nit |
視野角 | 170/170 H/V° |
バックライト寿命 | 30000時間 |
タッチタイプ | 10点静電容量式 |
鉛筆硬度 | 7H |
ビデオ&オーディオ | |
ビデオ | HDMI 2.0 |
オーディオ | マイクロフォン x 2 |
ブザー | |
3.5mmオーディオジャック | |
カメラ | CSI(オプション) |
インターフェース | |
Ethernet | 1 x 10/100/1000 Mbps |
1 x 10/100/1000 Mbps(オプション) | |
USB | 2 x USB-A 2.0 ホスト |
2 x USB 3.0(オプション) | |
RS485 | 1 x RS-485 > ターミナルブロック 1 x RS-485 > DB9(オプション) |
RS232 | 1 x RS-232 > ターミナルブロック 1 x RS-232 > DB9 (オプション) |
CAN | 1 x CAN-BUS > ターミナルブロック |
DI | 4 x DI > ターミナルブロック |
DO | 4 x DO > ターミナルブロック |
40pin GPIO | 内部 |
ワイヤレス通信 | |
WiFi | オンチップWiFi |
BLE | オンチップBLE |
LoRa® | LoRaWAN®用Mini-PCIe (オプション) |
Cellular | 4G用Mini-PCIe (オプション) |
電源 | |
Input | 2ピンターミナルブロック |
PoE | 12W PoE (オプション) |
電源範囲 | 12~24 DC |
環境 | |
防塵防水等級 | IP65 フロントパネル |
動作温度 | -10~50 °C |
保存温度 | -20~70 °C |
湿度(動作時) | 10~90% RH |
機械的仕様 | |
寸法 | 259.4 x 191 x 42.2 mm |
筐体 | ダイカストアルミニウム合金 |
取り付け方法 | パネル、VESA、DINレール |
重量(正味) | 1.8Kg |
認証 | |
CE, FCC, RoHS, Telec, REACH | |
その他 | |
RTC | 高精度RTC |
セキュリティ | ATECC608A |
保証 | 2年 |
放熱 | ファンレス |
ハードウェア概要

メインボード概要

電源図

reTerminal DMは2つの電源供給オプションをサポートしています:DCターミナルとPoEポート。デフォルトでは、reTerminal DMはDCターミナルを通じて電源供給されますが、PoE電源供給はオプションです。これにより電源供給の選択に柔軟性を提供し、様々な電源との簡単な統合を可能にします。
電源ターミナル

reTerminal DMは12~24Vの定格電圧で供給されます。電源は2ピン電源ターミナルブロックコネクタを介して接続されます。
POE(オプション)
標準製品にはデフォルトでPoEモジュールは含まれていません。Seeedはバッチカスタマイズ注文に対してリクエストに応じてPoEはんだ付けおよび組み立てサービスを提供できます。[email protected]までお問い合わせください。
PoEモジュールが取り付けられている場合、reTerminal DMのLAN1ポートはPoE電源供給をサポートでき、イーサネット経由でデバイスに電源を供給する便利で効率的な方法を提供します。このオプションは設置プロセスを簡素化し、必要なケーブル配線量を削減するため、電源が限られているアプリケーションや電源コンセントが容易に利用できない場所での理想的なソリューションとなります。
- PoE入力:範囲44~57V;標準48V
- PoE出力:12V、1.1A最大
消費電力
reTerminal DMの消費電力については、Seeed Studioの実験室でテストされた以下の表を参照してください。テスト方法と環境により結果に変動が生じる可能性があるため、この値は参考値であることにご注意ください。
状態 | 電圧 | 電流 | 消費電力 | 説明 |
---|---|---|---|---|
シャットダウン | 0.6mA | シャットダウンおよび電源オフ状態での静的消費電力テスト。 | ||
アイドル | 24V | 0.165A | 3.96W | デフォルトのSeeed Studioシステムを実行中、テストプログラムを実行せずに、ターミナルソケットを通じてreTerminal DMデバイスに24V電源を供給した際の入力電流をテストします。 |
フル負荷 | 24V | 0.37A | 8.88W | "stress -c 4"コマンドを使用してCPUをフル負荷で実行するよう設定し、同時にビデオを再生してCAN & RS485通信を実行。外部デバイスは接続されていません。 |
電源オンと電源オフ
reTerminal DMにはデフォルトで電源ボタンが付いておらず、電源が接続されるとシステムが自動的に起動します。シャットダウンする際は、オペレーティングシステムのシャットダウンオプションを選択し、システムが完全にシャットダウンするまで待ってから電源を切断してください。システムを再起動するには、単純に電源を再接続してください。
シャットダウン後は、内部コンデンサが完全に放電されるよう、システムを再起動する前に少なくとも10秒間待ってください。
ブロック図

I2Cブロック

インターフェース
マイクロフォン
reTerminal DMには、スクリーンの下の左右に配置された2つのMEMSマイクロフォンが搭載されています。これらのマイクロフォンはデュアルマイクロフォンアレイとして構成でき、優れた音声収集機能を提供します。マイクロフォンはI2Sインターフェースを通じてオーディオコーデックチップと通信し、コーデックチップはPCMインターフェースを通じてCM4と通信します。reTerminal DM用に選択されたオーディオコーデックチップは、TI TLV320AIC3104 Low-Power Stereo Audio Codecです。
フロントパネルのIP65等級を達成するため、マイクロフォンの開口部は防水音響膜で覆われていることに注意することが重要です。マイクロフォンの開口部に鋭利な物体で触れることは避けてください。
マイクロフォンとのインターフェースについて:
デバイス上でTerminal
アプリを開き、arecord -l
と入力してマイクロフォンドライバを見つけてください:

オーディオを録音するにはaudacity
アプリを使用できます。sudo apt install audacity
を使用してaudacityアプリをインストールしてください:
audacityを開いてアプリを起動し、録音をクリックして内蔵マイクロフォンからオーディオを録音してください:

LEDインジケータ

reTerminal DMには、マシンの動作状態を示すための3つのLEDインジケータが搭載されています。各LEDの具体的な機能と状態については、以下の表を参照してください:
LEDピン割り当て
ラベル | 信号 | 信号源 | 色 | 説明 |
---|---|---|---|---|
PWR | LED_nPWR | CM4 | 黄色 | CM4の電源供給を示すために使用されます。CM4が正常に電源オンされると、LEDが点灯します |
USER | PCA9535 - GPIO | 赤色 | ユーザー定義機能 | |
ACT | LED_nACT | CM4 | 緑色 | システムの様々な状態を示すために使用されます。下記の表を参照してください。 |
ACT ステータステーブル
長い点滅 | 短い点滅 | ステータス |
---|---|---|
0 | 3 | 起動の一般的な失敗 |
0 | 4 | start*.elf が見つかりません |
0 | 7 | カーネルイメージが見つかりません |
0 | 8 | SDRAM 障害 |
0 | 9 | SDRAM 不足 |
0 | 10 | HALT 状態 |
2 | 1 | パーティションが FAT ではありません |
2 | 2 | パーティションからの読み取りに失敗しました |
2 | 3 | 拡張パーティションが FAT ではありません |
2 | 4 | ファイル署名/ハッシュの不一致 - Pi 4 |
4 | 4 | サポートされていないボードタイプ |
4 | 5 | 致命的なファームウェアエラー |
4 | 6 | 電源障害タイプ A |
4 | 7 | 電源障害タイプ B |
ACT LEDが規則的な4回点滅パターンで点滅する場合、bootcode(start.elf)が見つかりません
ACT LEDが不規則なパターンで点滅する場合、起動が開始されています
ACT LEDが点滅しない場合、EEPROMコードが破損している可能性があります。何も接続せずに再度試してください
詳細については、Raspberry Piフォーラムをご確認ください:
STICKY: Is your Pi not booting? (The Boot Problems Sticky) - Raspberry Pi Forums
詳細については、Raspberry Piフォーラムをご確認ください:https://forums.raspberrypi.com//viewtopic.php?f=28&t=58151
USER LEDをアクティブにするには、以下のコマンドを使用してください:
sudo -i
echo 0 > /sys/class/leds/usr-led/brightness
echo 1 > /sys/class/leds/usr-led/brightness
ユーザーLEDが赤色に点灯するのが確認できるはずです。
光センサー

画面の右下に位置する光センサーは、周囲の光の強度を検出し、画面の明るさを自動調整して最適な視聴体験を提供しながらエネルギーを節約する機能があります。光センサーはI2Cプロトコルを通じてCM4と通信します。
I2Cアドレスは 0x29 です。
光センサーとのインターフェースを行うには:
- ステップ 1. 以下のディレクトリに移動します
cd /sys/bus/iio/devices/iio:device0
- Step 2. Type the following to obtain the light intensity value in Lux
cat in_illuminance_input

ブザー

reTerminal DMは、画面の右下角に配置されたアクティブブザーを搭載しており、アラームやイベント通知など様々な用途に使用できます。ブザーはPCA9535 GPIO拡張ICを通じて制御され、デバイスに追加のデジタルI/Oチャンネルを提供します。
ブザーをテストして制御するには、/sys/class/leds/usr-buzzer/brightness
ファイルに1
または0
を設定するだけです:

多機能ターミナル

ターミナルと信号対応表
CANH | CANL | GND_ISO | RS485A | RS485B | GND_ISO | RS232_TX | RS232_RX | GND | GND |
---|---|---|---|---|---|---|---|---|---|
DI1 | DI2 | DI3 | DI4 | GND_DI | DO1 | DO2 | DO3 | DO4 | GND_DO |
ターミナルピン配置表
Pin | Silk-screen | Signal | Description |
---|---|---|---|
1 | CH | CANH | 差動CAN信号ハイ |
2 | CL | CANL | 差動CAN信号ロー |
3 | GS | GND_ISO | 絶縁グランド信号 |
4 | RA | RS485A | 差動RS485信号A |
5 | RB | RS485B | 差動RS485信号B |
6 | GS | GND_ISO | 絶縁グランド信号 |
7 | RT | RS232_TX | RS232信号送信端 |
8 | RX | RS232_RX | RS232信号受信端 |
9 | GD | GND | メインボードグランド |
10 | GD | GND | メインボードグランド |
11 | I1 | DI1 | デジタル入力1 |
12 | I2 | DI2 | デジタル入力2 |
13 | I3 | DI3 | デジタル入力3 |
14 | I4 | DI4 | デジタル入力4 |
15 | GI | GND_DI | 入力グランド信号、1MΩを介してGNDに接続 |
16 | D1 | DO1 | デジタル出力1 |
17 | D2 | DO2 | デジタル出力2 |
18 | D3 | DO3 | デジタル出力3 |
19 | D4 | DO4 | デジタル出力4 |
20 | GO | GND_DO | 出力グランド信号、0Ωを介してGNDに接続 |
DI/DO
reTerminal DMは4つのデジタル入力と4つのデジタル出力チャンネルをサポートしており、すべて光学的に絶縁されているため、電圧スパイクやその他の電気的外乱からメインボードを効果的に保護します。

DI/DOピン配置表
ピン | CM4信号 | 標準電圧範囲 | 最大電圧 | 定格電流容量 |
---|---|---|---|---|
DI1 | GPIO16 | 5-24V DC | 30V DC | |
DI2 | GPIO17 | 5-24V DC | 30V DC | |
DI3 | GPIO22 | 5-24V DC | 30V DC | |
DI4 | GPIO23 | 5-24V DC | 30V DC | |
GND_DI | ||||
DO1 | GPIO24 | 5-24V DC | 30V DC | 500mA |
DO2 | GPIO25 | 5-24V DC | 30V DC | 500mA |
DO3 | GPIO26 | 5-24V DC | 30V DC | 500mA |
DO4 | GPIO6 | 5-24V DC | 30V DC | 500mA |
GND_DO |
入力信号のグランドと出力信号のグランドは異なります。入力信号のグランドはGND_DIピンに接続し、出力信号のグランドはGND_DOピンに接続する必要があります。
reTerminal DMのデジタル入力と出力に使用される負論理では、Terminal IOとCM4 GPIO間の論理レベル関係は以下の表に示されています。
ターミナルデジタル入力 | CM4 GPIO 検出信号 |
---|---|
Low | High |
High | Low |
CM4 GPIO 出力 | ターミナルデジタル出力 |
---|---|
High | Low |
Low | High |
このセクションでは、raspi-gpio
ツールを使用してGPIOをテストします。raspi-gpio help
を使用してマニュアルを表示できます:

すべてのGPIOの現在の状態を取得するには、Terminal
で以下のコマンドを入力してください:
raspi-gpio get

デジタル入力
DIにセンサーを配線する方法を示した回路図は以下の通りです:

特定のGPIOステータスを取得するには、Terminal
で以下のコマンドを入力してください:
raspi-gpio get 16

ここで、GPIO16
の現在の状態はINPUT
に設定され、pulling Down
で現在のピンレベルは1
、つまりHigh
を意味し、上記の表によると現在のターミナルデジタル入力DI1
はLow
であることを意味します。
DI1
にHigh
信号を入力するために、DI1
ターミナルを5V電源
の正極
ピンに接続し、5V電源
のグランド
をGND_DI
に接続しましょう。
raspi-gpio get 16

現在のGPIO16
のピンレベルは0
で、これはLow
を意味し、上記の表によると現在のTerminal Digital Input DI1
はHigh
であることを意味します。
デジタル出力
以下は負荷をDOに配線する方法を示した回路図です:

デジタル出力の状態値を制御するには、まずピンの状態をOutput
とpulling Down
に設定する必要があります:
#set current pin state
raspi-gpio set 24 op pd dh
#get the pin state after set
raspi-gpio get 24

GPIO24
はDO1
に対応し、Output
およびpulling down
状態に設定され、GPIO24
レベルはHigh
に設定されています。
次にGPIO24
をLow
に設定します。これはDO1
出力がHigh
として駆動されることを意味します。
#set current pin state
raspi-gpio set 24 dh
#get the pin state after set
raspi-gpio get 24

RS485

reTerminal DMは20ピンコネクタを通じてRS485インターフェースを搭載しており、産業用および自動化アプリケーションでの安全で信頼性の高い動作を確保するため、信号と電源の両方が絶縁されています。RS485 A
とRS485 B
信号は容量性絶縁を使用して絶縁されており、優れたEMI耐性を提供し、RS485インターフェースの高速通信要件を満たします。
デフォルトで120Ωの終端抵抗が取り付けられています。 RS485インターフェースは絶縁電源を使用しているため、RS485インターフェースに接続される外部デバイスのグランド信号はGND_ISOピンに接続する必要があります。
RS485をテストし、インターフェースするには、USBからRS485へのアダプターを準備する必要があります。接続が以下と同じであることを確認してください:

RS485ポートは、実行しているOSに応じて/dev/ttyACM1
または/dev/ttyCH340USB1
であることに注意してください。
ホストコンピューターでお気に入りのシリアル通信ツールを使用して、以下のテストを実行してください: reTerminal DMでPythonコードを実行してRS485シリアル接続をテストします。このコードはRS485シリアルポートを以下のように設定します:
ボーレート -> 9600 バイトサイズ -> 8ビット パリティ -> なし ストップビット -> 1 ハードウェアフロー制御 -> 無効
import serial, time
import os
ser = serial.Serial()
if os.path.exists('/dev/ttyACM1'):
ser.port = "/dev/ttyACM1"
elif os.path.exists('/dev/ttyCH340USB1'):
ser.port = "/dev/ttyCH340USB1"
else:
print('Neither /dev/ttyACM1 nor /dev/ttyCH340USB1 is present')
#9600,N,8,1
ser.baudrate = 9600
ser.bytesize = serial.EIGHTBITS #number of bits per bytes
ser.parity = serial.PARITY_NONE #set parity check
ser.stopbits = serial.STOPBITS_ONE #number of stop bits
ser.timeout = 0.5 #non-block read 0.5s
ser.writeTimeout = 0.5 #timeout for write 0.5s
ser.xonxoff = False #disable software flow control
ser.rtscts = False #disable hardware (RTS/CTS) flow control
ser.dsrdtr = False #disable hardware (DSR/DTR) flow control
try:
ser.open()
except Exception as ex:
print ("open serial port error " + str(ex))
exit()
if ser.isOpen():
try:
ser.flushInput() #flush input buffer
ser.flushOutput() #flush output buffer
time.sleep(0.1)
#write data
ser.write("rs485 communication is on, you can try to send data...\n".encode())
print("Sent successfully\n")
time.sleep(5) #wait 5s
#read data
numofline = 0
print("Reading Data:")
while True:
response = ser.readline()
print(response)
numofline = numofline +1
if (numofline >= 1):
break
ser.close()
except Exception as e1:
print ("communicating error " + str(e1))
else:
print ("open serial port error")

RS232

reTerminal DMの20ピンコネクタにはRS232インターフェースも含まれており、これは絶縁されていません。RS232通信は通常CMOSの電圧レベルを使用し、通信距離が短いため、環境からの電磁干渉の影響を受けにくいためです。
グラウンドピンはRX
ピンの隣にあるGD
ピンに接続する必要があることにご注意ください。GS
ピンではないことを確認してください。
以下は、reTerminal DMからホストコンピュータにデータを送信するテスト用のPythonスクリプトです:

import time
import serial
import os
if os.path.exists('/dev/ttyACM0'):
port = "/dev/ttyACM0"
elif os.path.exists('/dev/ttyCH340USB0'):
port = "/dev/ttyCH340USB0"
else:
print('Neither /dev/ttyACM0 nor /dev/ttyCH340USB0 is present')
ser = serial.Serial(
port = port,
baudrate = 9600,
parity = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
bytesize = serial.EIGHTBITS,
timeout = 1
)
counter=0
try:
print("rs232 starts now!\n")
ser.write("rs232 starts now!\n".encode())
while 1:
ser.write(("Write counter:{}\n".format(counter)).encode())
time.sleep(1)
counter += 1
except KeyboardInterrupt:
exit()
reTerminal DMがホストコンピュータから送信されたデータを受信するテスト用Pythonスクリプトは以下の通りです。

import time
import serial
import os
if os.path.exists('/dev/ttyACM0'):
port = "/dev/ttyACM0"
elif os.path.exists('/dev/ttyCH340USB0'):
port = "/dev/ttyCH340USB0"
else:
print('Neither /dev/ttyACM0 nor /dev/ttyCH340USB0 is present')
ser = serial.Serial(
port=port,
baudrate = 9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=1,
xonxoff = False, #disable software flow control
rtscts = False, #disable hardware (RTS/CTS) flow control
dsrdtr = False
)
try:
print("Start receiving data now!\n")
while 1:
x=ser.readlines()
if x != b'':
print(x)
except KeyboardInterrupt:
exit()
CAN

reTerminal DMは、CAN FD(Controller Area Network Flexible Data-Rate)プロトコルをサポートするCANインターフェースを搭載しています。CANインターフェースは容量性絶縁を使用して絶縁されており、優れたEMI保護を提供し、産業用および自動化アプリケーションにおいて信頼性の高い通信を確保します。120Ωの終端抵抗がデフォルトでインストールされています。
CANインターフェースは絶縁電源を使用しているため、CANインターフェースに接続される外部デバイスのグランド信号は GND_ISOピンに接続する必要があります
CANバスをテストし、インターフェースするには: 以下の画像に示すように、USB to CANアダプターを接続してください:

- STEP 1: CAN-utilsをインストールする
sudo apt install can-utils

CAN-utilsは、CANインターフェースを使用した非常に有用なデバッグツールのコレクションです。以下のようなアプリケーションが含まれています:
- candump – CANパケットをダンプ – 表示、フィルタリング、ディスクへのログ記録。
- canplayer – CANログファイルの再生。
- cansend – 単一フレームの送信。
- cangen – ランダムトラフィックの生成。
- canbusload – 現在のCANバスの使用率を表示
CAN-utilsのソースコードはGitHubリポジトリから入手できます。
- STEP 2: 以下のコマンドを使用してCANインターフェースをセットアップします:
sudo ip link set can0 up type can bitrate 500000
sudo ifconfig can0 txqueuelen 1000
sudo ip link set can0 up
- STEP 3: Download the testing code to reTerminal DM by using git
git clone https://github.com/limengdu/Seeed_reTerminal_Bridge_CAN_exmaple
- ステップ 4: データを送信するコードをコンパイルして実行します:
cd Seeed_reTerminal_Bridge_CAN_exmaple/
gcc cantransmit.c -o cantransmit
Linuxホストコンピュータまたは別のreTerminal DMで、データを受信するコードをコンパイルして実行できます。
gcc canreceive.c -o canreceive
結果を確認できます。以下の画像は2台のreTerminal DMを使用して実行されたものです:

USB
USB Type-A

USB 2.0 Type-Aポートが2つあり、フラッシュドライブ、ウェブカメラ、キーボード、マウスなどのUSBデバイスを接続できます。
USB Type-C

USB Type-CはUSB 2.0ポートで、ブートスイッチの位置に応じてシリアルデバッグまたはOSイメージの書き込みに使用されます。OSの書き込みについては、OSフラッシュWikiページを参照してください。
SIMカードスロット

reTerminal DMは、産業用アプリケーションで一般的に使用される標準サイズのSIMカードスロットを使用しており、25mm x 15mmの寸法の標準SIMカードが必要です。
reTerminal DMの標準バージョンには4Gモジュールが付属していないことにご注意ください。4G機能が必要な場合は、追加の4Gモジュールを別途購入する必要があります。したがって、このSIMカードスロットは、サポートされているバージョンの4Gモジュールを4G PCIeスロットに配置した場合にのみ機能します。
リセットボタン

reTerminal DMのリセット穴にはミニプッシュボタンスイッチがあります。このボタンを細い物体で押すことで、CM4をリセットできます。このボタンはCM4のRUN_PGピンに接続されています。このピンがハイの時、CM4が開始されたことを示します。このピンをローにドライブするとモジュールがリセットされます。
オーディオジャック

reTerminal DMには3.5mmヘッドフォンジャックがあり、音声出力をサポートし、外部ヘッドフォン、スピーカーなどに接続できます。
ヘッドフォンジャックは音声出力のみをサポートし、マイクロフォン録音機能はサポートしていません。

HDMI

reTerminal DMはCM4からのネイティブHDMIインターフェースを備えており、最大4K @ 60 fpsのビデオ出力をサポートします。複数のディスプレイが必要なアプリケーションに最適で、ユーザーはコンテンツを外部の大画面に出力できます。
イーサネットRJ45

reTerminal DMには、10/100/1000 Mbit/sの3つの異なる速度をサポートするCM4ネイティブギガビットイーサネットインターフェースが付属しています。追加のPoEモジュールを購入することで、このインターフェースを通じてパワーオーバーイーサネット(PoE)配信を有効にし、reTerminal DMに電力を供給できます。
内部インターフェース
40ピンGPIO
従来のRaspberry Pi 40ピンGPIO設計がreTerminal DM内部に保持されており、ピン配置はRaspberry Pi 4Bと同じです。これらのGPIOを使用するには、ユーザーは背面カバーを開く必要があります。CM4 IOのリソースが限られているため、40ピンGPIOと多くの周辺インターフェースが多重化されているため、GPIOを使用する際は競合に特に注意する必要があります。詳細なピン割り当て情報については、以下の表を参照してください。
説明 | ピン多重化 | ピン多重化 | 説明 | |||
---|---|---|---|---|---|---|
Pin 1 | 3V3 | 40 PIN GPIO | 5V | |||
I2C1_SDA | GPIO 2 | 5V | ||||
I2C1_SCL | GPIO 3 | GND | ||||
I2C3_SDA | GPIO 4 | GPIO 14 | UART0_TXD | USB Type C | ||
GND | GPIO 15 | UART0_RXD | ||||
ブロック端子 DI2 | DI2 | GPIO 17 | GPIO 18 | PCM_CLK | 3.5mmオーディオジャック | |
画面タッチ用割り込みピン | TP_INT | GPIO 27 | GND | |||
ブロック端子 DI3 | DI3 | GPIO 22 | GPIO 23 | DI4 | ブロック端子 DI4 | |
3V3 | GPIO 24 | DO1 | ブロック端子 DO1 | |||
CANおよびLoRa®モジュール | SPI0_MOSI | GPIO 10 | GND | |||
SPI0_MISO | GPIO 9 | GPIO 25 | DO2 | ブロック端子 DO2 | ||
SPI0_SCLK | GPIO 11 | GPIO 8 | SPI0_CE0 | CAN用SPIイネーブルピン | ||
GND | GPIO 7 | SPI0_CE1 | LoRa®用SPIイネーブルピン | |||
ID_SD | ID_SC | |||||
I2C_SCL | GPIO 5 | GND | ||||
ブロック端子 DO4 | DO4 | GPIO 6 | GPIO 12 | CAN_INT | CAN用割り込みピン | |
LCD バックライト制御ピン | LCD_PWM | GPIO 13 | GND | |||
3.5mmオーディオジャック | PCM_FS | GPIO 19 | GPIO 16 | DI1 | ブロック端子 DI1 | |
ブロック端子 DO3 | DO3 | GPIO 26 | GPIO 20 | PCM_DIN | 3.5mmオーディオジャック | |
GND | GPIO 21 | PCM_DOUT | 3.5mmオーディオジャック |
RTC
reTerminal DMは、CR2032バッテリーが事前に取り付けられたRTC回路を搭載しており、電源が失われた場合でも時刻保持機能を維持することができます。
現在のシステムクロックでハードウェアクロックを変更するには、以下のコマンドを使用してください
sudo hwclock --systohc
以下のコマンドを使用して、現在のハードウェアクロックでシステムクロックを変更します
sudo hwclock --hctosys
現在のハードウェアクロックを表示するには
sudo hwclock -r

ウォッチドッグ
reTerminal DMには、システムの異常クラッシュが発生した場合に自動的にシステムを再起動する独立したハードウェアウォッチドッグ回路が搭載されています。ウォッチドッグ回路はRTCを通じて実装されており、1秒から255秒までの柔軟な給餌時間を可能にします。
watchdog.confでウォッチドッグタイムアウト時間を設定するには、以下の手順に従ってください:
STEP 1: 通常/etc/watchdog.confにあるwatchdog.confファイルを編集用に開きます。
sudo nano /etc/watchdog.conf
STEP 2: /etc/watchdog.conf
の下にある "watchdog-device" と "watchdog-timeout" 設定オプションを探し、以下のように設定してください。
watchdog-timeout
オプションが 60
未満に設定されている場合、即座に再起動が発生する可能性があります。ハードウェアウォッチドッグを利用するには、watchdog-device
を /dev/watchdog1
として設定する必要があります。1
のないデフォルト設定では Broadcom ウォッチドッグデバイスを利用しています。
# Uncomment this to use the watchdog device driver access "file".
watchdog-device = /dev/watchdog1
# Uncomment and edit this line for hardware timeout values that differ
# from the default of one minute.
watchdog-timeout = 60
例えば、ウォッチドッグのタイムアウト時間を60秒に設定したい場合、watchdog-timeout
の値を60
に設定できます。これは、ウォッチドッグが60秒以内にリセット信号を受信しない場合、システムがクラッシュしたと仮定して自動再起動操作をトリガーすることを意味します。
以下のコマンドでウォッチドッグがアクティブかどうかをテストできますが、これらのコマンドはシステムを停止状態にするため、以下のコマンドを実行する際は十分注意してください:
sudo su
echo 1 > /proc/sys/kernel/sysrq
echo "c" > /proc/sysrq-trigger
これで、設定したwatchdog-timeoutの時間後にreTerminal DMが再起動されるはずです
バックライト
バックライトには6段階の明度を設定できます。0はオフ、5は最大輝度です。 以下のコマンドを使用して明度を制御できます。
sudo -i
echo 0 > /sys/class/backlight/lcd_backlight/brightness
echo 1 > /sys/class/backlight/lcd_backlight/brightness
echo 5 > /sys/class/backlight/lcd_backlight/brightness
内部アドオン
カメラ

reTerminal DMメインボードにはCSIカメラインターフェースが予約されており、カメラ機能をサポートするようにカスタマイズできます。フロントパネルのスペースが限られているため、小型サイズのカメラのみ使用可能であることにご注意ください。現在厳密にテストされたソリューションでは、Raspberry Pi camera V2.0ドライバーボード + Seedカスタマイズカメラ IMX219-77を使用しています。
コネクタ | コネクタタイプ | ピンピッチ | レーン | FPC方向 |
---|---|---|---|---|
CSI0 | 15ピンFPC | 1mm | 2 | ゴールドフィンガーが下向き |
CSI1 | 22ピンFPC | 0.5mm | 4 | ゴールドフィンガーが上向き |

標準版のreTerminal DMはフロントパネルにカメラ開口部がないため、標準製品ではカメラ機能は利用できませんのでご注意ください。カスタマイズされたカメラ要件がある場合は、[email protected]までお問い合わせください。
4Gモジュール
必要な材料
- reTerminal DM x 1
- EC25-EUX 4Gモジュール x1
- SIMカード x1
ステップ1. EC25 4Gモジュールハードウェア組み立てガイドを参照して、EC25 4Gモジュール
を*4G/LTE
*のシルクスクリーンが表示されている4G/LTE PCIeスロット
に取り付け、システムの電源を入れる前に4G対応のSIMカードをSIMカードスロットに挿入してください。
ステップ2. lsusb
を使用してEC25-EUXが検出されるかどうかを確認します
lsusb
lsusb -t

ステップ 3. シリアル通信ツール minicom をインストールします。
sudo apt install minicom
ステップ4. minicomを通じてEC25-EUX 4Gモジュールに接続します。
sudo minicom -D /dev/ttyUSB2 -b 1152008n1
シリアル接続が開いたら、ATと入力して'Enter'を押すと、OKが表示されるはずです。

ステップ 5. 4Gモジュールを有効にして4Gネットワークに接続する
同じminicomシリアルウィンドウで以下を入力してください:
AT+QCFG="usbnet"
以下のような結果が返されます +QCFG: "usbnet",0,
が、これを1(ECMモード)に設定する必要があるため、以下のコマンドを入力してください:
AT+QCFG="usbnet",1
次に、以下のコマンドを入力してモデムを強制的に再起動します:
AT+CFUN=1,1
その後、モジュールがSIMカードキャリアからインターネットを取得するまで、再起動するか、しばらく待つことができます。
また、ifconfig
コマンドを使用してreTerminal DMのネットワーク状態を照会することもできます。

LoraWAN® モジュール
reTerminal DMはWM1302 LoraWAN® モジュールのUSBバージョンとSPIバージョンの両方をサポートしていますが、USBバージョンは4GモジュールのためのMini PCIeを利用する必要があります。つまり、4GモジュールとLoraWAN® モジュールの両方を使用したい場合は、WM1302 LoraWAN® モジュールのSPIバージョンを選択してください。
- WM1302 SPI Module
- WM1302 USB Module
ステップ1. LoraWAN® モジュールハードウェア組み立てガイドを参照して、WM1302 SPI LoraWAN® モジュール
を*Lora
*シルクスクリーンが表示されているLoraWAN® Mini PCIeスロット
にインストールしてください。
モジュールをインストールして、必要なパッケージbuild-essential(build essentialパッケージは、ソースコードからDEBパッケージを作成するために必要なツールを含むDebianパッケージです。)をインストールします。
sudo apt update
sudo apt install git
sudo apt-get install build-essential
Step 2. コマンドラインで sudo raspi-config
と入力してRaspberry Pi Software Configuration Toolを開きます:
- Interface Optionsを選択
- SPIを選択し、Yesを選択して有効にします
- I2Cを選択し、Yesを選択して有効にします
- Serial Portを選択し、"Would you like a login shell..."に対してNoを選択し、"Would you like the serial port hardware..."に対してYesを選択します
この後、これらの設定が動作することを確認するためにRaspberry Piを再起動してください。
Step 3. WM1302コードをreTerminalにダウンロードしてコンパイルします。
cd ~/
git clone https://github.com/Lora-net/sx1302_hal
cd sx1302_hal
sudo make
ステップ4. reset_lgw.shスクリプトをコピーする
cp ~/sx1302_hal/tools/reset_lgw.sh ~/sx1302_hal/packet_forwarder/
ステップ 5. global_conf.json.sx1250.US915
設定ファイル内の LoraWAN® モジュールのデフォルト SPI
ポートを置き換えます:
sed -i 's/spidev0.0/spidev0.1/g' global_conf.json.sx1250.US915
ステップ 6. LoraWAN® モジュールを開始する
次に、お使いの WM1302 動作周波数バージョンに応じて、以下のコードを実行してLoraWAN® モジュールを開始します。
cd ~/sx1302_hal/packet_forwarder
./lora_pkt_fwd -c global_conf.json.sx1250.US915

お好みのLoRa®ネットワークサーバーを選択し、上記画像に示されているEUI ID
を使用して接続を設定してください。
ステップ1. LoRaWAN®モジュールハードウェア組み立てガイドを参照して、WM1302 USB LoRaWAN®モジュール
を*4G
*のシルクスクリーンが表示されている4G Mini PCIeスロット
に取り付けてください。

ステップ2. コマンドラインでsudo raspi-config
と入力してRaspberry Piソフトウェア設定ツールを開きます:
- Interface Optionsを選択
- I2Cを選択し、Yesを選択して有効にします
- Serial Portを選択し、「Would you like a login shell...」に対してNoを選択し、「Would you like the serial port hardware...」に対してYesを選択します
この後、これらの設定が動作することを確認するためにRaspberry Piを再起動してください。
ステップ3. WM1302コードをreTerminalにダウンロードしてコンパイルします。
cd ~/
git clone https://github.com/Lora-net/sx1302_hal
cd sx1302_hal
sudo make
ステップ4. reset_lgw.shスクリプトをコピーする
cp ~/sx1302_hal/tools/reset_lgw.sh ~/sx1302_hal/packet_forwarder/
Step 5. global_conf.json.sx1250.US915.USB
設定ファイル内のLoraWAN®モジュールのUSBポートを置き換えます:
Step 5-1. まず、特定のUSBポートを取得するために、以下の手順に従ってください:
lsusb
私の場合、WM1302 は STMicroelectronics Virtual COM Port
を使用しているため、プロダクト ID 5740
を取得できます
ステップ 5-2.
次に、プロダクト ID 番号 5740
を持つ USB デバイスを取得します。この場合、USB ポート番号 1-1.4.1
を取得します:
sudo dmesg | grep 5740
# Load ACM module
sudo modprobe cdc_acm
その後、以下のようにデバイスポートを取得できます:
sudo dmesg | grep 1-1.4.1
私の場合、USBデバイスは ttyACM2
です
それでは、sedコマンド sed -i 's/search_string/replacement_string/g' filename
を使用して global_conf.json.sx1250.US915.USB
設定のUSBデバイスを変更しましょう。パターンは sed -i 's/ttyACM0/the_result_from_above' global_conf.json.sx1250.frequency_of_your_module.USB
に従ってください。the_result_from_above
と frequency_of_your_module
をあなた自身のアプリケーション用に置き換えることに注意してください:
例えば私の場合:
sed -i 's/ttyACM0/ttyACM2/g' global_conf.json.sx1250.US915.USB
以下の画像に示されている手順を参照してください:

ステップ 6. LoraWAN® モジュールを開始する
次に、お使いの WM1302 動作周波数バージョンに応じて、以下のコードを実行してLoraWAN® モジュールを開始してください。
USB version
$ cd ~/sx1302_hal/packet_forwarder
$ ./lora_pkt_fwd -c global_conf.json.sx1250.US915.USB

お好みのLora®ネットワークサーバーを選択し、上記の画像に示されているEUI ID
を使用して接続を設定してください。
PCIe拡張カード
reTerminal DMは、CM4から派生したPCIeインターフェースを搭載しており、PCIe 2.0をサポートし、理論上最大5Gbpsの伝送速度を提供します。これにより、ギガビットイーサネットやNVMe SSDなどの様々な高速インターフェースの拡張が可能になります。私たちは、異なるシナリオ要件を満たすために、PCIe、USB、I2Cインターフェースに基づく複数の拡張カードを開発しました。これにより、カスタマイズのニーズにも対応できます。
標準製品にはデフォルトでPCIe拡張カードは含まれていませんのでご注意ください。Seedは、バッチカスタマイズ注文に対して組み立てサービスを提供できます。
POE
reTerminal DMは、PoE電源モジュールを追加することで、IEEE 802.3af PD(受電デバイス)標準をサポートできます。
reTerminal DMはPoE電源をサポートしていますが、標準製品にはデフォルトでPoEモジュールは含まれていません。Seedは、バッチカスタマイズ注文に対してPoEはんだ付けおよび組み立てサービスを提供できます。ただし、お客様がサンプルをテストする場合は、PoEモジュールを自分ではんだ付けして組み立てる必要があります。
SSD
reTerminal DMは、PCIe拡張カードを使用することで2280 NVMe SSDをサポートします。CM4のPCIeはgen2.0で、理論上の最大速度は5Gbpsであることに注意することが重要です。Gen3.0以上のSSDを使用している場合、SSDの最大速度を達成できない可能性があります。テスト後、SSDを搭載したreTerminal DMは、最大書き込み速度210MB/s、最大読み取り速度360MB/sを達成できます。どのSSDが互換性があるか不明な場合は、SeedのオフィシャルWebサイトから112990247、512GB NVMe M.2 PCle Gen3x4 2280 SSDを購入できます。
reTerminal DMの標準バージョンはSSDをサポートしておらず、この機能を有効にするにはPCIe拡張カードの購入が必要です。
追加リソース
- reTerminal DMデータシート
- reTerminal DMユーザーマニュアル
- reTerminal DM回路図設計・PCB設計・ガーバーファイル
- reTerminal DM構造設計ファイル.stp
技術サポート・製品ディスカッション
私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験ができるだけスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを提供しています。