読者です 読者をやめる 読者になる 読者になる

Raspbrry Pi + MMA (7): Vernier sensor を Ununtu12.04 で使う

Vernier センサーを Ubuntu12.04 に接続しでデータ収集する例が I Sense Pi に書いてあった。Raspberry Pi の OS は Debian なので Ubuntu と共通である。試したのでここに書きます。

Vernier SDK のインストール

Linux 用の SDK をダウンロードし解凍する。前回の(6) Verrnier Sensors on Raspberry Pi と同じ手続きで実行する。

GoIO ライブラリ作成の説明書 readme_first_on_linux.txt に従って次を入力する。

~/vernier$ ls
 GoIO  GoIO-2.53.0.tar.gz  vernier.c  vernier.tm
~/vernier$ cd GoIO
$ sudo apt-get install aptitude
$ sudo aptitude install build-essential
$ sudo aptitude install automake1.9
$ sudo aptitude install dpkg-dev
$ sudo aptitude install libtool
$ sudo aptitude install libusb-1.0-0-dev
$ sudo sh ./build.sh

これで GoIO のライブラリが作成された。確認のため GoIO_DeviceCheck をビルドし、 Vernier 温度センサーを USBポートに接続して実行する。

$ cd ./GoIO_DeviceCheck
$ sudo sh ./build.sh
$ ./GoIO_DeviceCheck
GoIO_DeviceCheck version 1.1
This app is linked to GoIO lib version 2.53 .
active kernel driver on device 2:3
Flushed 48 bytes when device (0x6ec9f0) opened.
Successfully opened Go! Link device 2:3 .
Sensor id = 10(Stainless Temp)
25 measurements received after about 1 second.
Average measurement =   19.019 (C) .

Vernier 温度センサーが認識されている。これで GoIO ライブラリーが正しく作られていることが確認できた。

MathLink Library の作成

I Sense Pi  に書いてあるリンクから vernier.c と vernier.tmp をダウンロードして次のようにしてコンパイルする。 残念ながら次のメッセージが現れてコンパイルに失敗する。

$ mcc -o vernier vernier.c vernier.tm -I/usr/include/GoIO -lGoIO
vernier.o: In function `getlibraryversion':
vernier.c:(.text+0x3f): undefined reference to `GoIO_Init'
vernier.c:(.text+0x52): undefined reference to `GoIO_GetDLLVersion'
vernier.c:(.text+0x80): undefined reference to `GoIO_Uninit'
vernier.o: In function `getdeviceinfo':
vernier.c:(.text+0xd0): undefined reference to `GoIO_Init'
  .........
  .........
collect2: ld stops with status 1

まとめ

  1. Ubuntu 12.04 で Vernier GoIO SDK の作成は成功する。
  2. MathLink ライブラリーの作成は、Raspberry Pi の場合に成功するのだが、Ubuntu 12.04 で失敗する。 原因として次が考えられるが解決していない。
  • vernier.c が 64bit Ubuntu 12.04 に対応しているのか?  
  • Ubuntu 用の Mathematica に付属する mcc に原因があるのか?  

解決法を教えていただければ幸いです。

追加:Vernier センサーを手に入れる方法

センサーをアマゾンで探しても見つからない。Vernier 米国本社のWeb ページで注文したところ日本マイクロボット教育社(日本代理店)より購入してくださいとのメールを受け取った。ここから購入できました。

目次へ