Aroma Shooterとの通信に使用されるAromaShooterController SDKのJava版です。
- Aroma Shooter USBタイプ
- Aroma Shooter 2
- USB
- JRE版: >= 1.8+
- ドライバをダウンロードしてインストールしてください。
controller-sdk
依存関係を追加します。
dependencies {
// ... other dependencies
compile 'com.aromajoin.sdk:jvm:2.4.0'
}
<dependency>
<groupId>com.aromajoin.sdk</groupId>
<artifactId>jvm</artifactId>
<version>2.4.0</version>
<type>pom</type>
</dependency>
- 最新のcontroller-sdk-java.jarファイルをダウンロードしてください。
- それをプロジェクトのビルドパスに追加します。
詳細はサンプルプロジェクトをチェックしてください。
// USBAromaShooterを初期化する
USBASController usbController = new USBASController();
usbController.scanAndConnect(new DiscoverCallback() {
@Override
public void onDiscovered(List<AromaShooter> aromaShooters) {
for(AromaShooter aromaShooter : aromaShooters){
// Detected Aroma Shooter.
}
}
@Override
public void onFailed(String msg) {
// Failed on scanning.
}
});
List<AromaShooter> connectedDevices = usbController.getConnectedDevices();
/**
* @param duration 噴射持続時間(ミリ秒)。
* @param booster ブースターが使用されているかどうかを判定する。(true: より強く噴射する, false: より弱く噴射する)
* @param ports カートリッジ番号を噴射する。値:1 ~ 6.
*/
// 例:以下のコードは、カートリッジ2と5を3秒間噴射します。
usbController.diffuseAll(duration, boosterIntensity, fanIntensity, ports);
- AS2(Aroma Shooter 2)デバイスのみのディフューザー香りメソッド
/**
* AS2のすべての接続デバイスからの特定のポートでの香りの拡散
* @param duration 拡散時間(ミリ秒)
* @param boosterIntensity ブースターポート。値: 0~100
* @param fanIntensity ファンポート。値: 0~100
* @param ports ポートの配列。値: Port(portNumber, portIntensity)
*/
usbController.diffuseAll(duration, boosterIntensity, fanIntensity, ports);
- その他の噴射法
// 1つのアロマシューターに香りを噴射する
controller.diffuse(aromaShooter, duration, booster, ports);
// シリアル番号入力で1つのアロマシューターに香りを噴射する
controller.diffuse(aromaShooterSerial, duration, booster, ports);
// 1つのアロマシューターに香りを噴射する [アロマシューター2のみがサポートされています](香りの強度を調整可)
controller.diffuse(aromaShooter, durationMilliSec, boosterIntensity, fanIntensity, ports);
// シリアル番号入力で1つのアロマシューターに香りを噴射する [アロマシューター2のみがサポートされています](香りの強度を調整可)
controller.diffuse(aromaShooterSerial, durationMilliSec, boosterIntensity, fanIntensity, ports);
- 噴射している場合は、接続されているデバイスのすべてのポートを停止します。
usbController.stopAllPorts();
- 噴射している場合は、1つのデバイスのすべてのポートを停止します。
usbController.stopAllPorts(aromaShooter);
すべてのデバイスを切断します。
usbController.disconnectAll();
問題が発生したり、新機能が必要な場合は、新しい問題を作成してください。
こちらを参照してください。