2012年12月11日火曜日

MacかLinuxか,それが問題だ!(GPIBとRS232Cを,Mountain LionかScientificLinux6.3か)

GPIBとRS232Cをつかった測定システム構築のために,どんな環境がいいかいろいろ試しています.

自分一人でやるなら何でもいいのですが,いずれは共同研究者の方や,学生さん達にもお勧め出来るシステムの方が良いと思い,なるべく再現性のよいシステムを考えています.

そもそも,MacがいいのかLinuxがいいのかという選択肢があるわけですが,LinuxでNIのUSB-GPIB-HSを使う場合,2012/12時点でNI-488.2 2.9がkernel 2.6.24までしかサポートしていませんでした.

入手しやすい格安なラップトップ場合,最新のグラフィックボードをつかっていることが多いと思います.
その場合実際は最新のLINUXディストリビューションを使いたいのですが,そうするとNIのドライバが対応していない,という状況に陥ります.
実際,私の環境(HPの5万円程度のラップトップ,ProBook4730s)の場合,グラフィックがAMD Radeon HD 7470Mという比較的新しいもので,ScientificLinux6系でも6.3でやっと対応という状況です.
しかし,6.x系のカーネルは2.6.32-xなので,NI-USB-GPIB-HSが使えません!
5.x系はkernel 2.6.18-xなので大丈夫なのですが,XがVGAモードで起動すらしませんでした.

ScientificLinuxのカーネルバージョンヒストリーはここにあります.

そこで,LINUX-GPIBパッケージを使うのがいいとは思うのですが,過去のエントリにもk書いた通り,rootユーザで毎回ドライバの設定を読ませなくてはいけなかったり,使うユーザをgpibグループに追加しなくてはいけなかったりするし,そもそもあまり『コンダラを引きたくない』ヒトにはオススメ出来ないなぁ,と思っていました.

MacにNIのGPIBドライバがインストールできて,RS232cも簡単に読めれば,Macでやってもいいので,試しにやってみました.

まず,RS232cですが,Linuxではデフォルトでカーネルにドライバーがありましたので,
さすだけでモジュールがロードされていました.
BSDであるMacでもそんなに大きくは変わらないはず.

そこで,一切ドライバーインストールせずにまずはUSB-RS232変換ケーブルをブッさしてみました.
環境は,MacBookAir 11インチのMid2011モデルで,Mountain Lionにアップグレード済みです.

残念なことに,ドライバがロードされた気配もなく,

$ ls /dev/tty.*

としてみても,Bluetooth関係しか見えてきません.
そこで,チップの製造元FTDIのサイトから,Virtual COM Portドライバを探してきました.

インストールはあっけなく終了.
ケーブルを挿してみると,


無事に見えているようです.
一方,NIの488も,ここからリンクをたどってドライバをインストールしました.
2012/12の段階で,NI4882のバージョンは3.0.1でした.

Mountain Lionは対応しているとは書いていなかったのですが,あっさりインストールに成功し,通信できました.
(くれぐれも自己責任でお願いします!!)


GPIB Explorer.appが起動し,GPIBインターフェースが見えています.


付属してきたSample.cの中身をちょこっと変えて,*IDN?を投げかけて結果を読むようにしてみました.
しっかり動いています.

コンパイルは,

$ gcc Sample.c -m32 -framework NI488

でいいみたいです.
NIのウェブサイトに,

NI-488.2 for Mac OS X now functions when using a 64-bit Mac OS X kernel. The driver may currently be used only from 32-bit applications.

と書いてあったので,62ビットOSであってもm32オプションでコンパイルする必要があるみたいです.


0 件のコメント:

コメントを投稿