跳至主要內容

小程序 BLE

Moses原创...大约 4 分钟微信小程序微信小程序BLE

BLE,Bluetooth Low Energy 也就是我们口说的「低功耗蓝牙」,是蓝牙技术联盟设计和销售的一种个人局域网技术。

相较经典蓝牙,低功耗蓝牙能在保持同等通信范围的同时显著降低功耗和成本。关键在于低功耗,满足了非常多的应用场景。大家想想自己手机开着蓝牙,掉电有多快!就知道:在一些设备中,低功耗有多么切确的需求了。

在医疗保健、运动健身、信标、安防、家庭娱乐等领域被广泛应用,特别这几年穿戴设备的火热,比如运动手环、智能跑步鞋等,就连共享单车早期也都是运用这技术,可惜现在说凉就凉了,不过手环还一直坚挺,特别是小 mi 手环。

BLE 技术可谓是 IoT 的功臣、先驱,在「万物互联」时代,在未来 5G 网络未全面铺开前,就算铺开了,我也相信 BLE 会占领一片小天小地。

跟时间打个赌,下一个风口就是万物互联,智能硬件设备将打开一片广阔的市场,我们拭目以待!软硬结合的人才需求也将会进一步扩大。

说了这么多,我们还是从技术人开发角度的出发,熟悉一下 BLE 技术的 coding 流程。

这里不得不佩服小龙哥手下的「小程序」,小而不平凡。它给我们使用 BLE 降低了很大的门槛,相信通过对小程序 BLE 的使用,会很大程度让我们理解 BLE 技术。

另外插一句,龙哥在 2019 微信公开课中分享,真是句句珠玑,非常推荐大家观看:

龙哥 2019 微信公开课open in new window

说到小程序开发,最好的学习的资源,就是官方文档了。我们要相信「官方文档永远是最佳的学习资料」,但可能不是最适合。

打开文档,我们发现小程序给我们提供一些 API 来调用

已提供的 API
已提供的 API

总共关于蓝牙及低功耗蓝牙开发相关的 API 也就这么几个,不多,非常适合我们入门蓝牙开发。

低功耗蓝牙

  • wx.writeBLECharacteristicValue
  • wx.readBLECharacteristicValue
  • wx.onBLEConnectionStateChange
  • wx.onBLECharacteristicValueChange
  • wx.notifyBLECharacteristicValueChange
  • wx.getBLEDeviceServices
  • wx.getBLEDeviceCharacteristics
  • wx.createBLEConnection
  • wx.closeBLEConnection

蓝牙

  • wx.stopBluetoothDevicesDiscovery
  • wx.startBluetoothDevicesDiscovery
  • wx.openBluetoothAdapter
  • wx.onBluetoothDeviceFound
  • wx.onBluetoothAdapterStateChange
  • wx.getConnectedBluetoothDevices
  • wx.getBluetoothDevices
  • wx.getBluetoothAdapterState
  • wx.closeBluetoothAdapter

官方给的文档,对于没有接触过蓝牙开发的 Friend 可能比较难懂,因为它并没有按蓝牙开发的一般流程来罗列 API,我们过一遍 API 可能还糊里糊涂的,不知所以然,不知如何入手,文档描述也可能比较晦涩。

但很好的是,有例子、有 demo!学习一个技术,我觉得最快的方式过一次官方文档,跑一篇例子,反复琢磨、图文笔记。

所以我非常建议大家跑一下官方的例子,假如你装了微信开发工具,在官方文档中找到如以下图片红框中的文字,双击即可打开。

在开发者工具中预览效果 跟着 demo 的执行顺序,一边查阅相关的 API,走一遍下来,估计明白得七七八八了。一遍不行,就两遍!

这里有些坑,官方文档也给得非常清楚,不过在这里劝一下:大家看文档一定要耐住性子,认真仔细一字不漏的看完且起码知道怎么回事。如果能做到,相信百分之九十九的问题都不用在什么群里或到博客到处问、到处搜。

我这里简单画了一下开发的流程图,分享给大家,希望对有缘之人有帮助!

开发流程图
开发流程图

我是业余画流程图,画得不全,也不一定正确,只是按照我的个人能力,把大概的开发思路用流程图描述而已,并没有全部把代码体现在流程图中,望大家指正!

上次编辑于:
贡献者: Moses
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.0.0-alpha.10