ふるた技工所(てっこうしょ)

ふるた技工所(てっこうしょ)

PR

×

キーワードサーチ

▼キーワード検索

プロフィール

Aちゃん22

Aちゃん22

フリーページ

2013.08.18
XML
カテゴリ: 電子工作
既に 秋月テスタ METEX M-6000M から読み込んだ測定値を Linux のテキスト・フィルタ・パイプラインで扱えるソフトがある 。Ruby で書かれている。「では、自分は C 言語で書いてみるか」と思い作ってみた。 C 言語版 M-6000M(ES51986) Linux 接続ソフト(ソースコード) README として公開する。2 条項 BSD ライセンスなので気軽に扱えると思う。

C 言語で書くに当たり、次の機能を盛り込むことにした。
  • パイプラインで扱え、ログ・プロット・判定等はパイプラインの後段に任せる。
  • シリアル通信で発生したエラーを検出し、エラーの場合は測定値を無効として扱う。
  • 仕様外の文字コードを受信した場合は測定値を無効として扱う。
  • M-6000M は測定結果を 2 度送りする。これを比較し一致すれば 1 回の測定値としてまとめる。
  • 通信途絶からの復旧は自動で行う。測定中にシリアル接続を切ったり、レンジ・ノブを OFF にした後レンジを選び直しても、しばらく待てば測定は再開する。
  • 出力フォーマットは自由に設定できる。ns 単位の時刻挿入、科学・工学・LCD 表示通りの数値形式を選べる。
  • M-6000M で測定できる物理量に対応する。Lux, dB, Temp を扱える。
色々と盛りだくさんになった。ソースコード行数は 3000 行を超えて Ruby 版に見られるスマートさは無い。

使用するに当たり一般ユーザーから serial port を使えるようにした方が便利だろう。次の様にして dialout グループにユーザー user_name を入れてシリアルポートのアクセス権限を付与する。

# useradd -G dialout user_name
2017.4.9 追記 useradd command の仕様が変わったため、usermod を使う様にする。操作ミスや不意な仕様変更に備えて、2 つの端末を接続して、一方を管理権限にして置き、修復できるように備えた方が良いだろう。管理権限を維持している端末は、新しくログインしてみて、sudo su 等の管理権限行使などに異常が無いか確かめるまで維持しておく。
# usermod -a -G dialout user_name

ソースコードからビルドするには、次の様に make だけする。

$ make
cc -O2 -Wall -Wuninitialized -Wunused-but-set-parameter -Wunused -Wmissing-parameter-type -Winit-self -Wsequence-point -DVERSION_STRING=\"1.03\" -o m-6000mtxt m-6000mtxt.c -lrt


テスタで Ni-MH 電池電圧測定をしている状況で、試しに実行すると次の様になる。

$ ./m-6000mtxt /dev/ttyUSB0
/dev/ttyUSB0: Timeout.
/dev/ttyUSB0: Reconfigure port.
/dev/ttyUSB0: Send break.
1376762619.573732445 DC 1.263e+0 V
1376762620.473715860 DC 1.264e+0 V
1376762621.373827385 DC 1.263e+0 V
1376762622.274001973 DC 1.263e+0 V
1376762623.173702638 DC 1.264e+0 V
1376762624.073686198 DC 1.263e+0 V
1376762624.973658443 DC 1.264e+0 V
1376762625.872772287 DC 1.263e+0 V
1376762626.772722237 DC 1.263e+0 V
1376762627.672655250 DC 1.263e+0 V
1376762628.572601291 DC 1.263e+0 V
^C./m-6000mtxt: Interrupted.
./m-6000mtxt: Catch signal.


Timeout で始まっているのは M-6000M が RS-232 モードで動いていないためだ。何も通信が無い状態が 7.5 秒経過し、Break を送信して測定開始となっている。



え?M-6000M って残り在庫あとわずかなの?





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2017.04.09 20:30:04
コメント(0) | コメントを書く


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: