10
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EV3RTでログをリアルタイムに見る方法

Last updated at Posted at 2018-10-27

EV3RTのBluetooth通信とsyslogを使うと無線で動作中のログを取得することができます。
ETロボコンの倒立ロボットなど、動かしながらセンサーの値の現在値を見たりすることもできて便利です。

ログタスクを使って、ログを取得する

EV3RTのログタスクを使用してログを出力すると、空き時間を利用してログを送信することができます。

ログメッセージを出力する

void syslog(uint_t prio, const char *format, ...);

使用例)
syslog(LOG_INFO, "Unresolved event packet %d", packet[0]);

1番目の引数はログレベル、2番目以降はログに出力するメッセージをprintfみたいな感じでフォーマット付きで指定することができます。

ログレベル

(2018/10/30 修正 Thanks to @koushiro )
ログレベルの定義は以下のようになっています。

hrp2/include/t_syslog.h
/*
 *  ログ情報の重要度の定義
 */
#define LOG_EMERG	UINT_C(0)	/* シャットダウンに値するエラー */
#define LOG_ALERT	UINT_C(1)
#define LOG_CRIT	UINT_C(2)
#define LOG_ERROR	UINT_C(3)	/* システムエラー */
#define LOG_WARNING	UINT_C(4)	/* 警告メッセージ */
#define LOG_NOTICE	UINT_C(5)
#define LOG_INFO	UINT_C(6)
#define LOG_DEBUG	UINT_C(7)	/* デバッグ用メッセージ */

EV3RTの場合は、デフォルト設定で、ログレベルに「LOG_NOTICE」より上(数字が小さいもの)が出力される仕様になっています。
(LOG_INFO, LOG_DEBUGは出力されないので注意)
TODO:出力するログレベルの変更方法

PC側の設定

PC側で「Bluetoothで送信したログを受信できるアプリ」を準備してください。
macの場合はminicomが無難でしょう。
設定方法は Mac OS X でETロボコンに出よう!(Bluetooth編) を参考にしてください。
windowsの場合はTeratermがよいと思います。

SDカードにある設定情報を変更

SDカードにある設定情報を変更します。
ev3rt/etc/rc.conf.ini にあるDefaultPortにBTを指定すると、Bluetooth経由でログが送信されるようになります。
TODO:LCD,シリアルポート経由で出力する場合についてかく

[Debug]
DefaultPort = BT

ログを送信する

ログメッセージを出力できるようにしたアプリを作成し、SDカードのappsにコピーしておいてください。
EV3RTを起動します。
(初回の場合はPCとペアリングが必要な場合があります)
minicom(Macの場合)を起動します。

Welcome to minicom 2.7.1

OPTIONS: 
Compiled on May 17 2017, 15:29:14.
Port /dev/tty.MindstormsEV3-SerialPor, 22:58:44

Press Meta-Z for help on special keys

接続できた場合は上記のようなメッセージが出力されます。

Press Meta-Z for help on special keys
が表示されたら、EV3RTのメニューからアプリを実行するとログが出力されます。

ログを保存する

ここではPC側にBluetooth経由で送信したデータをminicomで保存する方法を紹介します。
(Windowsの人はTeraTermを使えば良いと思います)

escキー+zでメニューが表示されます。
スクリーンショット 2018-10-27 23.10.25.png

Lキー押すを以下のような画面になるので、ログファイルの名前を指定してください。
スクリーンショット 2018-10-27 23.10.51.png

ファイル名を入力してenterキーを押すと、ログファイルの書き込みが開始します。
もう一度Lキーを押すとログのファイル書き込みが終了します。

10
12
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
10
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?