02.ソフトウェア仕様
ステップ1のセンサ値チラ見システムのソフトウェアの仕様を以下のようにしました。
BLEプライベートサービスの仕様
BLEのプライベートサービスの仕様
- キャラクタリスティックを1つ作成する。
- キャラクタリスティックは、
- 読み出しができる。
- ノーティファイが可能。
- データサイズは、2バイト(数値を想定。0~65,535)。
送信側ソフトウェアの仕様
送信側ソフトウェア、すなわちマイコンのソフトウェア、すなわちATmega328のソフトウェアの仕様
- 起動直後にBLEデバイスをスリープさせる。
- 起動直後にマイコン自身をスリープさせる。
- BLE通信の接続が発生したときにマイコン自身をスリープから復帰させる。
- BLE通信の接続が発生したときにBLEデバイスをスリープから復帰させる。
- BLE通信の接続が発生したときにセンサ値を測定する。
- 測定前にセンサーに通電し、測定後に通電を解除する。通電後、電流安定化のための待ち時間を入れる。
- 測定値をBLEデバイスのキャラクタリスティックに書き込む。
- 測定値書き込み後、BLEデバイスをスリープさせる。
- 測定値書き込み後、マイコン自身ををスリープさせる。
受信側ソフトウェアの仕様
受信側ソフトウェア、すなわちスマートフォンのソフトウェア、すなわちAndroidアプリの仕様
ソフトウェア設定に関する仕様
- ユーザーの操作により、コーヒーサーバーが満杯の時のセンサー値を設定できる。(設定値変数名 : FullSensorValue)
- ユーザーの操作により、コーヒーサーバーが空の時のセンサー値を設定できる。(設定値変数名 : EmptySensorValue)
- ユーザーの操作により、コーヒーサーバーの容量(コーヒーカップ数)を設定できる。(設定値変数名 : CoffeeServerSize)
BLE通信に関する仕様
- ユーザーの操作により、BLEデバイスのスキャンを行うことができる。
- ユーザーの操作により、BLEデバイスに接続することができる。
- BLEデバイスと接続中は、通知(Notify)により、BLEデバイスのキャラクタリスティックの値が更新されると、表示している値(センサー値とコーヒー残量)が更新される。
- 表示している値の更新後、BLE通信を切断する。
コーヒー残量表示に関する仕様
- 「0 >= FullSensorValue」のときは、設定値が正しくない。「Invalid [Full Sensor Value] setting.」と表示する。
- 「0 >= EmptySensorValue」のときは、設定値が正しくない。「Invalid [Empty Sensor Value] setting.」と表示する。
- 「0 >= CoffeeServerSize」のときは、設定値が正しくない。「Invalid [Coffee Server Size] setting.」と表示する。
- 「FullSensorValue <= EmptySensorValue」のときは、設定値が正しくない。「Invalid settings.」と表示する。
- コーヒー残量を以下の式で算出
(SensorValue - EmptySensorValue ) * CoffeeServerSize / ( FullSensorValue - EmptySensorValue ) - コーヒー残量が、-1.0 より小さいときは、コーヒーサーバーが乗っていない。「No Coffee Server.」と表示する。
- コーヒー残量が、0.2 より小さいときは、コーヒーがほとんど残っていない。「Almost none.」と表示する。
- コーヒー残量が、0.2 以上のときは、コーヒーがまあまあ残っている。「○○ [cups]」と表示する。
関連ページ
前項目:01.ハードウェア組み立て
次項目:03.BLEプライベートサービスの作成と設定