United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

Intel「Edison」ボードの仕様と初期環境構築

こちら(英文)のブログの翻訳記事になります

title

切手サイズのIoT向け開発プラットフォーム

Intel EdisonのプロトタイプがCES(米国のエレクトロニクス機器展示会「コンシューマー・エレクトロニクス・ショー」)で発表された時の衝撃は業界に大きな波紋を起こしました。Linuxが動くPentiumクラスのデュアルコアSoC、無線LAN、Bluetooth、をわずかSDカードサイズのボード上に搭載するというものだったからです。その後、実際に発売された製品では、SDカードサイズに収めることはかなわなかったものの、当初の宣言した以下のような機能を実現していました。。

  • デュアルコア Intel Atome 500MHz

  • Intel Quark マイクロコントローラー 100MHz(ViperOS RTOSを実行可能)

  • 1GB RAM

  • 4GB flash

  • WiFi & Bluetooth 4.0

  • 70ピンのコネクタ(ヒロセ電機の「DF40C(2.0)-70DS」)

この記事ではArduino互換機能が追加されたEdison Kit for Arduinoを用いて解説していきます。

title

Intelの提供するMakerポータルEdison Getting Started Guide for Linuxの内容に従って基本セッティングとテストを行いました。

ハードウェアのセットアップ

箱の中にはEdisonモジュールとArduinoベースボード、小さな袋が入っていました。このような開発ボードでは省略されがちな取り付け穴はベースボード上に設けられていました。

title

モジュールをベースボード上に固定した後、2本のUSBケーブルを用いてラップトップに接続しました。.

title

ボードを接続すると、「Edison」という名前のUSBストレージデバイスと新しいネットワークインターフェース「USB0」がラップトップ上で確認することが出来ます。

title

title

コンパイルとArudinoスケッチのダウンロード

EdisonとGalileoボードをサポートしている「Intel Edison of the Arduino IDE」をインストールして実行しましょう。これはAVRおよびARMベースのArduinoボードで使用されているオリジナルのArduino IDEと全く同じものです。

IDEをインストールし、サンプルをダウンロードしましょう。コンパイルして動作を確認する前に、正しいボードと正しいシリアルポート(Linuxを使用している場合は「ttyACM0」)を選択する必要がありました。

title

設定を完了すると、ボード上の2つ目のLEDが点灯し、On/Offを繰り返しました。

Linuxとネットワーク構成へのログイン

あなたは何故2本のUSB接続が必要なのか、何故OTG単独でマスストレージとネットワークインターフェースを同時に提供しないのかと疑問に思うかもしれません。それはUSB-UARTブリッジとコンソールを提供するために使用されるSoC上のUARTへと順番に接続されているからです。

Getting Started GuideのStep5は、Linuxユーティリティやスクリーン、UARTへの接続を使用するためにはWifiコンフィグを使用する必要があることを示しています。

title

バグがあるのか、cofigure_edisonコマンドは--setuo optionを実行できませんでした。しかし、-wifi optionが実行でき、オプションを指定せずにコマンドを実行することでセットアップを実行できました。

title

この時点でラップトップからEdisonにアクセスすることができますが、ガイドに記載されているWebページからのアクセスはできませんでした。Edison Yocto Linuxシステムはインストールされたソフトウェアを管理するためにOPKGと呼ばれるパッケージマネージャーを使用しています。故にインストールされているWebサーバーソフトウェアを特定することができればガイド通りに動作するかもしれない。

title

クイック検索を用いて探してみましたが、軽量なWebサーバーを作成するために使用されるlibwebsockets以外を見つけることができませんでした。しかし、ラップトップからエジソンにSSHで接続することができるので、必要に応じてWebサーバーをインストールするのは簡単なことでしょう。

title

もちろん、Edisonをネットワーク接続したい時に無線LAN環境がない、もしくは使いたくない場合、USBネットワークインターフェースもあることを忘れないでください。

(Re-)flashing

インストール済みのソフトウェアの新しいリリースがあった時、OPKGリポジトリ経由でアップグレードすることができます。しかし、デバイスを完全にリフラッシュすることでも可能です。方法は非常に簡単で、まず最新のYoctoシステムイメージをダウンロードし、EdisonでUSBストレージに抽出します。そしてコンソールから"reboot ota"を実行する。

title

正常に完了しない場合はハードウェア破損の恐れがあります。

title

LinuxカーネルとLinuxアプリケーションの構築

title

EdisonのLinuxシステムはYoctoシステムを利用して構築されています。モジュール形式でカスタムLinuxの作成やクロスコンパイルなどの便利な機能を利用することができます。カスタムカーネルとアプリケーションはこのシステムを利用して構築され、LinuxやWindows、Mac用のアプリケーションをEdison SDKを介して提供します

こちらのブログ(英文)にてオーディオ・ビデオキャプチャを可能にするための方法を紹介しています。

開発者向けオプション

Intelはより簡単にIoT向けアプリケーション作成が行えるように、様々なライブラリやプラグイン、サンプルを提供しています。それらは大まかに分けると3つのグループで構成されています。
・Arduino
・JavaScript
・C/C++
ライブラリとサンプルはArduino開発用のものが提供されています。
CチュートリアルにはIntel独自のIoTきっとと一緒に、人気のMQTTとZero MQメッセージングプラットフォームを使用するためのものが含まれています。サンプルはnode.js形式で提供されます。

まとめ

Edisonモジュールを実際に目にしたとき、想像以上の小ささに驚くことでしょう。小ささだけではなく、開発者が簡単に使用できるように構成やアップグレードなどのプロセスに細心の注意が払われています。
最初、YoctoとPokyよりもUbuntuやDebianなどのLinux環境の方が良かったのではないかと思う方もいると思います。しかし、Yocto環境によってオーダーメイドのシステム構築が可能であることを考えると、本当に理にかなった選択です。Linux財団の後援下にある開発作業グループや家電メーカーがYoctoを好むのはそういった理由があるからです。

Arduinoのようにキットはサイズも大きく、値段も高くなってしまいます。また、Arduino環境下でアプリケーションを作成すると最も効率的な埋め込みコードにならないこともあります。しかし非常に多くの人がArduinoプラットフォームに精通しています。それは初心者にとって非常に取っ付きやすいコンピューティングプラットフォームを持っているからです。
まずはArduinoシールドとブレッドボードを利用して、試作機を開発し、アプリケーションの検証を行うことをおすすめします。そしてその経験を生かしてマス市場向けの完全なカスタムAtomベースのボード作成へとステップアップしていきましょう。

DesignSparkの日本語サイト公式アカウントです。DesignSparkシリーズのソフト、PCB Part library、技術記事などサイト上の全サービスの管理を行っています。
DesignSpark Electrical Logolinkedin