Intel Edisonで遊ぶ

全然まとまっていません。
自分用の作業履歴的な状態です。

一言で言うと、この大きさでメモリ1GB、x86 Linuxが動いて、Wi-Fi, Bluetoothも使える。
gcc/g++も動くよんという。遅いけど、いろんな物をセルフビルドも出来る。

f:id:espresso3389:20141101014648j:plain

最初の起動

8 J16 をUSBで接続

Edisonに給電する。J21とか、J2でも給電できるが、今回は、マスストレージでマウントしたいので、いずれにしてもJ16を接続する。

8 J3 をUSBで接続する

Windows 8.1だと、シリアルのドライバは自動インストールされる。

Edison に接続

putty とか、 poderosa とか、あるいは、 TeraTerm などお好きな物でどうぞ。
COMポートとかあんまり使ってないマシンの場合は、COM3になってることが多いようです。(デバイスマネージャで、 USB Serial Port という名前のポートを探してください)
注意点としては、接続スピードを、 115200 にすることだけ。他のパラメータは弄る必要なし。

[Enter]を何回か叩いたらログイン画面が出るので、 root でログイン、初期状態ならパスワードなしのはず。

configure_edison --help でいろいろと分かる。

usage: configure_edison [-h] [--server]
                        [[--setup | --name | --password | --wifi]
                        [--showWiFiIP | --version | --latest-version | --upgrade | --disableOneTimeSetup | --enableOneTimeSetup | --flash <version> [<release name> ...]
                        | --showNames]

optional arguments:
  -h, --help            show this help message and exit
  --server              Starts the server (testing only)
  --setup               Goes through changing the device name, password, and
                        wifi options
  --name                Changes the device name
  --password            Changes the device password
  --wifi                Changes the wifi options
  --showWiFiIP          IP address associated with the wireless interface
  --version             Gets the current firmware version
  --latest-version      Gets the latest firmware version
  --upgrade             Downloads the latest firmware
  --disableOneTimeSetup
                        Disable one-time setup and WiFi access point
  --enableOneTimeSetup  Enable one-time setup and WiFi access point
  --flash <version> [<release name> ...]
                        Downloads and flashes an image
  --showNames           Show device name and SSID

ログイン出来たら、 マシン名とか、Wi-Fiを設定しよう。

configure_edison --setup

これで、ネットワーク越しにsshできるようになる。Edisonでは、mdns(Bonjour/Zero Configuration)が動いているようで、
名前を、 hogehoge にしたら、

slogin root@hogehoge.local

で接続できるようになるはず。

opkg

Edisonは、opkgでパッケージ管理をしていて、install/update/upgradeといったコマンドで簡単にパッケージをインストールしたりできる。
ただ、標準状態では、いろいろと困るので、参照するリポジトリを設定する。

http://nonnoise.github.io/Edison/#id5

が参考にはなりますが、結論だけ書くと、/etc/opkg/下に、

base-feeds.conf:

src/gz all http://repo.opkg.net/edison/repo/all
src/gz edison http://repo.opkg.net/edison/repo/edison
src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32

intel-iotdk.conf:

src intel-iotdk http://iotdk.intel.com/repos/1.1/intelgalactic
src intel-all     http://iotdk.intel.com/repos/1.1/iotdk/all
src intel-quark   http://iotdk.intel.com/repos/1.1/iotdk/quark
src intel-i586    http://iotdk.intel.com/repos/1.1/iotdk/i586
src intel-x86     http://iotdk.intel.com/repos/1.1/iotdk/x86

みたいな感じで*.confファイルを作成して、その中に参照するURLを記述していけばOK。
これをやった後に、

opkg update
opkg upgrade

とすると、いろいろとアップグレードされる。
欲しいパッケージをインストールするときには、

opkg list

とかで利用できるパッケージ一覧を眺めてから、

opkg install bash

などとやれば良い。

Edisonのファームというかシステムを最新にする

僕のEdisonは、最初、 edison-weekly_build_56_2014-08-20_15-54-05 だったんですが、新しいファームウェアだと、

configure_edison --upgrade

でもアップグレードできそうです。

configure_edison 自体が古くて出来ない場合は

https://communities.intel.com/docs/DOC-23192

に書いてある方法でアップグレードできます。いろいろと書いてあるけど、やることは簡単:

Edison Yocto complete image をダウンロードする

https://communities.intel.com/docs/DOC-23242

ここから、 Edison Yocto complete image をダウンロード。 zipを展開して、Edisonのストレージ上に展開する。ストレージの直下にそのままファイル群が展開されるようにする。

f:id:espresso3389:20141102071455j:plain
※画像は上記サイトからの引用です

そして、ターミナルから次の様に入力する。

reboot ota

これで、OTAモードでリブートする。
しばらくすると、ストレージにコピーされたファイル群を認識して、自動的にアップグレードが始まる。

この辺は、sshより、シリアルコンソールからやった方が良いと思う。
ネットワークは途中で切られるので、何が起きているのか把握しにくい。

電源

電源は、USBから取れるので、別にポータブルバッテリーでも何でも利用できるんですが、小さいLi-Po使いたいという人のために。
Edisonは、普通のLi-Po (3.7V)で駆動できるようになっているだけでなく、実は、100mAでの充電にも対応しており、300mAH以上の容量のもの使えとあります。
なので、僕が使っているのは、次のバッテリーです:

  • SFE-PRT-10718 リチウムイオンポリマー電池400mAh

http://www.switch-science.com/catalog/821/

ただ、直接結線すると後が面倒そうなのと、スイッチも付いていると便利なことを考えて、次の部品も使っています:

  • ADA-1863 2ピンJST-PHコネクタ・ピッチ変換基板(スイッチ付き)

http://www.switch-science.com/catalog/1776/

1.48Whもあると、Edisonは、最大1Wらしいので、最低でも90分ぐらいは稼働するのではないかと。正確なところは、電力消費を計ってみないとわかりませんが。