Intel Edison Board for Arduino をセットアップする

自作初心者の私がEdisonをセットアップしたメモです。

![edison.jpg](https://qiita-image-store.s3.amazonaws.com/0/154834/bb1d0030-7155-718c-ec41-f754118ab5a2.jpeg)

# はじめに
いったん[日本語サイト](http://edison-lab.jp/flash/windows/)を参考にセットアップしたのですが、こちらの記事は発売当時のもののようで、ドライバのリンクが最新でなかったり、Yocto Linuxの最新イメージを落としてきてコピーする手順ではうまく入らなかったりするので、英語のサイトを参考に再セットアップしました。

英語のサイト (Windows 64bit用)
[Get Started with the Intel® Edison Development Board on Windows* 64-bit]
(https://software.intel.com/en-us/get-started-edison-windows)
![image](https://qiita-image-store.s3.amazonaws.com/0/154834/ed6e2aef-58de-90a4-6f62-90e9b70c4ae3.png)

英語が不得意なので一瞬「ウッ」となりましたが、翻訳しつつ落ち着いて読み進めてみると、シンプルで分かりやすく作られたサイトです。特に組み立ての動画gifとかいいアイディアだなと思います。

# Step1. 組み立て

[Step 1: Assemble Board](https://software.intel.com/en-us/get-started-edison-windows-step1) > [Assemble Arduino* Expansion Board](https://software.intel.com/en-us/node/628221)
Edison本体をボードにカチッとはめたら2つの角をナットで留め、あとは4本の足をつけるだけです。こういったものを初めて触る私でも簡単にできました。
気をつける点としては、ボードの面（表裏）を触らない、静電気・ほこり、酔っぱらった状態で作業しない、といったあたりでしょうか。あとは、Edisonを扱ったハンズオンセミナーで講師の方がおっしゃっていたのですが、購入時にボードが包装されている袋（銀色の袋）が導電性のため、その上に置いて作業しないように（ショートする）、とのことです。

# Step2. セットアップツールの実行

[Step 2: Run Setup Tool](https://software.intel.com/en-us/get-started-edison-windows-step2)
発売当初の手順に比べ、だいぶ楽になっているようです。（32bit版の手順はまだ名残があります）
ナビゲーションに従い、ドライバのインストール、ファームウェアの更新、SSH設定、Wifi接続を行います。
![image](https://qiita-image-store.s3.amazonaws.com/0/154834/7488749d-8f2d-6c98-9f52-7ff7267e83b5.png)
これでPuTTY等のターミナルソフトからEdisonにSSH接続可能となります。

## Edisonの中を見てみる
```shell-session
root@edison:~# uname -a
Linux edison 3.10.98-poky-edison+ #1 SMP PREEMPT Mon Jun 6 14:32:08 PDT 2016 i686 GNU/Linux
```

```shell-session
root@edison:~# cat /etc/version
201606061707
```

```shell-session
root@edison:~# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:9440 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9440 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:717440 (700.6 KiB)  TX bytes:717440 (700.6 KiB)

usb0      Link encap:Ethernet  HWaddr 02:00:86:49:3b:d4
          inet addr:192.168.2.15  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::86ff:fe49:3bd4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7130 errors:0 dropped:0 overruns:0 frame:0
          TX packets:199 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:989587 (966.3 KiB)  TX bytes:53488 (52.2 KiB)

wlan0     Link encap:Ethernet  HWaddr 90:b6:86:08:7b:f2
          inet addr:192.168.11.8  Bcast:192.168.11.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1368 errors:0 dropped:0 overruns:0 frame:0
          TX packets:533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:133258 (130.1 KiB)  TX bytes:61620 (60.1 KiB)
```

```shell-session
root@edison:~# lsof -i -nP
COMMAND   PID             USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
systemd     1             root   17u  IPv6  31438      0t0  TCP 192.168.11.8:22->192.168.11.7:50452 (ESTABLISHED)
systemd     1             root   34u  IPv6  25128      0t0  TCP *:22 (LISTEN)
systemd-t 167 systemd-timesync   13u  IPv4  26843      0t0  UDP *:37726
mosquitto 283             root    3u  IPv4  18225      0t0  TCP *:1883 (LISTEN)
mosquitto 283             root    4u  IPv6  18226      0t0  TCP *:1883 (LISTEN)
mdnsd     286           nobody    4u  IPv4  18205      0t0  UDP *:58691
mdnsd     286           nobody    5u  IPv6  18206      0t0  UDP *:41107
mdnsd     286           nobody   25u  IPv4  32013      0t0  UDP *:5353
mdnsd     286           nobody   26u  IPv4  32014      0t0  UDP *:5353
mdnsd     286           nobody   27u  IPv6  32015      0t0  UDP *:5353
node      460             root   12u  IPv4  20473      0t0  TCP 127.0.0.1:58888 (LISTEN)
redis-ser 466             root    4u  IPv4  20457      0t0  TCP *:6379 (LISTEN)
node      485             root   11u  IPv6  21589      0t0  TCP *:80 (LISTEN)
sshd      752             root    3u  IPv6  31438      0t0  TCP 192.168.11.8:22->192.168.11.7:50452 (ESTABLISHED)
sshd      752             root    4u  IPv6  31438      0t0  TCP 192.168.11.8:22->192.168.11.7:50452 (ESTABLISHED)
```

# Step3. IDE
[Step 3: Choose IDE](https://software.intel.com/en-us/get-started-edison-windows-step3)
いくつかありますが、とりあえずIntel XDKとArduino IDEを入れてみました。
XDKは日本語化されておらず、私の場合使いこなすまでに時間がかかりそうなので、たぶんお手軽そうなArduino IDEをたくさん使うと思います。

## Arduino IDEからEdisonに命令を送る

Arduino IDEを起動し、「ツール」→「ボード」→「ボードマネージャ」でEdisonを追加インストールします。
![image](https://qiita-image-store.s3.amazonaws.com/0/154834/13d43a3a-068e-21c4-7ed6-3d077fe97744.png)

ボードに「Intel Edison」を、シリアルポートに「Intel Edison Virtual Com Port」のポートを指定します。
![image](https://qiita-image-store.s3.amazonaws.com/0/154834/3a3ed4c8-8bac-70fd-2cfb-82039db0f176.png)

ポートはデバイスマネージャーで確認できます。
![image](https://qiita-image-store.s3.amazonaws.com/0/154834/4a5730ae-ac55-273d-8ea6-0bd6b61e6da9.png)

LEDをブリンクさせるサンプルを選択します。
![image](https://qiita-image-store.s3.amazonaws.com/0/154834/7ba9d36a-cb1e-0bc9-dd6e-6e3db4443048.png)

矢印ボタンをクリックするとコンパイルとEdisonへの書き込みが開始されます。
![image](https://qiita-image-store.s3.amazonaws.com/0/154834/be1cebaa-0a62-c6fc-d7fc-c89228a218aa.png)

ボード上のLEDが点滅することを確認できました。
正直止め方はわかりません。

## とりあえず気が済んだら

Edisonをシャットダウンします。

```shell-session
root@edison:~# shutdown -h now
```

# 参考
[Get Started with the Intel® Edison Development Board on Windows* 64-bit]
(https://software.intel.com/en-us/get-started-edison-windows)
[Intel® Edison Board for Arduino* 仕様](http://ark.intel.com/ja/products/84574/Intel-Edison-Board-for-Arduino)