2015年03月02日
Intel Edison 汎用小型コンピューティング・モジュール(何となく)ハンズオン!
興味はあっても電子工作経験ほぼゼロの僕にとって Intel Edison はエンジョイできないデバイス、ずっとそんなふうに考えていたのです。 でも、チャレンジしなくちゃいつまで経っても前には進めないよね!、という半ば強引な理由で出費に反対する僕のココロを納得させ(物欲優先で) Intel Edison(Intel Edison Breakout Board Kit)を買ってしまったのです。
Intel Edison Breakout Board Kit の開封とそのスペック
こちらが購入した Intel Edison Break Board Kit。
パカり。
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 だけではホスト PC と接続する手段が無いので開発を行うには何かしらのボードが必要になります。 そこで 56 個のピンホール、2つの USB microB コネクタ、電源入力用ジャンパピン等が用意されている Breakout Board が必要になるわけです。
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 をコネクトしてボルトで固定すれば準備完了。
Edison には Yacto Project(詳しい説明は「Yocto Project を使用して組み込み用のカスタム Linux ディストリビューションを作成する」をどうぞ) を利用して作成した Poky ベースのディストリビューションが組み込まれています。 僕は何処かで Ubuntu ベースのイメージに切り替えるつもりなのですが、まずは Yacto/Poky の使い方を勉強しますよ。
シリアル通信するのでホスト PC へ screen をインストールして、
J3 で接続した Edison は /dev/ttyUSB0 として認識されるのでボーレートを 115200 bps として screen で接続します(終了は Ctrl + a キー入力後に k キーですよ)。
さあ、準備はできました。 J16 も PC と接続して電源(一般的な USB 5V 給電でもおk。 但し、後述する Edison ドライブとしては認識されません)を供給しましょう。
Edison(Yacto Linux)がブートしてきましたヨ。
コンソールへのログインは root、パスワードは無し。
再びコンソールへ戻り、次のコマンドを入力してソフトウェア・アップデートを実行。
2,3分でソフトウェアの更新及び再起動が行われますよ。
Yacto Linux には edison-config コマンドが含まれており、これを使い Intel Edison の設定を行います。
まずは root パスワードの設定(password must be between 8 and 63 characters)。
続いて Edison のホスト名を設定(指定しない場合は Enter キーでパス)。
無線 LAN にも接続しておきましょうか。 もし scanning で目当ての AP がリストされなければ 0 入力でリスキャンしてみましょう。
ちなみに、この設定は /etc/wpa_supplicant/wpa_supplicant.conf に保存されており、直接編集することも可能。
こうなると J16 コネクタとホスト PC を接続してファイルを直接コピーせずともネットワーク経由でファームウェアの更新が可能になります。
早速使ってみましょうか!
Intel Edison の起動とストウェア・アップデート
Edison には Yacto Project(詳しい説明は「Yocto Project を使用して組み込み用のカスタム Linux ディストリビューションを作成する」をどうぞ) を利用して作成した Poky ベースのディストリビューションが組み込まれています。 僕は何処かで Ubuntu ベースのイメージに切り替えるつもりなのですが、まずは Yacto/Poky の使い方を勉強しますよ。
まず、J3 コネクタと ホスト PC(僕は Ubuntu MATE/14.04)を USB ケーブルで接続。
シリアル通信するのでホスト 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 ドライブとしては認識されません)を供給しましょう。
Edison(Yacto Linux)がブートしてきましたヨ。
コンソールへのログインは 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)を解凍・中身をコピーします。
再びコンソールへ戻り、次のコマンドを入力してソフトウェア・アップデートを実行。
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"
}
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。
起動するとサインアップを求められますよ。
簡単なプログラムを作ってみましょうか。 STAET A NEW PROJECT > Templates と進み、Blank Template を選択。
main.js へ console.log("Hello Edison"); と入力して保存。 左下にある IoT Device メニューから Add Manual Connection を選択。
先程設定した Wi-Fi(wlan0)アドレスを登録。
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
root@edison:~# xdk-whitelist --add 192.168.1.100
192.168.0.100 added to whitelist!
後はコードを Edison にアップロードして、
Run ボタンをクリックすれば動くはずですよ。
ふう、これで Intel Edison の基礎・入門はおしまい。 何を作るかは・・・ノー・アイデア。
とりあえず L チカにチャレンジしてみようかなと・・・。
※ハルロックの無料版はこちら。
Intel Edison Breakout Board Kit Edison本体+Breakout基板
posted with amazlet at 15.03.02
Intel
売り上げランキング: 29,847
売り上げランキング: 29,847