0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Tera Term】2台以上のArduinoと同時にシリアル通信を開始する方法

Last updated at Posted at 2025-04-09

1. はじめに

Tera Termを使って複数のArduinoとシリアル通信するとき,手動だと通信の確立とログ保存を台数分やらないといけないので煩雑です.
portとbaudrateを設定したTTLファイルを開けば通信の確立は容易ですが,ログ保存がやはり面倒です.
そのため,2台以上のArduinoに対して,
(1) シリアル通信確立
(2) ログ保存
が簡単にできるような方法をまとめました.

※厳密には開く順序があり数msのラグがあるかもしれませんが,今回はそこまでの精度を求めない人向けです.検証はまた後日.

2. 方法

(1) TTLファイルを用意

接続するArduinoの台数分,以下の内容を記載したTTLファイル(.ttl)を用意します.
メモ帳を開いて.txtを.ttlに書き換えるだけでOKです.
$USERNAMEはPCのユーザネームに変更してください.

com4.ttl
; 日付取得 "2025-04-09"
getdate dateStr
;messageBox dateStr "今日の日付"
; 時刻取得 "15: 43: 21"
gettime timeStr
;messageBox timeStr "今の時刻"

; 年の取り出し(1〜4文字目)
strcopy dateStr 0 4 year
; 月の取り出し(6〜7文字目)
strcopy dateStr 6 2 month
; 日の取り出し(9〜10文字目)
strcopy dateStr 9 2 day
;  (:をファイル名に含めるとエラーが出るので注意)
strcopy timeStr 0 2 hour
; 分
strcopy timeStr 4 2 min
; 秒
strcopy timeStr 7 2 sec

; ファイル名構築
fileName = ""
strconcat fileName year
strconcat fileName month
strconcat fileName day
strconcat filename "-"
strconcat fileName hour
strconcat fileName min
strconcat fileName sec

; "_com4.log"を付ける(COMポート等に応じて適宜変更)
strconcat fileName "_com4.log"

; 保存するフルパス("download" フォルダに保存)
strconcat logPath "C:\\Users\\$USERNAME\\Downloads\\"
strconcat logPath fileName

; シリアル通信開始 /C:ポート /BAUD:ボードレート
connect '/C=4 /BAUD=9600'

; 通信確立したかチェック
if result = 0 then
    messagebox 'COM4への接続に失敗しました' 'エラー'
    end
endif

; ログ保存
logopen logPath

(2) バッチファイルを用意

以下の内容のバッチファイル(.bat)を用意します.
startはexeを実行するコマンドです.
第1引数: ウィンドウにタイトルを付けられるのですが,不要なので""にしています.
第2引数: ttermpro.exeが格納されているパス.
インストールされているteratermのバージョンやPC構成によってはttermpro.exeのパスが違うので,その場合は調整してください.
第3引数: /M=の後は(1)で作成したTTLファイルのパスを記載してください.

teraterm.bat
@echo off
start "" "C:\Program Files (x86)\teraterm5\ttermpro.exe" /M=C:\Users\$USERNAME\Downloads\com4.ttl
start "" "C:\Program Files (x86)\teraterm5\ttermpro.exe" /M=C:\Users\$USERNAME\Downloads\com5.ttl

作成したバッチファイルを開くとTera Termが起動しシリアル通信を開始します.
そして設定したファイル名でログファイルが作成されます.

3. おわりに

これでバッチファイルを実行するだけでログファイルへの書き出しまで自動化されました.
めでたしめでたし.
ログ書き出しのタイミングを同期したい場合は,すべてのArduinon共通の外部トリガ用スイッチを設け,立ち上がった瞬間からSerial.println()を開始すればいいと思います.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?