アフレルさんの資料によると、インテリジェントブロックEV3とパソコンを接続するさいに「USBシリアル変換治具」という通信ケーブルを使うとのことです。これでLinuxのネイティブコードでEV3をプログラミングすることができるようになるらしいです。
https://afrel.co.jp/archives/7094
この通信ケーブルについては詳しいことが分からないので自作してみました。
![Ev3usbserial Ev3usbserial](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b7c91a2fb8970b-320wi)
▲通信ケーブルの回路図です。この回路図は筆者が勝手に考えています。
レゴ マインドストームNXT/EV3では機器の接続に独自仕様のプラグ/モジュラージャックが使われています。このうち5~6番ピンはI2Cや回転センサーの端子として使用していましたが、EV3以降はUARTとしての機能も兼ね備えています。
USBシリアル変換モジュールはUARTをUSBに変換するためのモジュール基板です。
![IMG_20170828_054834 IMG_20170828_054834](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b7c91a2f96970b-320wi)
▲完成した通信ケーブルです。入力ポート1に接続します。
NXT/EV3用のモジュラージャックはmindsensors.comから購入しました。電話用の6極6芯モジュラージャックを買って、穴を広げても作れますが、それだとラッチ部分がひっかかりません。モジュラージャックの接続にはサンハヤト製の変換基板を使っています。今だと、もっとコンパクトな変換基板が秋月で売っていますので、そちらがおすすめです。
USBシリアル変換モジュールは秋月の「FT232RQ」を使いました。この手のモジュールはいろいろな会社から発売されています。モジュール自体はUSBのバスパワーで動きます。
![Teraterm1 Teraterm1](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01bb09bd7222970d-320wi)
▲Tera Termを起動して、シリアルポートを設定します。ボーレートを115200bpsにします。
![Teraterm2 Teraterm2](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01bb09bd7228970d-320wi)
▲インテリジェントブロックEV3の電源を入れると、インテリジェントブロック→パソコンにデータが送信されます。Linuxが起動していることが分かります。起動には30秒くらいかかります。
![Uboot Uboot](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b8d2a490d1970c-320wi)
▲起動してすぐにキーボードの小文字のLキーを押すと、自動起動を停止させることができます。押すタイミングが分からないので、キーを押しっぱなしにしました。
U-Bootという専用のコマンドラインが実行されます。「boot」と入力すると、起動を再開できます。
![Teraterm3 Teraterm3](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b8d2a48fb8970c-320wi)
▲何も押さずにいると、こうなってしまいます。
普通に起動してしまうため、ただの入力ポートになり、通信ができなくなります。