はじめに
Tera Termのシリアル通信でファイルを送受信する方法を紹介する。
動作確認環境
- ホストPC
- Windows 11 64bit (23H2)
- Tera Term Ver4.106
- ターゲット (NVIDIA Jetson JetPack 5.1.1)
- Ubuntu 20.04
事前準備
ホストPCであるWindowsとターゲットをシリアル通信でつないでおく。今回はターゲットにJetsonを使った。Jetsonとのシリアル通信は、以下を参照。
依存関係のインストール
ターゲットで以下をインストールする。
sudo apt update
sudo apt install lrzsz
方法
ZMODEMを使った方法を紹介する。
ホストPCからターゲットへ送信
-
ファイルを受信するターゲットで、以下のコマンドを実行しファイル受信待機状態にする
rz
待機状態になることを確認
rz waiting to receive.**B0100000023be50
-
ファイルを送信するホストPCのTera Termで、ファイルを選択して送信する
ファイル - 転送 - ZMODEM - 送信
制約
今回試した環境では、ファイルサイズが約2KBを超えると上手くファイルを送信できなかった。Teratermの設定が必要だと思われる。現在、調査中。
ターゲットからホストPCへ送信
- ファイルを送信するターゲットで、以下のコマンドを実行してファイル送信待機状態にする
sz -e {filename}
- {filename}: 送信したいファイルパス
ポイント
今回試した環境ではCRCのチェックでエラーとなり受信できなかったため、受信コマンドに-e
オプションをつけることで、エラーを回避する。
-
ファイルを受信するホストPCのTera Termで、受信を選択する
ファイル - 転送 - ZMODEM - 受信 -
ファイルが受信されると以下のフォルダに格納される
C:\Users\{User}\AppData\Local\VirtualStore\Program Files (x86)\teraterm
- {User}:Windowsにログオンしているユーザ名
まとめ
Tera Termのシリアル通信でファイルを送受信する方法を紹介した。ネットワークが使えない環境などで有用。
参考