Aroma Shooterとの通信に使用されるAromaShooterControllerSDKのAndroid版です。
- Aroma Shooter Bluetoothタイプ
- Aroma Shooter USBタイプ
- Android 4.4以降
- USB接続の場合:USB OTGが必要です
モジュールのbuild.gradle
ファイルにcontroller-sdk
依存関係を追加します。
dependencies {
implementation 'com.aromajoin.sdk:core:2.5.2'
implementation 'com.aromajoin.sdk:android:2.4.6'
}
Bluetooth接続とUSB接続ではわずかな違いがあります。
Bluetooth接続を介してアロマシューターで作業している場合、アプリケーションに接続画面を表示するには、3つの選択肢があります。
- Extend ASBaseActivityには、デフォルトの接続画面に移動するためのバーボタンがあります。
Intent
を使用して、デフォルトの接続画面に正常に移動する。
Intent intent = new Intent(YourCurrentActivity.this, ASConnectionActivity.class);
startActivity(intent);
-
APIを使用して独自の接続部分を作成する。
- AndroidBLEControllerのリファレンスを入手する。
AndroidBLEController controller = AndroidBLEController.getInstance();
- 検索
controller.startScan(context, discoverCallback);
Activity/Fragmentを停止するときに、スキャンを止めることを忘れないでください。
```java protected void onPause() { super.onPause(); controller.stopScan(context); } ```
- 接続
controller.connect(aromaShooter, connectCallback);
- 切断
controller.disconnect(aromaShooter, disconnectCallback);
- AndroidBLEControllerのリファレンスを入手する。
注:現在、制御できるアロマシューターは1つだけです。
- AndroidUSBControllerオブジェクトを初期化する。
AndroidUSBController controller = new AndroidUSBController(usbManager);
- 検索
controller.scan(discoverCallback);
- 接続
controller.connect(aromaShooter. connectCallback);
- 切断
controller.disconnect(aromaShooter, disconnectCallback);
List<AromaShooter> aromaShooters = controller.getConnectedDevices();
/**
* @param duration 噴射持続時間(ミリ秒)。
* @param booster ブースターが使用されているかどうかを判定する。(true: より強く噴射する, false: より弱く噴射する)
* @param ports カートリッジ番号を噴射する。値:1 ~ 6.
*/
controller.diffuseAll(duration, booster, ports);
- AS2(Aroma Shooter 2)デバイスのみのディフューザー香りメソッド
/**
* AS2のすべての接続デバイスからの特定のポートでの香りの拡散
* @param duration 拡散時間(ミリ秒)
* @param boosterIntensity ブースターポート。値: 0~100.
* @param fanIntensity ファンポート。値: 0~100.
* @param ports ポートの配列。値: Port(portNumber, portIntensity)
*/
controller.diffuseAll(duration, boosterIntensity, fanIntensity, ports);
/**
* 接続されているすべてのポートが噴射している場合は、それらを停止します。
*/
controller.stopAllPorts();
/**
* 特定のデバイスのすべてのポートを停止します。
*/
controller.stopAllPorts(AromaShooter aromaShooter);
詳細については、このリポジトリをチェックアウトし、サンプルプロジェクトを参照してください。
問題が発生したり、新機能が必要な場合は、新しい問題を作成してください。
こちらを参照してください。