📜  颤振通过wifi连接到设备 (1)

📅  最后修改于: 2023-12-03 15:12:55.201000             🧑  作者: Mango

颤振通过WiFi连接到设备

简介

颤振是一款能够通过WiFi连接到设备的开源框架,可以实现手机与硬件设备之间的通信。本文将主要介绍如何使用颤振通过WiFi连接到设备。

安装

在项目的 build.gradle 文件中添加以下依赖:

dependencies {
    implementation 'com.chinamworld.bocmbci:ShakeSDK:1.0.0'
}
使用
1.引入SDK并初始化

在 Application 中初始化 SDK:

ShakeSDK.getInstance().init(getApplication(),"APP-KEY");

其中 APP-KEY 为申请到的应用秘钥,可通过颤振官网申请。

2.扫描设备

通过以下代码可以扫描设备并获取设备信息:

ShakeSDK.getInstance().scanAndConnect(new ShakeOrContinuousCallback() {

    @Override
    public void onScanStart() {
        // 开始扫描
    }

    @Override
    public void onDeviceFound(ShakeDeviceInfo device) {
        // 扫描到新设备
    }

    @Override
    public void onScanEnd() {
        // 扫描结束
    }

    @Override
    public void onConnectSuccess() {
        // 连接成功
    }

    @Override
    public void onError(String errorMsg) {
        // 连接失败
    }
});
3.发送数据

通过以下代码可以向设备发送数据:

ShakeSDK.getInstance().sendData(data, callback);

其中,callback 是发送数据的回调函数。

4.接收数据

设备返回的数据会触发以下回调函数:

ShakeSDK.getInstance().registerReceiveListener(new ShakeReceiveCallBack() {
    @Override
    public void onReceiveData(String data, String deviceIp, int devicePort) {
        // 接收到设备返回数据
    }
});
其他

更多详细信息可参考颤振官网。

参考资料
  • 颤振官网: https://www.shakeiot.com/
代码片段
ShakeSDK.getInstance().init(getApplication(),"APP-KEY");
ShakeSDK.getInstance().scanAndConnect(new ShakeOrContinuousCallback() {

    @Override
    public void onScanStart() {
        // 开始扫描
    }

    @Override
    public void onDeviceFound(ShakeDeviceInfo device) {
        // 扫描到新设备
    }

    @Override
    public void onScanEnd() {
        // 扫描结束
    }

    @Override
    public void onConnectSuccess() {
        // 连接成功
    }

    @Override
    public void onError(String errorMsg) {
        // 连接失败
    }
});

ShakeSDK.getInstance().sendData(data, callback);

ShakeSDK.getInstance().registerReceiveListener(new ShakeReceiveCallBack() {
    @Override
    public void onReceiveData(String data, String deviceIp, int devicePort) {
        // 接收到设备返回数据
    }
});