Intel Edison の Breakout Board Kit を入手したので、まっさらな状態からLチカまでやってみました。
使うもの
- Edison
http://www.intel.co.jp/content/www/jp/ja/do-it-yourself/edison.html - microBのUSB 2本
- LED
- ブレッドボード
- ジャンパワイヤー 2本
ファームウェアをアップデートする
シリアル通信が遅いとか、コマンドの最初の文字が欠けたりするので、アップデート必須です。
###フォーマットする
microBのUSBで、Mac と Edison の J16 に接続すると給電が開始され、Edison が起動します。
しばらくすると、Finder にマウントされるので、まずは初期化から。
ディスクユーティリティを使ってFAT32にフォーマットする。
###イメージをダウンロード
Edison - Software Downloadから「Edison Yocto complete image」をダウンロードする。
https://communities.intel.com/docs/DOC-23242
zipファイルを展開して、Edison のストレージにコピー。
フォーマット後なので、ストレージの直下にはなにもないはず。
コピーが終わったら、J3にUSBを接続して、ターミナルから screen コマンドを実行します。
screen /dev/cu.usbserial-AJ035PUI 115200 -L
デバイス名は適宜変えてください。
/dev/cu.usbserial- ぐらいまで入力すれば、あとはタブキーで補完されるはず。
###デバイスが見つからないときは
そんなデバイスないよとエラーが出たら、FTDIドライバが必要かもしれないです。
http://www.ftdichip.com/Drivers/VCP.htm
インストール後、FTDI Driver Control を起動して ENABLED にしておきます。
/dev/cu.usbserial-******** が現れたら screen を実行します。
接続が成功するとログインを聞かれるので、root の空パスワードで入れます。
edison login: root
ログインできたら、reboot コマンドでファームウェアを書き換え、再起動させます。
reboot ota
再起動が完了したら最新になってるのを確認する。(2014/12/03時点)
cat /etc/version
edison-rel1-maint-weekly_build_16_2014-10-14_14-56-19
Edisonを設定する
対話型の設定コマンドが用意されてます。
configure_edison --setup
デバイス名とパスワード(次回以降のSSHログイン)、WiFi設定を行います。WiFiはSSIDを検索してくれるので、適宜選択して進めます。
設定が終わるとURLが表示されるのでブラウザでアクセスしてみる。
サーバがデフォルトで起動するんですね。IoTって感じです。
IPが付与されてるか確認してみる。
ifconfig
wlan0 の inet addr: がそう。
この時点でインターネットにつながってるので、ping とか curl してみると応答あります。この大きさのものがインターネットにつながってるとか、わくわくしますね。
ライブラリを最新にする
パッケージマネージャは OPKG というものが入ってるようです。
cd /etc/opkg
curl -O http://nonnoise.github.io/Edison/_sources/Edison/base-feeds.conf
curl -O http://nonnoise.github.io/Edison/_sources/Edison/intel-iotdk.conf
curl -O http://nonnoise.github.io/Edison/_sources/Edison/mraa-upm.conf
opkg update
opkg upgrade
.profile にパスを記述。
cd ~
echo PATH=/usr/lib/node_modules/iotkit-agent/node_modules/.bin:$PATH > .profile
つづいて、PCからWiFi経由でSSH接続できるか確認。
ssh -l root 10.0.1.5
ホスト名などは適宜変えてください
ローカルのキーを捨てて、もういちど接続するとつながる。
ssh-keygen -R 10.0.1.5
Lチカさせる
いよいよハードウェアハローワールド、LEDチカチカです。
LEDの長い方(アノード)を J18の2番 に、短い方(カソード)を J19の3番 に、につなぎます。
ファイル書き込みでGPIOから制御します。
Lチカはこちらの記事を参考にしました。
http://tech.recruit-mp.co.jp/gadget/intel-edison-getting-started/
echo "165" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio165/direction
echo "1" > /sys/class/gpio/gpio165/value
点灯しますね。
0を書き込んで消します。
echo "0" > /sys/class/gpio/gpio165/value
###Node.jsでLチカさせる
MRAAというIntel製のライブラリとGitを入れて、サンプルをクローンしてきます。
cd ~
opkg install libmraa0
opkg install git
git clone https://github.com/intel-iot-devkit/mraa.git
MRAAにあるサンプルスクリプトを使います。
cd ~/mraa/examples/javascript/
vi Blink-IO.js
ピン番号を修正。
/* var myLed = new m.Gpio(13); */
var myLed = new m.Gpio(15);
ピンアサインはこちら
https://github.com/intel-iot-devkit/mraa/blob/master/docs/edison.md
修正できたら Blink-IO.js を実行します
node Blink-IO.js
1secで明滅したら成功です。
手軽です。Web系エンジニアにも手が出しやすいのがいいところですね。
それにしても、これらが無線でできちゃうのすごい。
ちなみにEdisonを終了させるには shutdown コマンドで。
shutdown -h now