美文网首页
ionic3 BLE 低功耗蓝牙插件实现安卓/ios蓝牙开锁功能

ionic3 BLE 低功耗蓝牙插件实现安卓/ios蓝牙开锁功能

作者: 搬砖的哈哈 | 来源:发表于2018-12-14 16:20 被阅读0次

            之前公司项目需求是用Cordova + ionic3 混编开发一个(工程类型的)APP,里面用到了低功耗蓝牙,要在android/ios app端实现蓝牙开锁的功能。emmm~,刚接到需求的我是一脸懵逼,因为蓝牙插件没用过,嗯不多比比了,👇记录一下。

            来到ionic官方文档,我们很快发现,蓝牙的插件一共有三个 BLEBluetoothLEBluetooth Serial,因为我是要用的低功耗,所以就是ble这个插件了,并且这个插件安卓跟ios是都能使用的;

            该插件支持手机和蓝牙低功耗(BLE)外设之间的通信。该插件为iOS和Android提供了一个简单JavaScript API 官方文档链接https://ionicframework.com/docs/native/ble 里面介绍了如何安装跟实例接口。

            过程:1.扫描外围设备2.连接到外围设备3.读取特征的值4.为特征写入新值5.在特征值发生变化时收到通知(这个很重要)

            我们给蓝牙发的口令全是十六进制的ascii编码;根据蓝牙设备的文档我们有两个重要的特真服务id需要记住,一个是写指令的特征服务,一个是订阅用的特正服务,一旦你写入口令成功后,就能收到订阅消息

    重要的特征服务

    下面继续贴截图吧,不想打字了。。。。

    扫描外围设备 链接并订阅 上面用js写了一个蓝牙加密口令握手(配对)的方法,用随机码跟key进行异或处理,然后返回base64编码 读取锁的状态,以及开锁

            以上就是做的一个测试demo 的部分代码,很乱,由于是demo就没花时间去整理了,最后完成了跟设备的蓝牙交互过程。成功的进行开关锁并读取到蓝牙的相关信息。。最后在总结一下过程:扫描外围设备,链接设备,订阅服务,写入口令,收到订阅消息。。。嗯完美解决!!!

    相关文章

      网友评论

          本文标题:ionic3 BLE 低功耗蓝牙插件实现安卓/ios蓝牙开锁功能

          本文链接:https://www.haomeiwen.com/subject/ekjghqtx.html