https://github.com/aromajoin/controller-sdk-java
Enable developers to connect and control Aroma Shooter.
https://github.com/aromajoin/controller-sdk-java
aroma-shooter-controller aromajoin controller-sdk java scent
Last synced: 5 months ago
JSON representation
Enable developers to connect and control Aroma Shooter.
- Host: GitHub
- URL: https://github.com/aromajoin/controller-sdk-java
- Owner: aromajoin
- License: apache-2.0
- Created: 2017-02-28T05:38:49.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2021-05-31T00:25:43.000Z (over 4 years ago)
- Last Synced: 2025-03-05T07:45:31.929Z (10 months ago)
- Topics: aroma-shooter-controller, aromajoin, controller-sdk, java, scent
- Homepage: https://aromajoin.com/software/sdk
- Size: 3.04 MB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README-JP.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[English](https://github.com/aromajoin/controller-sdk-java) / [日本語](README-JP.md)
# Controller SDK for Java
[](https://maven-badges.herokuapp.com/maven-central/com.aromajoin.sdk/jvm)
[](https://www.apache.org/licenses/LICENSE-2.0.html)
[](https://spectrum.chat/aromajoin-software/)
**[Aroma Shooter](https://aromajoin.com/products/aroma-shooter)との通信に使用されるAromaShooterController SDKのJava版です。**
# 目次
1. [対応デバイス](#対応デバイス)
2. [前提条件](#前提条件)
3. [インストール](#インストール)
4. [使用法](#使用法)
* [セットアップ](#セットアップ)
* [デバイスのスキャンと接続](#デバイスのスキャンと接続)
* [接続されたデバイス](#接続されたデバイス)
* [香りを噴射する](#香りを噴射する)
* [噴射を止める](#噴射を止める)
* [切断する](#切断する)
5. [問題](#問題)
6. [ライセンス](#ライセンス)
## 対応デバイス
* Aroma Shooter USBタイプ
* Aroma Shooter 2
## 対応接続
* USB
## 前提条件
* JRE版: >= 1.8+
* [ドライバ](http://www.ftdichip.com/FTDrivers.htm)をダウンロードしてインストールしてください。
## インストール
### Gradle
`controller-sdk`依存関係を追加します。
```gradle
dependencies {
// ... other dependencies
compile 'com.aromajoin.sdk:jvm:2.4.0'
}
```
### Maven
```xml
com.aromajoin.sdk
jvm
2.4.0
pom
```
### バイナリファイル(.jar)
1. [最新のcontroller-sdk-java.jarファイル](https://github.com/aromajoin/controller-sdk-java/releases/tag/v2.4.0)をダウンロードしてください。
2. それをプロジェクトのビルドパスに追加します。
## 使用法
詳細は[サンプルプロジェクト](https://github.com/aromajoin/controller-sdk-java/tree/master/Sample)をチェックしてください。
### セットアップ
```java
// USBAromaShooterを初期化する
USBASController usbController = new USBASController();
```
### デバイスのスキャンと接続
```java
usbController.scanAndConnect(new DiscoverCallback() {
@Override
public void onDiscovered(List aromaShooters) {
for(AromaShooter aromaShooter : aromaShooters){
// Detected Aroma Shooter.
}
}
@Override
public void onFailed(String msg) {
// Failed on scanning.
}
});
```
### 接続されたデバイス
```java
List connectedDevices = usbController.getConnectedDevices();
```
### 香りを噴射する
```java
/**
* @param duration 噴射持続時間(ミリ秒)。
* @param booster ブースターが使用されているかどうかを判定する。(true: より強く噴射する, false: より弱く噴射する)
* @param ports カートリッジ番号を噴射する。値:1 ~ 6.
*/
// 例:以下のコードは、カートリッジ2と5を3秒間噴射します。
usbController.diffuseAll(duration, boosterIntensity, fanIntensity, ports);
```
* AS2(Aroma Shooter 2)デバイスのみのディフューザー香りメソッド
```java
/**
* AS2のすべての接続デバイスからの特定のポートでの香りの拡散
* @param duration 拡散時間(ミリ秒)
* @param boosterIntensity ブースターポート。値: 0~100
* @param fanIntensity ファンポート。値: 0~100
* @param ports ポートの配列。値: Port(portNumber, portIntensity)
*/
usbController.diffuseAll(duration, boosterIntensity, fanIntensity, ports);
```
* その他の噴射法
```java
// 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);
```
### 噴射を止める
* 噴射している場合は、接続されているデバイスのすべてのポートを停止します。
```java
usbController.stopAllPorts();
```
* 噴射している場合は、1つのデバイスのすべてのポートを停止します。
```java
usbController.stopAllPorts(aromaShooter);
```
### 切断する
すべてのデバイスを切断します。
```java
usbController.disconnectAll();
```
## 問題
**問題が発生したり、新機能が必要な場合は、[新しい問題](https://github.com/aromajoin/controller-sdk-java/issues)を作成してください。**
## ライセンス
[こちら](https://github.com/aromajoin/controller-sdk-java/blob/master/LICENSE.md)を参照してください。