Intel Edisonで遊ぶ
全然まとまっていません。
自分用の作業履歴的な状態です。
一言で言うと、この大きさでメモリ1GB、x86 Linuxが動いて、Wi-Fi, Bluetoothも使える。
gcc/g++も動くよんという。遅いけど、いろんな物をセルフビルドも出来る。
最初の起動
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のストレージ上に展開する。ストレージの直下にそのままファイル群が展開されるようにする。
※画像は上記サイトからの引用です
そして、ターミナルから次の様に入力する。
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/
ただ、直接結線すると後が面倒そうなのと、スイッチも付いていると便利なことを考えて、次の部品も使っています:
http://www.switch-science.com/catalog/1776/
1.48Whもあると、Edisonは、最大1Wらしいので、最低でも90分ぐらいは稼働するのではないかと。正確なところは、電力消費を計ってみないとわかりませんが。