2015年03月02日

Intel Edison 汎用小型コンピューティング・モジュール(何となく)ハンズオン!

興味はあっても電子工作経験ほぼゼロの僕にとって Intel Edison はエンジョイできないデバイス、ずっとそんなふうに考えていたのです。 でも、チャレンジしなくちゃいつまで経っても前には進めないよね!、という半ば強引な理由で出費に反対する僕のココロを納得させ(物欲優先で) Intel Edison(Intel Edison Breakout Board Kit)を買ってしまったのです。

Light

Intel Edison Breakout Board Kit の開封とそのスペック


こちらが購入した Intel Edison Break Board Kit。

box

パカり。

open box


Edison 本体は SD カード程の大きさでしてスペックは次の通り。

SoC 100 MHz/32 ビットのインテル Quark MCU(Micro Controller Unit)による デュアルコア/デュアルスレッドの 500 MHz の Atom CPU、周辺機器、SDRAM を含めたシステム・オン・チップを構成。
メモリー 1GB LPDDR3
ストレージ 4GB EMMC
無線 デュアルバンド Wi-Fi、BTLE(Bluetooth Low Energy)
I/F 70 pin I/O コネクタ(うち GPIO は 40 pin)及び外部アンテナ用コネクタ
サイズ 35.5 mm x 25 mm x 3.9 mm (Width x Depth x Height)


シールド内部にはプロセッサ、メモリ、ULPI(UTMI+ Low Pin Interface)、eMMC、Wi-Fi/BTLE モジュールが詰め込まれています。

Intel Edison Block diagram


さて、Intel Edison だけではホスト PC と接続する手段が無いので開発を行うには何かしらのボードが必要になります。 そこで 56 個のピンホール、2つの USB microB コネクタ、電源入力用ジャンパピン等が用意されている Breakout Board が必要になるわけです。 

Intel Edison and breakout board


Breakout Board のジャンパー構成はこう。

Intel Edison on Breakout board


Intel Edison を Breakout Board に接続すると J3, microB USB コネクタから UART 変換チップを介してホスト PC とのシリアル通信、J16/microB USB コネクタから電源を供給することが可能になります。

尚、電源に関しては J21 ジャンパピンから 7 - 15 V DC を供給することも可能です。 この他にも J2 の位置にあるジャンパピン経由で Li-Po(リチウムイオンポリマー、3.6 - 3.7 V)バッテリーによる Edion 本体への電源供給及び J3、J21 経由の給電を使った Li-Po 自体のリチャージ(100 mA)も出来るようになっています。

70 ピン・コネクタで Edison 本体と Breakout Board をコネクトしてボルトで固定すれば準備完了。

Intel Edison vs SD card


早速使ってみましょうか!


Intel Edison の起動とストウェア・アップデート


Edison には Yacto Project(詳しい説明は「Yocto Project を使用して組み込み用のカスタム Linux ディストリビューションを作成する」をどうぞ) を利用して作成した Poky ベースのディストリビューションが組み込まれています。 僕は何処かで Ubuntu ベースのイメージに切り替えるつもりなのですが、まずは Yacto/Poky の使い方を勉強しますよ。

まず、J3 コネクタと ホスト PC(僕は Ubuntu MATE/14.04)を USB ケーブルで接続。

Intel Edison connect usb cable to serial port


シリアル通信するのでホスト PC へ screen をインストールして、

$ sudo apt-get install screen


J3 で接続した Edison は /dev/ttyUSB0 として認識されるのでボーレートを 115200 bps として screen で接続します(終了は Ctrl + a キー入力後に k キーですよ)。

$ sudo screen /dev/ttyUSB0 115200


さあ、準備はできました。 J16 も PC と接続して電源(一般的な USB 5V 給電でもおk。 但し、後述する Edison ドライブとしては認識されません)を供給しましょう。

Intel Edison get power


Edison(Yacto Linux)がブートしてきましたヨ。

edison booting


コンソールへのログインは root、パスワードは無し。

Poky (Yocto Project Reference Distro) 1.6.1 edison ttyMFD2

edison login: root
root@edison:~#


出荷初期状態でファームウェアのバージョンは 2014/8/20 ビルド版。 かなり古いのでソフトウェアのアップデートを行いましょう。
 
root@Edison:~# cat /etc/version
edison-weekly_build_56_2014-08-20_15-54-05


手順はこう。 ホスト PC 上で Edison ドライブが見えるようになっているはずなので(J16 でホスト PC と接続している必要あり)、このドライブへ Intel® Edison Boards and Compute Modules - Software Downloads からダウンロードした Yocto complete image(zip)を解凍・中身をコピーします。

Edison - copy firmware


再びコンソールへ戻り、次のコマンドを入力してソフトウェア・アップデートを実行。

root@edison:~# reboot ota


2,3分でソフトウェアの更新及び再起動が行われますよ。

root@edison:~# cat /etc/version
weekly-120


Intel Edison ソフトウェアの初期設定(ホスト名、パスワード、Wi-Fi 設定)


Yacto Linux には edison-config コマンドが含まれており、これを使い Intel Edison の設定を行います。

root@edison:~# configure_edison --setup


まずは root パスワードの設定(password must be between 8 and 63 characters)。

Configure Edison: Device Password

Enter a new password (leave empty to abort)
This will be used to connect to the access point and login to the device.
Password: ************


続いて Edison のホスト名を設定(指定しない場合は Enter キーでパス)。

Configure Edison: Device Name

Give this Edison a unique name.
This will be used for the access point SSID and mDNS address.
Make it at least five characters long (leave empty to skip): Edison


無線 LAN にも接続しておきましょうか。 もし scanning で目当ての AP がリストされなければ 0 入力でリスキャンしてみましょう。

Configure Edison: WiFi Connection

Scanning: 9 seconds left...

0 :     Rescan for networks
1 :     Exit WiFi Setup
2 :     Manually input a hidden SSID
3 :     NETBUFFALO


Enter 0 to rescan for networks.
Enter 1 to exit.
Enter 2 to input a hidden network SSID.
Enter a number between 3 to 19 to choose one of the listed network SSIDs: 3

Is NETBUFFALO correct? [Y or N]: y
Password must be between 8 and 63 characters.
What is the network password?: *********************
Initiating connection to NETBUFFALO. Please wait...


Initialize が終わると wlan0 インタフェースが有効化され、Edison から直接インターネットへ接続出来るようになります。

root@edison:~# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 78:4b:87:a4:83:56
          inet addr:192.168.1.39  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:45 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5915 (5.7 KiB)  TX bytes:9001 (8.7 KiB)


ちなみに、この設定は /etc/wpa_supplicant/wpa_supplicant.conf に保存されており、直接編集することも可能。

root@edison:~# cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
config_methods=virtual_push_button virtual_display push_button keypad
update_config=1
fast_reauth=1
device_name=Edison
manufacturer=Intel
model_name=Edison

network={
  ssid="NETBUFFALO"

  key_mgmt=WPA-PSK
  pairwise=CCMP TKIP
  group=CCMP TKIP WEP104 WEP40
  eap=TTLS PEAP TLS
  psk="NETBUFFALO's AUTH PASSWORD"
}


こうなると J16 コネクタとホスト PC を接続してファイルを直接コピーせずともネットワーク経由でファームウェアの更新が可能になります。

root@edison:~# configure_edison --upgrade
The latest version is already installed.


最後にパッケージの更新ですね。  Yocto Linux では opkg という apt に似たパッケージ・マネージャーを採用しています。 これを使い update && upgrade を実行。

# update package list.
root@edison:~# opkg update
Downloading http://iotdk.intel.com/repos/1.1/intelgalactic/Packages.
Updated list of available packages in /var/lib/opkg/iotkit.

# upgrade packages.
root@edison:~# opkg upgrade


Intel® XDK IoT Edition - Quick Start Guide


XDK は Intel の提供する IoT ソフトウェア開発環境(IDE)。 言語は Javascripts で Edison 上の xdk-daemon と連携してデバイス上で動く Node.js アプリケーションを効率良く開発できるのです。

ホスト PC のアーキテクチャに合わせ Intel XDK IoT Edition をダウンロード(https://software.intel.com/en-us/html5/xdk-iot)し、インストーラを起動しましょう(ここでは Ubuntu MATE 14.04 amd64 へインストール)。

$ tar xvzf iot_web_linux64_master_1816.tgz 
$ cd iot_web_linux64/
$ ./install.sh


インストール先だけ注意(僕は Install as current user)して後は全てデフォルトでおk。

XDK IoT Edition installer


起動するとサインアップを求められますよ。

Intel XDK IoT Edition sign up


簡単なプログラムを作ってみましょうか。 STAET A NEW PROJECT > Templates と進み、Blank Template を選択。

Intel XDK IoT Edition blank template


main.js へ console.log("Hello Edison"); と入力して保存。 左下にある IoT Device メニューから Add Manual Connection を選択。

hello edison app


先程設定した Wi-Fi(wlan0)アドレスを登録。

intel xdk  connect iot deivce


J3 コネクタでホスト PC と USB 接続している場合、USBネットワーク(Edison アドレス: 192.168.2.15)も選択できます。 また、このアドレスは /etc/systemd/network/usb0.network で変更可能。 USB ネットワークを使う場合はホスト PC 側でも適当なアドレスを設定する必要があることにも注意。

$ sudo ifconfig usb0 192.168.2.100 netmask 255.255.255.0


おっと、Connect 前に Edison 側でホスト PC のアドレス(ここでは 192.168.1.100)をホワイト・リストとして登録する必要があることもお忘れなく。

root@edison:~# xdk-whitelist --add 192.168.1.100
192.168.0.100 added to whitelist!


後はコードを Edison にアップロードして、

intel xdk upload codes


Run ボタンをクリックすれば動くはずですよ。

run xdk iot application


ふう、これで Intel Edison の基礎・入門はおしまい。  何を作るかは・・・ノー・アイデア。

とりあえず L チカにチャレンジしてみようかなと・・・。

※ハルロックの無料版はこちら


ハルロック(1)
ハルロック(1)
posted with amazlet at 15.03.02
講談社 (2014-07-23)

Posted by netbuffalo at 20:00│Comments(0)TrackBack(0) Intel Edison | Linux


この記事へのトラックバックURL

コメントする

名前
 
  絵文字