#navi(NQC入門)

#contents

* Windows [#p3285544]

WindowsでNQCを利用する場合には、NQCを単体で使用する方法とBricxCCという統合環境を利用する方法があります。テキストベースで行う(作業ディレクトリの変更などの)DOSの操作に慣れていなければ、BricxCCを使用するほうが無難でしょう。NQC単体で利用する場合には、エディタとしてWindows付属の『メモ帳』を利用することができます。USBの赤外線タワーをWindows XPで使用する場合やRIS2.0付属のCD-ROMが手もとにない場合には、LEGO社の配布している LEGO Mindstorms SDK2.5 も必要になります。以下、SDK2.5とBricxCCの入手とインストールについて説明します。

+[[LEGO社のサイト:http://mindstorms.lego.com/eng/community/resources/default.asp]] 
から[[SDK2.5:http://mindstorms.lego.com/sdk2point5/LEGOMindstormsSDK25.zip]] 
をダウンロード。このファイルはzip形式で圧縮されています。
+ダウンロードしたファイルを、例えば[[UnZip:http://www.info-zip.org/pub/infozip/UnZip.html#Win32]]を使って解凍。LEGOMindstormsSDK25.exeというファイルができます。
+LEGOMindstormsSDK25.exe を実行してSDK2.5をインストール。
このパッケージの中には、USBの赤外線(IR)タワーのドライバやRIS2.0のファームウェアが含まれています。これらのソフトはRIS2.0付属のCD-ROMにも含まれていますが、Windows XP 上で作業をする場合には、SDK2.5付属のIRタワーのドライバを使う方がよいようです。付属CD-ROMに入っているドライバをWindows XPで使う場合には、
[[NQCのFAQ:http://bricxcc.sourceforge.net/nqc/doc/faq.html#irxp]]
を参考にしてください。
+[[BricxCCのホームページ:http://bricxcc.sourceforge.net/]]
から[[最新バージョン:http://sourceforge.net/project/showfiles.php?group_id=68600&package_id=67285]]をダウンロード。2005年11月8日現在の最新バージョンは3.3.7.10です。
+ダウンロードした bricxcc_setup_33710.exe というファイルを実行。
これでBricxCCがインストールされます。

NQC単体で使用する場合には、BricxCCのかわりに
[[NQCのホームページ:http://bricxcc.sourceforge.net/nqc/]]
で配布されている
[[バイナリ・パッケージ:http://bricxcc.sourceforge.net/nqc/release/nqc-win-3-1-r4.zip]]
をダウンロード&インストールしてください。

//--[[配布ミラーサイト:http://prdownloads.sourceforge.net/bricxcc/bricxcc_setup_33710.exe]]
//-[[BricxCCのホームページ:http://bricxcc.sourceforge.net/nqc/]]
//--[[NQCのバイナリ配布パッケージ:http://bricxcc.sourceforge.net/nqc/release/nqc-win-3-1-r4.zip]]

* MacOS X [#veaff07d]

* GNU/Linux [#ta99cc9a]

NQCでUSBのIRタワーを使用するためには、Linux用のドライバが必要です。
Linux 2.6.1以降ではこのドライバはカーネルに標準で含まれていますが、カーネル2.4系では http://sourceforge.net/projects/legousb/
からソースをダウンロードしてコンパイルする必要があります (ここではその方法は省略します)。
また、NQCをコンパイルする際にはこのドライバのソースに含まれているヘッダファイルが必要です。
以下、NQCのコンパイルとインストールの手順を簡単に説明します。

+[[NQCのホームページ:http://bricxcc.sourceforge.net/nqc/]]から
[[NQCのソース(nqc-3.1.r4.tgz):http://bricxcc.sourceforge.net/nqc/release/nqc-3.1.r4.tgz]]
を、
[[LegoUSBのプロジェクト・ページ:http://sourceforge.net/projects/legousb/]]
からUSBのIRタワーのソース
をダウンロード。wgetを使う場合には、シェル上で
 wget http://bricxcc.sourceforge.net/nqc/release/nqc-3.1.r4.tgz
 wget http://jaist.dl.sourceforge.net/sourceforge/legousb/legousbtower-0.5.4.tar.gz
+適当なディレクトリで展開。同じくシェル上で
 tar zvxf nqc-3.1.r4.tgz
 tar zvxf legousbtower-0.5.4.tar.gz
+rcxlibというディレクトリの下にLegoUSBというディレクトリを作成してここにNQCのコンパイルに必要なヘッダファイルをコピー。シェル上で
 mkdir nqc-3.1.r4/rcxlib/LegoUSB
 cp legousbtower-0.5.4/include/legousbtower.h nqc-3.1.r4/rcxlib/LegoUSB/
+Makefileを編集。シェル上で
 cd nqc-3.1.r4
 vi Makefile
Makefileの中の
 #  USBOBJ = rcxlib/RCX_USBTowerPipe_linux.o
となっている行のコメントを外して
   USBOBJ = rcxlib/RCX_USBTowerPipe_linux.o
とします。
もちろん vi の代わりに別のエディタを使ってもかまいません。
+rcxlib/RCX_USBTowerPipe_linux.cpp を編集。
 vi rcxlib/RCX_USBTowerPipe_linux.cpp
USB IRタワーのkernel標準のデバイス名は /dev/usb/legousbtower0
のようなので、あらかじめこのファイル内で正しく設定しておきます。
つまり
 #define DEFAULT_TOWER_NAME "/dev/usb/lego0"
という行を
 #define DEFAULT_TOWER_NAME "/dev/usb/legousbtower0"
に変更します。このファイルを編集するかわりに、あとでシンボリックリンクを作成したり、ドライバのソースのほうを変更してもかまいませんが、おそらくこの方法が一番楽でしょう。
+そして make。シェル上で
 make
+スーパーユーザになってインストール
 su
 make install
+一般ユーザでもIRタワーを使えるようにパーミッションを変更 (次のDebian の説明を参考にしてください)。
+ついでに .bashrc あたりに
 export RCX_PORT=usb
という一行を入れておくと毎回 -Susb というオプションをつける必要がないので便利です。

* Debian GNU/Linux [#f7d7bf77]

Debian 3.1 (sarge) には NQC 2.5.r3 が正式パッケージとして含まれています。したがって単に

 apt-get install nqc

というコマンドだけでインストールできます。
ところで上に書いたように、USBのIRタワーのドライバは、Linuxカーネル 2.6.1 以降で
オフィシャルなカーネル・モジュールになったので、USBのIRタワーを
使う場合には、カーネル 2.6.1 以降を使うことをお勧めします (2.4.18以降のカーネルでも一応使えていましたが)。

ただし、root以外の一般ユーザでもデバイスにアクセスできるように、
Debian 3.1 (Sarge) で devfs を使用している場合には、
/etc/devfs/perms に
 REGISTER ^usb/legousbtower[0-9]$ PERMISSIONS root.root 0666
の一行を入れておくか、Debian unstable/testing で
udev を使用している場合には、
/etc/udev/permissions.rules に
 BUS=="usb", KERNEL=="legousbtower*", MODE="0666"
という一行をいれておくと便利です。

一方シリアルのIRタワーを使用する場合には、
自分のユーザIDを dailout グループに入れて /etc/devfs/perms の中で
 REGISTER ^ttyS[0-9]$ PERMISSIONS root.dialout 0660
のような感じになっていることを確認しておけばよいでしょう (devfs を使う場合)。ただ、LEGOのIRタワー以外にモデムなどのシリアル機器を利用している場合には、特定のポートだけをちゃんと指定するなど、セキュリティ上もう少し細かな設定をしてください。

#navi(NQC入門)

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS