jwoglom/pumpX2
GitHub: jwoglom/pumpX2
PumpX2 是一个逆向工程了 Tandem 胰岛素泵蓝牙协议的 Java/Android 库,让开发者能以编程方式连接并控制 t:slim X2 和 Mobi 泵。
Stars: 65 | Forks: 16





### Maven 包
**对于 Android 项目,**从 JitPack [加载以下 Maven 包](https://jitpack.io):
* `com.github.jwoglom.pumpX2:pumpx2-android`
* `com.github.jwoglom.pumpX2:pumpx2-messages`
* `com.github.jwoglom.pumpX2:pumpx2-shared`
例如,使用 Gradle,首先将 JitPack 存储库添加到你的根项目 `settings.gradle` 中:
```
pluginManagement {
repositories {
maven {
url 'https://jitpack.io'
}
}
}
```
在你的根项目 `build.gradle` 中添加对 PumpX2 版本的引用:
```
buildscript {
ext {
pumpx2_version = "x.x.x"
}
}
```
然后在你的模块的 `build.gradle` 中引用这些依赖项:
```
dependencies {
[...]
implementation "com.github.jwoglom.pumpX2:pumpx2-android:v${project.pumpx2_version}"
implementation "com.github.jwoglom.pumpX2:pumpx2-messages:v${project.pumpx2_version}"
implementation "com.github.jwoglom.pumpX2:pumpx2-shared:v${project.pumpx2_version}"
}
```
然后,要使用 PumpX2,请继承[`com.jwoglom.pumpx2.pump.bluetooth.TandemPump` 类](https://github.com/jwoglom/pumpX2/blob/main/androidLib/src/main/java/com/jwoglom/pumpx2/pump/bluetooth/TandemPump.java),
并使用以下代码初始化该库:
```
TandemPump tandemPump = new SubclassedTandemPump(getApplicationContext());
TandemBluetoothHandler bluetoothHandler = TandemBluetoothHandler.getInstance(getApplicationContext(), tandemPump);
```
**对于 Java(非 Android)项目,**加载以下 Maven 包:
* `com.github.jwoglom.pumpX2:pumpx2-messages`
* `com.github.jwoglom.pumpX2:pumpx2-shared`
查看[`cliparser` Gradle 模块](https://github.com/jwoglom/pumpX2/blob/main/cliparser/src/main/java/com/jwoglom/pumpx2/cliparser/Main.java)
以获取有关如何使用该库的示例。
### 构建说明
要构建项目并生成 AAR(Android 库)和 JAR(Java 库/可执行文件)文件:
```
./gradlew build
./gradlew publishToMavenLocal
```
生成的文件将创建在 `~/.m2/repository/com/jwoglom/pumpx2/` 中。
你也可以选择从 GitHub Packages 下载,或者使用 "Android CI" GitHub Action 中的最新版本。
要将 PumpX2 Android 库集成到你的项目中,请将以下依赖项导入你的项目:
* `pumpx2-android.aar`:Android Bluetooth 库
* `pumpx2-messages.jar`:通用消息解析代码。
* `pumpx2-shared.jar`:通用共享模块。
如果不需要 Android 特定的 Bluetooth 代码,那么 `messages` 和 `shared` 可以在标准的非 Android Java 项目中使用。
PumpX2 目前还需要其他 Gradle 依赖项,但这些依赖项未包含在 JAR/AAR 中。
对于 Android 项目:
```
dependencies {
implementation files('pumpx2-android-1.1.0.arr');
implementation files('pumpx2-messages-1.1.0.jar');
implementation files('pumpx2-shared-1.1.0.jar');
implementation "commons-codec:commons-codec:1.15"
implementation "org.apache.commons:commons-lang3:3.12.0"
implementation "com.google.guava:guava:31.0.1-android"
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.7.10"
}
```
对于非 Android Java 项目:
```
dependencies {
implementation files('pumpx2-messages-1.1.0.jar');
implementation files('pumpx2-shared-1.1.0.jar');
implementation "commons-codec:commons-codec:1.15"
implementation "org.apache.commons:commons-lang3:3.12.0"
implementation "com.google.guava:guava:31.0.1-android"
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.7.10"
}
```
GitHub Actions 上还提供了一个 `pumpx2-messages-all.jar`,它是一个包含所有依赖项的 fat JAR。
这是否适用于你的项目,取决于是否存在任何冲突的依赖项。
要使用命令行消息解析工具,请使用 `java -jar` 执行 `pumpx2-cliparser-all.jar` 文件。
标签:Android, API库, DSL, JS文件枚举, 云资产清单, 医疗设备, 后台面板检测, 域名枚举, 胰岛素泵, 蓝牙, 逆向工程