unity 2017.3 安卓蓝牙(三)向蓝牙设备发送(Write)消息

API

插件为我们准备的API是BluetoothLEHardwareInterface.WriteCharacteristic(string name, string service, string characteristic, byte[] data, int length, bool withResponse, Action<string> action);

共七个参数,分别是:设备地址,服务UUID,特征UUID,准备发送的数据,数据长度,是否触发回调,回调。

特别强调,第一个参数不是设备名,而是设备地址,其次,发送的数据最好不要超过20个字节,超过20个字节需要特殊处理。

实例代码

这个函数是用来开启和关闭遥控器震动的,发送的数据根据对应设备的通讯协议来组装。回调部分我选择Show一下信息,方便观察。

    private bool shake = true;
    /// <summary>
    /// 开关震动
    /// </summary>
    public void SendShake()
    {
        if (shake)
        {
            byte[] data = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
            BluetoothLEHardwareInterface.WriteCharacteristic(bleAddress, _ServiceUUID, _WriteUUID, data, data.Length, true, (characteristicUUID) =>
            {
                shake = !shake;
                Show("开启震动");
            });
        }
        else
        {
            byte[] data = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
            BluetoothLEHardwareInterface.WriteCharacteristic(bleAddress, _ServiceUUID, _WriteUUID, data, data.Length, true, (characteristicUUID) =>
            {
                shake = !shake;
                Show("关闭震动");
            });
        }
    }


版权声明:本文为Testiness_Wind原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。