BLE Nano とは
http://redbearlab.com/blenano/
技適が通ってる小さい BLE 組込みの ARM SOC です。
開発環境
とりあえず mbed のオンラインコンパイラを使っています。というのもライブラリのリンクとかでハマるのが嫌だったからです。が、そのうち platformio で gcc ベースの開発はしたいところです。
BLE Nano + ブレッドボード
(この写真は MK20 のピンヘッダのうち、USBコネクタ側のピン2つが立っておらずスルーホールのままなので見間違えないように気をつける必要があります。MK20 + BLE Nano のセットを買ったら最初からピンヘッダはんだ付け済みでこうなっていたので、セットで買ってる限りは問題ないと思いますが…)
MK20 という書きこみ装置に亀の子的に挿して開発ができるんですが、これだと単に書きこめるってだけで周辺回路が作れないので、ブレッドボードに接続します。
必要な接続がいまいちわかりにくいですが、以下を接続すれば良さそうです。
- SWCLK
- SWDIO
- VDD または VIN
- GND
加えて、デバッグするなら
- TXD
- RXD
VDD は 1.8〜3.3V、VIN には 3.3V〜13V となっています。要は VIN にはレギュレータがついていて、VDD は直接入力になっているようです。
GPIO の入力範囲は?
VDD + 0.3 が絶対定格。5V トレラントとかではないので注意が必要そう。MK20 は裏面のジャンパで 1.8V モードにできる。低い外部電圧を使いつつ開発したい場合は 1.8V モードにする必要がある。
定格とかはnRF51822のダウンロードページから、nRF51822-PS (nRF51822 Product Specification) をダウンロードして見ればわかる。
レジスタ一覧とかは同じくnRF51822のダウンロードページから、nRF51 RM (nRF51 Series Reference Manual) を見れば書いてある。
オンラインコンパイラでもvimで開発したい
moco 使うといいです!!! https://github.com/hotchpotch/moco
以下のようにするとよさそう
- ~/.mocorc に mbed のアカウント情報を書いておく
- mbed オンラインコンパイラでプロジェクトの雛形を作ってpublish
- hg 経由で手元にもってくる
- プロジェクトルートに .mocorc を置いて、platform とかを指定する
- platform 名はmbed の Platforms 一覧ページから該当するボードに飛ぶと、URL に入るのがそれ。BLE Nano だとRedBearLab-BLE-Nano を指定すれば良い