2014年12月14日日曜日

Intel Edison への micro USB 接続

 先日,Intel社製の Edison という microcontroller を買ってみたと書いた。 その後,少し遊んでみたので,備忘録を兼ねてメモを書いておこうと思う。

 Edison module は,大きさが 35.5 mm☓25 mm の極小コンピュータである。しかし,外部との接続は電源や入出力等すべてがヒロセの極小コネクター一つに集約されていて,通常はなんらかの拡張ボードとセットで使わないと使えないものとなっている。 そのコネクターは脱着回数が30回までしか保証されていないので,基本的に1個の Edison に1個の拡張ボードをセットで用意しないといけない感じである。今回は私は Intel 純製の Arduino Board と一緒に Edison を買ってみた。

 しかし,こんなに小さいのに 500MHz で動く Intel Atom プロセッサーが載っていて,記憶容量はプロセッサーとeMMCで合計 5GB あって,WiFi と Bluetooth がついていて,基本 Linux が働いている立派なコンピューターとなっている。 最初からインストールされているのは yocto linux という小サイズのシステム用の Linux であるが,ホストの環境によっては debin から派生した ubilinux が使えるらしい。 また,プリインストールされている yocto linux はバグ等が多数あるので,すぐに最新のものにアップデートするべきらしい(方法は後述)。 Edison はまだ市販されて間もないので,システムはどんどん改良されている途上と思っておいた方がいいみたい。
 そんな Edison module を買ってみて,まずは yocto linux のアップデートや,種々の設定を行った。今回はその話を書こう。


1. Edison をホストコンピューターにつないでみる
 まず,Intel Edison を買ったら,yocto linux をアップデートするか,ubilinux 等のシステムの最新版を入れなおさないといけない。 そのためにはホストとなるコンピューターに Edison をつながなければならない。 今回私が購入した Intel 製の Arduino Expansion Board には,2個の micro USB と1個の USB コネクターが付いている。 USB コネクターは一方の micro USB とスイッチで切替えて,USB か micro USB のどちらかを選ぶ,ものとなっている。 つまり USB 接続に関しては micro USB が2個ある,と思っておけば良い。 また,電源入力として,通常の電源コネクターとジャンバー形式の電源入力,充電池からの入力が備わっている。 しかし,一方の micro USB (下記のJ16) をホストコンピューターにつなげば,そこから 5V が供給されて Edison は起動できる。 まぁ,なにはともあれ,これらをつながないと Edison をいじる事はできない。 (どこかに書いてあったが,WiFi が働くと電流をくうので,できれば USB からの電源供給ではなく,電源端子や LiPo バッテリーから電源を取るのがいいらしい)

まず micro USB についてみてみよう。2つの micro USB は以下の様なものである。
-----------------------------------------------------------
  (a) micro USB (J3) : 写真の赤四角の方。FTDI チップがそばにある。シリアルコンソール用の端子 (先に接続)
  (b) micro USB (J16) : 写真の青四角の方。USB OTG(ホスト/クライアント機能)があり,電源供給を受ける事ができる端子 (後で接続)
-----------------------------------------------------------
 micro USB (J3) は,シリアルコンソール用の端子であり,ここにキーボードやコンソールをつなぐイメージとなる。 ホストコンピュータにつなぐと USB Serial Port (Windows の場合) と認識され,この端子を通じてシリアル通信 (いわゆる tty 接続) で Edison に接続できる。

 micro USB (J16) は,USB OTG(ホスト/クライアント機能)があるため, ホストコンピューターにつなぐとホストコンピューター側からは USB メモリがつながれたように見える。 さらに,ホストコンピュータからは Intel Edison Virtual Com Port (Windows の場合) として認識される。 そのため,Arduino IDE からスケッチを書き込む時は,この micro USB (J16) を使うことになる。 また,他の電源が供給されていなければ,このラインをつなぐと Edison が起動する。 この micro USB 端子は,スイッチで通常サイズの USB 端子と切り替えることが可能である。

 上にも書いたが,2つの micro USB は,micro USB (J3) を先に接続してから,micro USB (J16) を接続して Edison を起動する方がよい(後からでも壊れはしなかったが…)。 2つの micro USB コネクターをホストコンピューターにつなぐと,Edison が起動し,Edison 上の LED が点灯する。 Edison 上には3つの LED があるが,そのうちの DS1 がまず点灯し,その後 DS1 が消えて DS2 が光る。 そして最終的に DS1 と DS2 が点灯した状態になれば,Edison は起動完了である。 その際,micro USB (J16) を通じて,ホストコンピューターのデスクトップ上に Edison が外部記憶装置として表示されるはずである。


2. シリアル通信で Edison にログインしてみる
 micro USB (J3) を使ったシリアル通信は,多少コツが必要である。

 Edison の起動後に「コントロールパネル」の中の「デバイスマネージャー」を開き,「ポート(COMとLPT)」の中身を表示させると(Windows の場合), そこに USB Serial Port が表示されるはずである(Intel Edison Virtual Com Port ではないので注意)。 このポートの番号(COMxxと表示される)は,状況によっていろいろと変わる。 そこで PuTTY などの通信ソフトで,当該の COMxx に対して,速度「115200」で「Serial」通信で接続する。 (詳しくは Flashing Edison (wired) - Windows の「Step 1 – Connecting Edison」に書いてある)

 Macintosh の場合は,「ターミナル」を起動して,「$ screen /dev/cu.usbserial-xxxxxxx 115200 -L」(xxxxxxx は固有の番号であり,cu.usbserial の後にタブで補完すれば勝手に教えてくれる)と入力するとシリアル通信での接続ができる。 (詳しくは Flashing Edison (wired) - Mac の「Step 1 – Connecting Edison」に書いてある)

 シリアル通信で接続できれば,リターンキーを2回押すとログイン・プロンプトが表示される。 そこで「root」(+ enter キー)と入力し,カラのパスワード(パスワード入力なしで enter キー押す)を入れると,Edison にログインできるはずである。

 ログイン後の作業や,ログインでできない時の緊急避難方法などは次の項目としておこう。
Edison の yocto linux (firmware?) の更新(強制 flash も)に続く)

0 件のコメント: