konashi 1.0を詳しく見てみる

Getting started
サイトにあるGetting startedを読んでみます。
最初にkonashiライブラリを取得します。
githubから取得するか「こちらから最新版のライブラリをダウンロード」からzipファイルをダウンロードすればOKです。
手元にkonashiがありませんので、プロジェクトの作成はしませんが、引き続きGetting startedに目を通してみます。
核になる部分は2つのメソッド
[Konashi pinMode:LED2 mode:OUTPUT];
[Konashi digitalWrite:LED2 value:HIGH];
です。
上のコードで「pin番号がLED2のものをOUTPUTに設定」して
下のコードで「LED2にHIGHを書き込み」しています。
ちなみにLED2 OUTPUT HIGHはint型に#defineされています。
LED2が点灯すれば成功となります。
このGetting startedで行うことは全部でviewDidLoadに3行追加と、konashiReadyメソッドの追加。たったこれだけでLEDを点灯させることが出来ます。

Documents
Documentsを見ます。

ピン、端子の種類について
デジタル、アナログ、PWM、I2C、UARTとあります。一つの端子がいろいろ兼用していますので言葉でまとめるのは困難です。表があるとわかりやすいかもしれません。

専門用語
わからない専門用語をいくつか調べました。内部プルアップ、I2C、UARTなど。

サンプルコード
PioDrive
デジタル入出力のサンプルです。
これが一番わかりやすいので、最初に試すといいと思います。
konashi本体上のスイッチとLEDを使ってデータを送受信します。
本体のスイッチによってLED1を制御。LED2から4はアプリの画面より制御します。
(本体のスイッチとLEDを使う時は本体のジャンパーのショートをする必要があります。)

AioSample
アナログ入出力のサンプルです。
AIO0(エーアイオーゼロ)に入力、AIO1に出力します。

HardwareSample
konashiの電波強度とバッテリーの状況を取得するサンプルです。
電波はiOSデバイスとmanaka間の電波です。

PwmDrive
PWM出力のサンプル。

KnghtRider
4つのLEDの点灯状態(ON OFF OFF ONなど)を8パターンを設定し、その8つを順番に切り替えていくサンプルです。
iPad専用のプロジェクトのようです。
パターンの設定はiPadの画面上のスイッチで出来ます。
KnghtRiderという名前が気になったので調べてみましたら、KnightRiderという映画に出てくる車の前部にある装飾が元ネタのようです。

UartSample
Uartのサンプル
ややこしかったらパスしようと思ったらなんと
読み込みは[Konashi uartRead]
書き込みは[Konashi uartWrite:data](dataは書き込みデータ)
というシンプルな仕様。

I2cSample
I2cのサンプル
これはややこしい。

感想
メーカーのサイト上の説明とサンプルコードだけで、ここまで理解出来ました。
調べたことをいろいろ書いてみようと思いましたが、メーカーのサイト上の説明でだいたい全部網羅してますのであまり追加することはありません。
細かいことは、LEDの1から4に割り振られた定数の名前がLED2からLED5なのが少し不思議な感じがします。
あとは、BLEにどれくらい負担をかけていいかがわからないので、iOSデバイス-konashi間の通信(過去1秒間の平均値など)が最大通信量の何%ぐらいなのか返すメソッドなどあったらいいと思いました。

コメント

このブログの人気の投稿

Swiftのコンパイルエラー寄せ集め

コンパイルエラー覚え書き(Objective-C)

AVAudioSession細かいことまとめ(late 2014)