Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

AILinkSecretToolDemo_Android

English

一、用途说明

AILinkSecretAndroid是在Android平台使用java/c++开发的蓝牙加解密工具包,该开发工具包能够扫描、连接使用AILink蓝牙模组的智能设备,负责App与蓝牙模组之间的握手与A7数据的加解密。

二、必备条件

  • 1. 已获取AILink蓝牙通讯协议
  • 2. 拥有支持AILink蓝牙模块的智能设备
  • 3. 具备Android原生开发和调试知识

三、适用场景

  • 1. 开发自己的原生平台app
  • 2. 使用RN、Uniapp、Flutter等跨平台技术开发app

四、导入SDK


1.将JitPack存储库添加到您的构建文件中
将其添加到存储库末尾的root build.gradle中:
	allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

2.添加依赖项
	dependencies {
	        implementation 'com.github.elinkthings:AILinkSecretAndroid:2.0.0'//加解密库
	}

3.在gradle中配置java1.8
    android {
        ...
        compileOptions {
            sourceCompatibility 1.8
            targetCompatibility 1.8
        }
		repositories {
			flatDir {
				dirs 'libs'
			}
		}
	}

四、SDK提供接口 AnalyticalDataUtil.java




/**
 app发送此A6数据主动开始与ble进行握手,返回byte[]需要主动发送给ble
 */
byte[] initHandshakeArr();

/**
如果可以拿到BluetoothGatt,可调用sendHandshake方法发送握手更简单
*/
void sendHandshake(final BluetoothGatt gatt);

/**
 此方法将ble检验app的A6数据进行加密,app发给设备,否则设备将断开app,返回byte[]需要主动发送给ble
 */
 byte[] initHandshakeArrPwd(byte[] hex);


/**
如果可以拿到BluetoothGatt,可调用sendHandshakePwd方法发送握手更简单
*/
void sendHandshakePwd(byte[] hex);

/**
 A7数据解密方法
 */
byte[] mcuDecrypt(byte[] hex, String mac);

/**
 A7数据加密方法,cid为产品ID,ble协议中会包含
 */
byte[] mcuEncrypt(int cid, String mac, byte[] payload);



/**
 A7数据加密方法,cid为产品ID,ble协议中会包含
 */
byte[] mcuEncrypt(int cid, String mac, byte[] payload);

/**
 广播数据解密方法
 */
byte[] decryptBroadcast(byte[] payload);

五、使用方法

具体用法详见AILinkSecretToolDemo