Apple Pi のツールがビルドできない(トランジスター技術2016年8月号付録基板)

　Raspberry PI 3に装着した際、確認用のソフトが動作しない人の為に書きました。

# Appie PIとは

　この記事はトランジスター技術2016年8月号の付録の基板です。
　完成品も売っているようです。

# 謝罪
　そもそもQiitaで記事を書くのはこれが初めてなのでマークアップの使い方とかヘボくてすいません。
　精進したいと思っていますが、根がズボラなので思うだけで終わることが多いです。
　かっちょいい書き方があれば教えて下さい。

# 目次

1. 開発環境
2. microSDカードはMLCを使う
3. いよいよインストールしてLEDオーーーンオンオン...(泣)
4. 試練1 そもそもtarが手に入らない
5. 試練2 どっさりエラー
6. ハードウェアのI2C機能をonにする
7. ライブラリの更新
8. 再度AppiePI.tarをビルド
9. テスト
10. まとめ

# 1. 私の開発環境
・Raspberry PI3
・MLCのmicroSDカード
・ハンダ付けが終わった Appie PI
・Mac OSのターミナル。sshできればLinuxでもWindowsでも同じハズです。たぶん。
・AirMac。wifiルーターです。家庭用ルーターならなんでもいい気がします。

# 2. microSDカードはMLCを使う
　ちまたで発売されているmicroSDは殆どの物がTLCなので、シーケンシャルな読み書きは結構なスピードがでるのに、ランダムアクセスとなるととーっても遅くなります。
　購入する時は、microSD MLC で検索して購入しましょう。
　またコンパイルなど大量にアクセスするとmicroSDが発熱して書き込めなくなる事がありました。
　対策として幅7mm、長さ30mmくらいの薄い銅板(アルミ箔くらい薄い板)を両面テープでmicroSDカードに貼り付けたところ書き込めなくなるという事がなくなりました。

# 3. いよいよインストールしてLEDオーーーンオンオン...(泣)
　ハードが動作するかどうかテストしようにも、そもそもRaspberry Pi 3でラズパイデビューしたので右も左もわかりません。
　WiFiの設定もわからなかったので、まずはラズパイをEtherNetで接続します。
　Mac側ではターミナルを起動してsshで接続します。
　デフォルトではDHCPで待ち受けていたので、AirMacの設定画面をクリックしたら raspberry : 192.168.0.100 とでてきましたので、これが割り当てられたIPなのでしょう。

```
$ ssh pi@192.168.0.100 (IPアドレスは各自読み替えて下さい)
Password: raspberry (デフォルトのパスワードです。読みかえて下さい)
```

# 4. 試練1 そもそもtarが手に入らない

　まずはApplePi.tarを手に入れるのですが、雑誌に書いてあるURLはすでにリンクが切れています。
あちこちググると色々なURLがヒットして何がなんだか分かりませんが、2016/11/15時点でうまくいったのは http://einstlab.web.fc2.com/RaspberryPi/ApplePi.tar でした。

```
pi@rasp:$ wget http://einstlab.web.fc2.com/RaspberryPi/ApplePi.tar
pi@rasp:$ tar xvf ApplePi.tar
pi@rasp:$ cd ApplePi
pi@rasp:$ ./ApplePi.sh
```

# 5. 試練2 どっさりエラー
　もうね、ここには書き切れないほどのエラーの嵐でした。
　ひとつずつつぶしていきます

# 6. ハードウェアのI2C機能をonにする

```
pi@rasp:$ sudo raspi-config
```
とすると、文字で頑張ってグラフィカルにした画面がでてきます。
7 Advance Optionを選んで
![rasp1](https://cl.ly/2T2K100p2l3J/rasp1.png)

A7 I2C を選びます。
![rasp2](https://cl.ly/2a361P2m0z1X/rasp2.png)

　この先でEnableにして、後はraspi-configを終了まで[TAB]キーを押したりカーソルキーを押したりして頑張って抜けて下さい。

　raspi-configを抜けたらI2Cの機能をONにする為にリブートします

```
pi@rasp:$ sudo reboot
```

 接続が切れますので、またMacのターミナルからsshで接続してください。

```
$ ssh pi@192.168.0.100 (IPアドレスは各自読み替えて下さい)
Password: raspberry (デフォルトのパスワードです。読みかえて下さい)
```

# 7. ライブラリの更新
　ライブラリが古いのか、各種コンパイルでリンクエラーが出ていたので、最新版を手に入れます。

```
pi@rasp:$ apt-get update
##　途中yes/No 聞かれたら y で返答

pi@rasp:$ apt-get upgrade
##　途中yes/No 聞かれたら y で返答
##　ここでmicroSDカードが焼け死んだので、MLC + 銅板冷却効果アップの
##  microSDに換装という余計な出費。

## gitの導入
pi@rasp:$ sudo apt-get install git-core

## ライブラリのソースをgitから手に入れる
pi@rasp:$ git clone git://git.drogon.net/wiringPi

## ライブラリの作成開始
pi@rasp:$ cd wiringPi
pi@rasp:$ ./build
pi@rasp:$ sudo ldconfig
pi@rasp:$ cd wiringPi
pi@rasp:$ make static
pi@rasp:$ sudo make install-static
```

# 8. 再度AppiePI.tarをビルド

先ほどなにやらグチャグチャになってしまったので、一度ディレクトリを消して、再展開します

```
## ホームディレクトリに移動します
pi@rasp:$ cd ~ 

## 前のぐちゃぐちゃディレクトリを消します
pi@rasp:$ rm -r ApplePI

## 再展開
pi@rasp:$ tar xvf ApplePi.tar

pi@rasp:$ cd ~/ApplePi
pi@rasp:$ ./ApplePi.sh

## ここでめでたくエラーっぽいのが出なければOK
## どの当たりがエラーっぽいのかはカンだ！
```

# 9. テスト

いよいよLEDをONにします

```
pi@rasp:$ cd ~/ApplePi
pi@rasp:$ ./onLED1.sh
```

これでLEDが点けばOKです。
消すには以下ようにします。

```
pi@rasp:$ ./offLED1.sh
```

LCDに表示してみましょう

```
## 初期化
pi@rasp:$ ./initLCD.sh

## 開始座標を左上にします
pi@rasp:$ ./locateLCD.sh 0 0

## 開始位置から文字の表示
pi@rasp:$ ./printLCD "Test!"
```


# 10. まとめ
　ここでまとめを書ければいいんですが、もへじはさいのうがなかった!

```
pi@rasp:$ sync
pi@rasp:$ sudo poweroff
```