Skip to content

Latest commit

 

History

History
140 lines (124 loc) · 5.2 KB

README-JP.md

File metadata and controls

140 lines (124 loc) · 5.2 KB

English / 日本語

ControllerSDK - Android版

Maven Central License Join the community on Spectrum

Aroma Shooterとの通信に使用されるAromaShooterControllerSDKのAndroid版です。

目次

  1. 対応デバイス
  2. 前提条件
  3. インストール
  4. 使用法
  5. ライセンス

対応デバイス

  • 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

Bluetooth接続を介してアロマシューターで作業している場合、アプリケーションに接続画面を表示するには、3つの選択肢があります。

  1. Extend ASBaseActivityには、デフォルトの接続画面に移動するためのバーボタンがあります。
  2. Intentを使用して、デフォルトの接続画面に正常に移動する。
  Intent intent = new Intent(YourCurrentActivity.this, ASConnectionActivity.class);  
  startActivity(intent);
  1. 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);  

USB

注:現在、制御できるアロマシューターは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);

詳細については、このリポジトリをチェックアウトし、サンプルプロジェクトを参照してください。
問題が発生したり、新機能が必要な場合は、新しい問題を作成してください。

ライセンス

こちらを参照してください。