Skip to main content

reTerminal DM 入門ガイド

pir

reTerminal DM は、10.1インチのオープンソース産業用HMI - データフローを統合し、現場デバイスを管理する統合デバイスマスターです。

Raspberry Pi CM4をベースとし、パネルPC、HMI、PLC、IIoTゲートウェイのオールインワンデバイスとして、reTerminal DM は IP65産業グレードの大型スクリーンを備えた新世代のインタラクティブセンシングハブです。

豊富な拡張性とハイブリッド接続性を備え、CANバス、RS485、RS232、ギガビットイーサネットポート、その他のインターフェースをサポートし、4G、LoRa®、WiFi、BLEなどの強力なワイヤレス通信機能も備えています。

*4GとLoRa®モジュールはreTerminal DMにデフォルトで付属していません。関連モジュールを別途ご購入ください。 4Gバンドル

特徴

  • HMI、PLC、パネル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にデフォルトで付属していません。関連モジュールを別途ご購入ください。

仕様

基本
CPUCM4
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(オプション)
インターフェース
イーサネット1 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(オプション)
電源
入力2ピン ターミナルブロック
PoE12W 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~24 V の定格電圧で供給されます。電源は 2ピン電源ターミナルブロックコネクタを介して接続されます。

POE(オプション)

note

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

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

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

消費電力

Seeed Studio の研究室でテストされた reTerminal DM の消費電力については、以下の表を参照してください。テスト方法と環境により結果に変動が生じる可能性があるため、この値は参考値としてご利用ください。

ステータス電圧電流消費電力説明
シャットダウン0.6mAシャットダウンおよび電源オフ状態での静的消費電力テスト。
アイドル24V0.165A3.96Wデフォルトの Seeed Studio システムを実行中、テストプログラムを実行せずに、ターミナルソケット経由で reTerminal DM デバイスに 24V 電源を供給した際の入力電流をテスト。
フル負荷24V0.37A8.88W"stress -c 4" コマンドを使用して CPU をフル負荷で実行し、同時にビデオを再生し、CAN & RS485 通信を実行。外部デバイスは接続なし。

電源オンと電源オフ

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

note

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

ブロック図

I2C ブロック

インターフェース

マイクロフォン

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

warning

フロントパネルの IP65 等級を達成するため、マイクロフォンの開口部は防水音響膜で覆われていることに注意してください。マイクロフォンの開口部に鋭利な物体で触れることは避けてください。

マイクロフォンとのインターフェース:

デバイス上で Terminal アプリを開き、arecord -l と入力してマイクロフォンドライバを見つけてください:

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

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

LED インジケータ

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

LED ピン割り当て

ラベル信号信号源説明
PWRLED_nPWRCM4黄色CM4 の電源供給を示すために使用。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
note

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 です。

光センサーとのインターフェース:

  • ステップ 1. 以下のディレクトリに移動
cd /sys/bus/iio/devices/iio:device0
  • ステップ 2. 以下を入力して光強度値を Lux で取得
cat in_illuminance_input 

ブザー

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

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

多機能ターミナル

ターミナルと信号対応表

CANHCANLGND_ISORS485ARS485BGND_ISORS232_TXRS232_RXGNDGND
DI1DI2DI3DI4GND_DIDO1DO2DO3DO4GND_DO

ターミナルピン割り当て表

ピンシルクスクリーン信号説明
1CHCANH差動 CAN 信号ハイ
2CLCANL差動 CAN 信号ロー
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
note

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

reTerminal DMのデジタル入力と出力に使用される負論理では、Terminal IOとCM4 GPIOの論理レベル関係は以下の表に示されています。

ターミナルデジタル入力CM4 GPIO検出信号
LowHigh
HighLow
CM4 GPIO出力ターミナルデジタル出力
HighLow
LowHigh

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

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

raspi-gpio get
デジタル入力

DIにセンサーを配線する方法を示す回路図は以下の通りです:

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

raspi-gpio get 16

ここでGPIO16の現在の状態はINPUTに設定され、pulling Downで現在のピンレベルは1Highを意味)です。これは上記の表によると、現在のターミナルデジタル入力DI1Lowであることを意味します。

DI1ターミナルを5V電源Positiveピンに接続し、5V電源GroundGND_DIに接続することで、DI1High信号を入力してみましょう。

raspi-gpio get 16

この場合、GPIO16の現在のピンレベルは0Lowを意味)で、上記の表によると現在のターミナルデジタル入力DI1Highであることを意味します。

デジタル出力

DOに負荷を配線する方法を示す回路図は以下の通りです:

デジタル出力状態値を制御するには、まずピン状態をOutputpulling Downに設定する必要があります:

#set current pin state
raspi-gpio set 24 op pd dh

#get the pin state after set
raspi-gpio get 24

DO1に対応するGPIO24Outputpulling 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 ARS485 B信号は容量絶縁を使用して絶縁されており、優れたEMI耐性を提供し、RS485インターフェースの高速通信要件を満たします。

note

120Ωの終端抵抗がデフォルトでインストールされています。 RS485インターフェースは絶縁電源を使用しているため、RS485インターフェースに接続される外部デバイスのグランド信号はGND_ISOピンに接続する必要があります。

RS485をテストしてインターフェースするには、USB to RS485アダプターを準備し、以下と同じ接続であることを確認してください:

note

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

note

グランドピンは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Ωの終端抵抗がデフォルトでインストールされています。

note

CANインターフェースは絶縁電源を使用しているため、CANインターフェースに接続される外部デバイスのグランド信号はGND_ISOピンに接続する必要があります。

CANバスをテストしてインターフェースするには: 下の画像のようにUSB to 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デバイスを接続できます。

USB Type-C

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

SIMカードスロット

reTerminal DMは、産業用アプリケーションで一般的に使用される標準サイズのSIMカードスロットを使用しており、25mm x 15mmの寸法の標準SIMカードが必要です。

note

reTerminal DMの標準バージョンには4Gモジュールが付属していないことにご注意ください。4G機能が必要な場合は、追加の4Gモジュールを別途購入する必要があります。したがって、このSIMカードスロットは、4G PCIeスロットにサポートされているバージョンの4Gモジュールを配置した場合にのみ機能します。

リセットボタン

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

オーディオジャック

reTerminal DMには3.5mmヘッドフォンジャックがあり、音声出力をサポートし、外部ヘッドフォン、スピーカーなどに接続できます。

note

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

HDMI

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

イーサネット RJ45

reTerminal DMには、3つの異なる速度(10/100/1000 Mbit/s)をサポートするCM4ネイティブギガビットイーサネットインターフェースが付属しています。追加のPoEモジュールを購入して、このインターフェースを通じてPower-over-Ethernet(PoE)配信を有効にし、reTerminal DMに電力を供給できます。

内部インターフェース

40ピンGPIO

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

説明ピン多重化ピン多重化説明
ピン 13V340 PIN
GPIO
5V
I2C1_SDAGPIO 25V
I2C1_SCLGPIO 3GND
I2C3_SDAGPIO 4GPIO 14UART0_TXDUSB Type C
GNDGPIO 15UART0_RXD
ブロック端子 DI2DI2GPIO 17GPIO 18PCM_CLK3.5mmオーディオジャック
画面タッチの割り込みピンTP_INTGPIO 27GND
ブロック端子 DI3DI3GPIO 22GPIO 23DI4ブロック端子 DI4
3V3
GPIO 24DO1ブロック端子 DO1
CANおよびLoRa®モジュールSPI0_MOSIGPIO 10GND
SPI0_MISOGPIO 9GPIO 25DO2ブロック端子 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 には、CR2032 バッテリーが事前に取り付けられた RTC 回路が搭載されており、電源が失われた場合でも時刻保持機能を維持できます。

現在のシステムクロックでハードウェアクロックを変更するには、以下のコマンドを使用してください

sudo hwclock --systohc

現在のハードウェアクロックでシステムクロックを変更するには、以下のコマンドを使用してください

sudo hwclock --hctosys

現在のハードウェアクロックを表示するには

sudo hwclock -r 

ウォッチドッグ

reTerminal DM には、システムの異常クラッシュが発生した場合に自動的にシステムを再起動する独立したハードウェアウォッチドッグ回路が搭載されています。ウォッチドッグ回路は RTC を通じて実装され、1 秒から 255 秒までの柔軟な給餌時間を可能にします。

watchdog.conf でウォッチドッグタイムアウト時間を設定するには、以下の手順に従ってください:

ステップ 1:watchdog.conf ファイルを編集用に開きます。通常は /etc/watchdog.conf にあります。

sudo nano /etc/watchdog.conf

ステップ 2:/etc/watchdog.conf の下にある「watchdog-device」と「watchdog-timeout」設定オプションを探し、以下のように設定してください。

note

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 秒以内にリセット信号を受信しない場合、システムがクラッシュしたと仮定して自動再起動操作をトリガーすることを意味します。

warning

以下のコマンドでウォッチドッグがアクティブかどうかをテストできますが、これらのコマンドはシステムを停止状態にするため、以下のコマンドを実行する際は注意してください:

sudo su
echo 1 > /proc/sys/kernel/sysrq
echo "c" > /proc/sysrq-trigger

これで、reTerminal DM は watchdog-timeout に設定した時間後に再起動するはずです

バックライト

バックライトには 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

内蔵アドオン

カメラ

CSI カメラインターフェースは reTerminal DM メインボードに予約されており、カメラ機能をサポートするようにカスタマイズできます。フロントパネルのスペースが限られているため、小型のカメラのみ使用できることにご注意ください。現在厳密にテストされたソリューションは、Raspberry Pi カメラ V2.0 ドライバーボード + Seeed カスタマイズカメラ IMX219-77 を使用しています。

コネクタコネクタタイプピンピッチレーンFPC 向き
CSI015 ピン FPC1mm2金指が下向き
CSI122 ピン FPC0.5mm4金指が上向き
note

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

4G モジュール

pir

必要な材料

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

ステップ 1. EC25 4G モジュールハードウェア組み立てガイドを参照して、EC25 4G モジュール4G/LTE PCIe スロットに取り付けてください。*4G/LTE*シルクスクリーンが見えるはずです。また、システムの電源を入れる前に、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® モジュール

note

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

pir

ステップ 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

ステップ 2. コマンドラインでsudo raspi-configと入力してRaspberry Piソフトウェア設定ツールを開きます:

  • 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を再起動してください。

ステップ 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/
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 "------------------------------------"

ステップ 5. global_conf.json.sx1250.US915設定ファイル内のLoraWAN® モジュールのデフォルトSPIポートを置き換えます:

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

ステップ 6. LoraWAN® モジュールを開始します

使用しているモジュールに基づいて、対応するglobal_conf.json.sx1250.xxxxxで希望するLoRaWANネットワークサーバー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の伝送速度を提供します。これにより、ギガビットイーサネットやNVMe SSDなどの様々な高速インターフェースの拡張が可能になります。私たちは、異なるシナリオ要件を満たすために、PCIe、USB、I2Cインターフェースに基づく複数の拡張カードを開発しました。これにより、カスタマイズニーズも促進されます。

note

標準製品にはデフォルトでPCIe拡張カードが含まれていないことにご注意ください。Seedは、バッチカスタマイズ注文に対して組み立てサービスを提供できます。

POE

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

note

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のオフィシャルウェブサイトからSeedの112990247、512GB NVMe M.2 PCle Gen3x4 2280 SSDを購入できます。

note

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

追加リソース

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

弊社製品をお選びいただき、ありがとうございます!お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供いたします。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルをご用意しています。

Loading Comments...