メインコンテンツまでスキップ

reTerminal DM 入門ガイド

pir

reTerminal DM は 10.1 インチのオープンソース堅牢 HMI であり、データフローを統合し、現場デバイスを管理するための統合デバイスマスターです。

Raspberry Pi CM4 をベースにした、パネル PC、HMI、PLC、IIoT ゲートウェイが一体となったデバイスとして、reTerminal DM は IP65 等級の堅牢な大型スクリーンを備えた新世代のインタラクティブセンシングハブです。

CAN バス、RS485、RS232、ギガビット Ethernet ポートなどのインターフェースに対応した豊富な拡張性とハイブリッド接続性を備え、4G、LoRa®、WiFi、BLE などの強力な無線通信機能もサポートします。

購入に関する注意: 4G および LoRa® モジュールは、標準では reTerminal DM に同梱されません。4G bundle など、必要に応じて関連モジュールを別途ご購入ください。

注記

カスタマイズ可能なオプション:ロゴブランディング、パッケージング、ファームウェア書き込み。

特長

  • HMI、PLC、パネル PC、ゲートウェイを 1 台に統合:分散型ハブデバイスに最適
  • イベント駆動アプリケーション向けローコードプログラミング:フローベース編集とワンクリックデプロイに対応した Node-RED をネイティブ統合し、Raspberry Pi 上で動作するすべてのソフトウェアと互換
  • 過酷な動作環境向けの堅牢設計:IP65 フロントパネル、-10~50°C の動作温度
  • ハイブリッド接続性:4G LTE、LoRaWAN®、WiFi、BLE、RS485/RS232、CAN バス、1000M Ethernet、USB、HDMI をサポート
  • ソフトウェアおよびハードウェアのオープンソース設計:Raspberry Pi CM4 搭載で、カスタマイズや派生製品にも対応
  • 製品保証:2 年保証

*4G および LoRa® モジュールは標準では reTerminal DM に同梱されません。必要に応じて関連モジュールを別途ご購入ください。

仕様

基本仕様
CPUCM4
クアッドコア [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-bit)
輝度400 nit
視野角170/170 H/V°
バックライト寿命30000 時間
タッチ方式10 点マルチタッチ静電容量方式
鉛筆硬度7H
ビデオ & オーディオ
ビデオHDMI 2.0
オーディオマイク x 2
ブザー
3.5mm オーディオジャック
カメラCSI(オプション)
インターフェース
Ethernet1 x 10/100/1000 Mbps
1 x 10/100/1000 Mbps(オプション)
USB2 x USB-A 2.0 ホスト
2 x USB 3.0(オプション)
RS4851 x RS-485 > 端子台
1 x RS-485 > DB9(オプション)
RS2321 x RS-232 > 端子台
1 x RS-232 > DB9(オプション)
CAN1 x CAN-BUS > 端子台
DI4 x DI > 端子台
DO4 x DO > 端子台
40pin GPIO内部
無線通信
WiFiオンチップ WiFi
BLEオンチップ BLE
LoRa®LoRaWAN® 用 Mini-PCIe(オプション)
Cellular4G 用 Mini-PCIe(オプション)
電源
Input2 ピン端子台
PoE12W PoE(オプション)
Power Range12~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 は、DC 端子と PoE ポートの 2 つの電源オプションをサポートします。デフォルトでは reTerminal DM は DC 端子から給電され、PoE 電源はオプションです。これにより、電源選択の柔軟性が提供され、さまざまな電源との容易な統合が可能になります。

電源端子

reTerminal DM は、公称電圧 12~24 V で給電されます。電源は 2 ピンの電源端子台コネクタを介して接続されます。

POE(オプション)

注記

標準製品にはデフォルトで PoE モジュールは含まれていません。Seeed は、要望に応じてバッチカスタマイズ注文向けに PoE のはんだ付けおよび組立サービスを提供できます。詳しくは [email protected] までお問い合わせください。

PoE モジュールが搭載されている場合、reTerminal DM の LAN1 ポートは PoE 給電をサポートし、Ethernet 経由でデバイスに電源を供給する便利で効率的な方法を提供します。このオプションにより、設置プロセスが簡素化され、必要な配線量が削減されるため、電源が限られている、または電源コンセントが容易に利用できないアプリケーションに最適なソリューションとなります。

  • PoE 入力:範囲 44~57V、標準 48V
  • PoE 出力:12V、最大 1.1A

消費電力

reTerminal DM の消費電力については、Seeed Studio のラボで測定した下記の表を参照してください。なお、この値はあくまで参考値であり、テスト方法や環境によって結果が変動する可能性があります。

状態電圧電流消費電力説明
シャットダウン0.6mAシャットダウンおよび電源オフ状態での静的消費電力テスト。
アイドル24V0.165A3.96Wデフォルトの Seeed Studio システムを実行し、テストプログラムを一切動作させない状態で、端子ソケットから reTerminal DM デバイスに 24V 電源を供給したときの入力電流をテストします。
フルロード24V0.37A8.88W"stress -c 4" コマンドを使用して CPU をフルロードで動作させながら、動画を再生し、CAN および RS485 通信を実行します。外部デバイスは接続していません。

電源オン/オフ

reTerminal DM にはデフォルトで電源ボタンは搭載されておらず、電源を接続するとシステムは自動的に起動します。シャットダウンする際は、オペレーティングシステム上でシャットダウンオプションを選択し、システムが完全にシャットダウンするまで待ってから電源を切ってください。システムを再起動するには、電源を再接続するだけです。

注記

シャットダウン後は、内部コンデンサが完全に放電されるよう、システムを再起動する前に少なくとも 10 秒間お待ちください。

ブロック図

I2C ブロック

インターフェース

マイク

reTerminal DM には、画面下の左右に 2 つの MEMS マイクが搭載されています。これらのマイクはデュアルマイクアレイとして構成でき、優れた集音性能を提供します。マイクは I2S インターフェースを介してオーディオコーデックチップと通信し、コーデックチップは PCM インターフェースを介して CM4 と通信します。reTerminal DM に採用されているオーディオコーデックチップは、TI 社の TLV320AIC3104 低消費電力ステレオオーディオコーデックです。

警告

フロントパネルで IP65 等級を実現するため、マイク開口部は防水音響メンブレンで覆われていることに注意してください。マイク開口部には鋭利な物を触れないようにしてください。

マイクを使用するには:

デバイス上で Terminal アプリを開き、arecord -l と入力してマイクドライバを確認してください:

音声を録音するには audacity アプリを使用できます。sudo apt install audacity を使用して audacity アプリをインストールしてください:

audacity を開いてアプリを起動し、録音ボタンをクリックして内蔵マイクから音声を録音してください:

LED インジケータ

reTerminal DM には 3 つの LED インジケータが搭載されており、機器の動作状態を示します。各 LED の具体的な機能と状態については、以下の表を参照してください。

LED ピン割り当て

ラベル信号信号ソース説明
PWRLED_nPWRCM4CM4 の電源供給を示すために使用されます。CM4 が正常に電源オンされると、LED が点灯します。
USERPCA9535 - GPIOユーザー定義機能
ACTLED_nACTCM4システムのさまざまな状態を示すために使用されます。下記の表を参照してください。

ACT ステータステーブル

長い点滅短い点滅状態
03一般的な起動失敗
04start*.elf が見つかりません
07カーネルイメージが見つかりません
08SDRAM 障害
09SDRAM 不足
010HALT 状態
21パーティションが FAT ではありません
22パーティションからの読み取りに失敗しました
23拡張パーティションが FAT ではありません
24ファイル署名/ハッシュ不一致 - Pi 4
44非対応のボードタイプ
45致命的なファームウェアエラー
46電源障害タイプ A
47電源障害タイプ B
注記

ACT LED が規則的な 4 回点滅パターンで点滅する場合、ブートコード(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

USER LED が赤色に点灯するのが確認できるはずです。

照度センサ

画面右下に配置された照度センサは、周囲の光の強さを検出し、画面の明るさを自動的に調整して、最適な視認性を提供しつつ省エネルギーを実現します。照度センサは I2C プロトコルを介して CM4 と通信します。

I2C アドレスは 0x29 です。

照度センサを使用するには:

  • Step 1. 次のディレクトリに移動します
cd /sys/bus/iio/devices/iio:device0
  • Step 2. 次を入力して、Lux 単位の照度値を取得します
cat in_illuminance_input 

ブザー

reTerminal DM には、画面右下にアクティブブザーが搭載されており、アラームやイベント通知などさまざまな用途に使用できます。ブザーは PCA9535 GPIO 拡張 IC を介して制御され、この IC によりデバイスに追加のデジタル I/O チャンネルが提供されます。

ブザーをテストおよび制御するには、1 または 0/sys/class/leds/usr-buzzer/brightness ファイルに設定するだけです:

多機能端子

端子と信号の比較表

CANHCANLGND_ISORS485ARS485BGND_ISORS232_TXRS232_RXGNDGND
DI1DI2DI3DI4GND_DIDO1DO2DO3DO4GND_DO

端子ピン割り当て表

ピンシルク印刷信号説明
1CHCANH差動 CAN 信号 High
2CLCANL差動 CAN 信号 Low
3GSGND_ISO絶縁グランド信号
4RARS485A差動 RS485 信号 A
5RBRS485B差動 RS485 信号 B
6GSGND_ISO絶縁グランド信号
7RTRS232_TXRS232 信号送信端
8RXRS232_RXRS232 信号受信端
9GDGNDメインボードグランド
10GDGNDメインボードグランド
11I1DI1デジタル入力 1
12I2DI2デジタル入力 2
13I3DI3デジタル入力 3
14I4DI4デジタル入力 4
15GIGND_DI入力グランド信号、1MΩ を介して GND に接続
16D1DO1デジタル出力 1
17D2DO2デジタル出力 2
18D3DO3デジタル出力 3
19D4DO4デジタル出力 4
20GOGND_DO出力グランド信号、0Ω を介して GND に接続

DI/DO

reTerminal DM は 4 チャンネルのデジタル入力と 4 チャンネルのデジタル出力をサポートしており、すべて光学的に絶縁されているため、電圧スパイクやその他の電気的ノイズからメインボードを効果的に保護します。

DI/DO ピン割り当て表
ピンCM4 信号代表的な電圧範囲最大電圧定格電流容量
DI1GPIO165-24V DC30V DC
DI2GPIO175-24V DC30V DC
DI3GPIO225-24V DC30V DC
DI4GPIO235-24V DC30V DC
GND_DI
DO1GPIO245-24V DC30V DC500mA
DO2GPIO255-24V DC30V DC500mA
DO3GPIO265-24V DC30V DC500mA
DO4GPIO65-24V DC30V DC500mA
GND_DO
注記

入力信号用のグラウンドと出力信号用のグラウンドは異なります。入力信号用のグラウンドは GND_DI ピンに、出力信号用のグラウンドは GND_DO ピンに接続する必要があります。

reTerminal DM のデジタル入力および出力には負論理が使用されており、Terminal IO と CM4 GPIO 間の論理レベルの関係は以下の表のとおりです。

Terminal Digital InputCM4 GPIO 検出信号
LowHigh
HighLow
CM4 GPIO 出力Terminal Digital Output
HighLow
LowHigh

このセクションでは raspi-gpio ツールを使用して GPIO をテストします。マニュアルを表示するには raspi-gpio help を使用できます:

すべての GPIO の現在の状態を取得するには、Terminal に次のコマンドを入力してください:

raspi-gpio get
デジタル入力

センサーを DI に配線する方法を示した回路図は次のとおりです:

特定の GPIO ステータスを取得するには、Terminal に次のコマンドを入力してください:

raspi-gpio get 16

ここで、GPIO16 の現在の状態は INPUTpulling Down に設定されており、現在のピンレベルは 1 です。これは High を意味し、上記の表によると現在の Terminal Digital Input DI1Low であることも意味します。

次に、DI1 端子を 5V sourcePositive ピンに接続し、5V sourceGroundGND_DI に接続することで、DI1High 信号を印加してみましょう。

raspi-gpio get 16

ここでは、GPIO16 の現在のピンレベルは 0 で、これは Low を意味し、上記の表によると現在の Terminal Digital Input DI1High であることも意味します。

デジタル出力

負荷を 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

ここでは、DO1 に対応する GPIO24Output および pulling down 状態に設定されており、GPIO24 レベルは High に設定されています。

次に、GPIO24Low に設定します。これは 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 シリアルポートを次のように設定します。

Baudrate -> 9600 Bytesize -> 8 bits Parity -> None Stopbits -> 1 Hardware flow control -> disabled

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 電圧レベルを使用し、通信距離も短いため、環境からの電磁干渉の影響を受けにくいからです。

注記

Ground ピンは 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 から CAN へのアダプタを接続してください:

  • ステップ 1: CAN-utils をインストールします
sudo apt install can-utils

CAN-utils は、CAN インターフェースを使用する非常に便利なデバッグツールのコレクションです。次のようなアプリケーションが含まれます:

  • candump – CAN パケットをダンプし、表示、フィルタリング、およびディスクへのログ保存を行います。
  • canplayer – CAN ログファイルを再生します。
  • cansend – 単一フレームを送信します。
  • cangen – ランダムなトラフィックを生成します。
  • canbusload – 現在の CAN バスの使用率を表示します

CAN-utils のソースコードは、GitHub リポジトリから入手できます。

  • ステップ 2: 次のコマンドを使用して CAN インターフェースを設定します:
sudo ip link set can0 up type can bitrate 500000
sudo ifconfig can0 txqueuelen 1000
sudo ip link set can0 up
  • ステップ 3: git を使用してテスト用コードを reTerminal DM にダウンロードします
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 フラッシュドライブ、Web カメラ、キーボード、マウスなどの USB デバイスを接続できます。

USB Type-C

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

SIM カードスロット

reTerminal DM には、堅牢な用途で一般的に使用される標準サイズの SIM カードスロットが搭載されており、25mm x 15mm の標準 SIM カードが必要です。

注記

標準版の reTerminal DM には 4G モジュールは付属していません。4G 機能が必要な場合は、別途 4G モジュールを追加購入する必要があります。そのため、この SIM カードスロットは、4G PCIe スロットに対応するバージョンの 4G モジュールを搭載した場合にのみ動作します。

リセットボタン

reTerminal DM のリセットホール内にはミニプッシュボタンスイッチがあります。細い物でこのボタンを押すことで、CM4 をリセットできます。このボタンは CM4 の RUN_PG ピンに接続されています。このピンが High のとき、CM4 が起動したことを示します。このピンを Low にするとモジュールがリセットされます。

オーディオジャック

reTerminal DM には 3.5mm ヘッドホンジャックが搭載されており、音声出力をサポートし、外部ヘッドホンやスピーカーなどを接続できます。

注記

ヘッドホンジャックは音声出力のみをサポートし、マイク録音機能はサポートしていません。

HDMI

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

Ethernet RJ45

reTerminal DM には、10/100/1000 Mbit/s の 3 つの速度に対応した CM4 ネイティブのギガビット Ethernet インターフェースが搭載されています。さらに PoE モジュールを追加購入することで、このインターフェースを介した PoE(Power over Ethernet)給電が可能となり、reTerminal DM に電力を供給できます。

内部インターフェース

40 ピン GPIO

reTerminal DM 内部には、従来の Raspberry Pi の 40 ピン GPIO 設計が踏襲されており、ピン配列は Raspberry Pi 4B と同じです。これらの GPIO を使用するには、背面カバーを開ける必要があります。なお、CM4 IO のリソースが限られているため、40 ピン GPIO と多くの周辺インターフェースはマルチプレックスされており、GPIO を使用する際には競合に特に注意する必要があります。詳細なピン割り当て情報については、以下の表を参照してください。

DescriptionPin multiplexingPin multiplexingDescription
Pin 13V340 PIN
GPIO
5V
I2C1_SDAGPIO 25V
I2C1_SCLGPIO 3GND
I2C3_SDAGPIO 4GPIO 14UART0_TXDUSB Type C
GNDGPIO 15UART0_RXD
Block Terminal DI2DI2GPIO 17GPIO 18PCM_CLK3.5mm audio jack
Interrupt pins for screen touchTP_INTGPIO 27GND
Block Terminal DI3DI3GPIO 22GPIO 23DI4Block Terminal DI4
3V3
GPIO 24DO1Block Terminal DO1
CAN and LoRa® moduleSPI0_MOSIGPIO 10GND
SPI0_MISOGPIO 9GPIO 25DO2Block Terminal DO2
SPI0_SCLKGPIO 11GPIO 8SPI0_CE0CAN 用 SPI 有効化ピン
GNDGPIO 7SPI0_CE1LoRa® 用 SPI イネーブルピン
ID_SDID_SC
I2C_SCLGPIO 5GND
ブロック端子 DO4DO4GPIO 6GPIO 12CAN_INTCAN 用割り込みピン
LCD バックライト制御ピンLCD_PWMGPIO 13GND
3.5mm オーディオジャックPCM_FSGPIO 19GPIO 16DI1ブロック端子 DI1
ブロック端子 DO3DO3GPIO 26GPIO 20PCM_DIN3.5mm オーディオジャック
GNDGPIO 21PCM_DOUT3.5mm オーディオジャック

RTC

reTerminal DM には RTC 回路が搭載されており、CR2032 バッテリがあらかじめ装着されています。そのため、電源が失われた場合でも時刻保持機能を維持できます。

次のコマンドを使用して、ハードウェアクロックを現在のシステムクロックに変更します

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 ドライバボード + Seeed カスタマイズカメラ IMX219-77 を使用しています。

コネクタコネクタタイプピッチレーン数FPC 向き
CSI015 ピン FPC1mm2端子(金メッキ)が下向き
CSI122 ピン FPC0.5mm4端子(金メッキ)が上向き
注記

標準版の reTerminal DM にはフロントパネルにカメラ用の開口部がないため、標準製品ではカメラ機能は利用できません。カメラのカスタマイズ要件がある場合は、[email protected] までお問い合わせください。

4G モジュール

pir

必要な材料

  • reTerminal DM x 1
  • EC25-EUX 4G モジュール x1
  • SIM カード x1

Step 1. EC25 4G Module Hardware assembly ガイドを参照して、EC25 4G Module4G/LTE PCIe slot に取り付けてください。4G/LTE のシルクスクリーンが見えるはずです。また、システムの電源を入れる前に、4G 対応の SIM カードを sim card slot に挿入してください。

Step 2. lsusb を使用して EC25-EUX が検出されているか確認します

lsusb
lsusb -t

Step 3. シリアル通信ツール minicom をインストールします。

sudo apt install minicom

Step 4. minicom を介して EC25-EUX 4G モジュールに接続します。

sudo minicom -D /dev/ttyUSB2 -b 1152008n1

シリアル接続が開いたら、AT と入力して Enter キーを押すと、OK と表示されるはずです。

Step 5. 4G モジュールを有効にして 4G ネットワークに接続します

同じ minicom のシリアルウィンドウで、次のように入力してください:

AT+QCFG="usbnet"

+QCFG: "usbnet",0, のような応答が返ってきますが、これを 1(ECM モード)に設定する必要があるため、次のコマンドを入力します。

AT+QCFG="usbnet",1

次に、モデムの再起動を強制するため、以下のコマンドを入力します。

AT+CFUN=1,1

その後、システムを再起動するか、モジュールが SIM カードのキャリアからインターネット接続を取得するまでしばらく待ちます。

reTerminal DM のネットワーク状態を確認するには、ifconfig コマンドを使用することもできます。

LoraWAN® モジュール

注記

reTerminal DM は WM1302 LoraWAN® モジュールの USB 版と SPI 版の両方をサポートしますが、USB 版は 4G モジュール用に設計された Mini PCIe を使用する必要があります。そのため、4G モジュールと LoraWAN® モジュールの両方を使用したい場合は、WM1302 LoraWAN® モジュールの SPI 版を選択してください。

pir

Step 1. LoraWAN® Module Hardware assembly ガイドを参照して、WM1302 SPI LoraWAN® ModuleLoraWAN® Mini PCIe slot に取り付けてください。Lora のシルクスクリーンが見えるはずです。 必要なパッケージをインストールします。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 code を reTerminal にダウンロードしてコンパイルします。

cd ~/
git clone https://github.com/Lora-net/sx1302_hal
cd sx1302_hal
sudo make

Step 4. reset_lgw.sh スクリプトをコピーして修正します

cp ~/sx1302_hal/tools/reset_lgw.sh ~/sx1302_hal/packet_forwarder/
cd ~/sx1302_hal/packet_forwarder
vim reset_lgw.sh

reset_lgw.sh スクリプトを以下のようにテキストエディタで修正します:

#!/bin/bash

# Dependency Check
if ! command -v i2cset &> /dev/null; then
echo "Error: i2c-tools not found. Please install using: sudo apt-get install i2c-tools"
exit 1
fi

# Configuration
I2C_BUS=1 # CM4_IIC1
DEVICE_ADDR=0x21 # PCA9535 Address from schematic
REG_OUTPUT_PORT0=0x02 # Register 2: Output Port 0
REG_CONFIG_PORT0=0x06 # Register 6: Configuration Port 0
PIN_MASK=0x20 # Bit 5 (0010 0000) for P05

# Read a register
read_reg() {
local val=$(i2cget -y $I2C_BUS $DEVICE_ADDR $1)
echo $val
}

# Write to a register
write_reg() {
i2cset -y $I2C_BUS $DEVICE_ADDR $1 $2
}

echo "Starting SX1302 Reset Sequence on I2C Bus $I2C_BUS, Address $DEVICE_ADDR..."

# Ensure the Output Register bit for P05 is LOW
CURRENT_OUT=$(read_reg $REG_OUTPUT_PORT0)

NEW_OUT=$(printf "0x%02x" $((CURRENT_OUT & ~PIN_MASK)))

write_reg $REG_OUTPUT_PORT0 $NEW_OUT

echo "Set Output Register P05 to LOW. (Reg $REG_OUTPUT_PORT0: $CURRENT_OUT -> $NEW_OUT)"

# Configure P05 as OUTPUT
# Configuration Register: 1 = Input, 0 = Output
CURRENT_CFG=$(read_reg $REG_CONFIG_PORT0)

NEW_CFG=$(printf "0x%02x" $((CURRENT_CFG & ~PIN_MASK)))

write_reg $REG_CONFIG_PORT0 $NEW_CFG

echo "Configured P05 as OUTPUT. (Reg $REG_CONFIG_PORT0: $CURRENT_CFG -> $NEW_CFG)"

# Assert Reset (Drive P05 HIGH)
CURRENT_OUT=$(read_reg $REG_OUTPUT_PORT0)

RESET_HIGH=$(printf "0x%02x" $((CURRENT_OUT | PIN_MASK)))

write_reg $REG_OUTPUT_PORT0 $RESET_HIGH

echo "Asserting Reset (P05 HIGH)..."

# Hold Reset for 200ms
sleep 0.2

# Release Reset (Drive P05 LOW)
write_reg $REG_OUTPUT_PORT0 $NEW_OUT

echo "Released Reset (P05 LOW)."

echo "SX1302 Reset Complete."

echo "------------------------------------"

Step 5. global_conf.json.sx1250.US915 設定ファイル内の LoraWAN® Module のデフォルトの SPI ポートを置き換えます:

sed -i 's/spidev0.0/spidev0.1/g'  global_conf.json.sx1250.US915

Step 6. LoraWAN® Module を起動します

使用しているモジュールに基づいて、対応する global_conf.json.sx1250.xxxxx 内で、希望する LoRaWAN Network Server の server_address とゲートウェイ EUI gateway_ID を選択し、up/down port1700 に変更します。その後、以下のコードを実行してコンセントレータを起動します:

cd ~/sx1302_hal/packet_forwarder
# Please select one of the following comands based on your module
# for WM1302 LoRaWAN Gateway Module (SPI) - EU868
./lora_pkt_fwd -c global_conf.json.sx1250.EU868

# for WM1302 LoRaWAN Gateway Module (SPI) - US915
./lora_pkt_fwd -c global_conf.json.sx1250.US915

PCIe 拡張カード

reTerminal DM には CM4 由来の PCIe インターフェースが搭載されており、PCIe 2.0 をサポートし、理論上は最大 5Gbps の伝送速度を提供します。これにより、ギガビット Ethernet や NVMe SSD など、さまざまな高速インターフェースを拡張することができます。私たちは、さまざまなシナリオ要件を満たすために、PCIe、USB、I2C インターフェースに基づく複数の拡張カードを開発しました。これにより、カスタマイズニーズにも対応しやすくなっています。

注記

標準製品には、デフォルトで PCIe 拡張カードは含まれていません。Seeed はバッチカスタマイズ注文に対して組立サービスを提供できます。

POE

reTerminal DM は、PoE 電源モジュールを追加することで IEEE 802.3af PD(Powered Devices)規格をサポートできます。

注記

reTerminal DM は PoE 給電をサポートしますが、標準製品にはデフォルトで PoE モジュールは含まれていません。Seeed はバッチカスタマイズ注文に対して 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 が互換性があるか不明な場合は、Seeed の公式サイトから 112990247、512GB NVMe M.2 PCle Gen3x4 2280 SSD を購入できます。

注記

reTerminal DM の標準バージョンは SSD をサポートしておらず、この機能を有効にするには PCIe 拡張カードの購入が必要です。

追加リソース

技術サポートと製品ディスカッション

弊社製品をお選びいただきありがとうございます。私たちは、製品をできるだけスムーズにご利用いただけるよう、さまざまなサポートを提供しています。お好みやニーズに応じてお選びいただける、複数のコミュニケーションチャネルをご用意しています。

Loading Comments...