项目前期准备(1)——基于微信小程序与单片机知识准备阶段

前言

正所谓做一个大项目一般都需要软硬件的知识结合,当然了这也不一定,有些项目只是需要做一个系统,APP开发等这些。不过对于我想一般人都会遇到这种问题——用什么方法来解决用软件来实现控制硬件,实施数据传输。一般有人都会选择使用APP来控制硬件方面的研究。不过今天的话我就先抛弃APP,先来讲一下根据我网上查找了好久找到的另一种方法 —— 一种基于微信小程序和单片机BLE透传的简要解决方法。

因为根据微信小程序发展的形势来说还是挺火的,再者目前关于微信小程序在控制硬件方面的研究还非常少, 所以说这个方面研究还是挺不错的。那么何为BLE透传?

BLE透传

BLE透传即低功耗蓝牙透明传输, 单片机发送数据给低功耗蓝牙时, 不需要其他协议, 低功耗蓝牙就可以将数据发送给其他蓝牙接收设备, 实现单片机与微信小程序之间的通信,使用方便。

BLE透传模块选择

目前的话,我觉得可以推荐一下HC-05/06蓝牙模块。因为采用HC-05/06蓝牙模块进行数据透传, 具有成本低、体积小、功耗低和收发灵敏度高等优点。使用时,BLE透传模块RXD引脚与单片机TXD引脚连接, TXD引脚与单片机RXD引脚连接, 实现系统的通信功能。下面是HC-05模块与单片机配对方式。

在这里插入图片描述
**具体使用方法也可以在淘宝搜索HC-05模块,有些商家也提供了资料。
资料下载
提取码:9g8a

软件部分

下面就简单地说一下微信小程序与单片机的通信原理:
微信小程序内置了18个BLEBLE蓝牙API接口, 通调用BLE蓝牙API接口成功连接蓝牙设备后, 可以通过Bluetoothsocket实现微信小程序与BLE蓝牙的数据接收和发送。
在设计过程中中, 会使用到以下的接口:
1.openBluetoothAdapt 用于开启和初始化蓝牙;
2.getBluetoothAdaptState 用于检查蓝牙是否开启;
3.startBluetoothDevicesDiscover 用于开始设备搜索并当发现一个设备后会触发 4.onBlueDeviceFound 事件;
5. creatBLEConnection 用于搜索到设备后连接设备;
6.getBLEDeviceService 用于连接成功后根据目标服务ID找到指定的服务ID, 每一个服务都包含一组特征值用来描述服务特性, 如是否可读, 是否可写, 是否开启notify等,。
7. 利用 getBLEDeviceCharacteristics 获取该特征值值。
8.最终 onBLECharacteristicValueChange 用于监听数据变化[4]。

微信小程序BLE蓝牙API调用方法框图如图:

在这里插入图片描述

注意

iOS 微信客户端 6.5.6 版本开始支持,Android 6.5.7 版本开始支持
蓝牙适配器模块生效周期为调用 wx.openBluetoothAdapter 至调用 wx.closeBluetoothAdapter 或小程序被销毁为止。
在小程序蓝牙适配器模块生效期间,开发者才能够正常调用蓝牙相关的小程序 API,并收到蓝牙模块相关的事件回调。
注意
由于系统限制,Android 上获取到的 deviceId 为设备 MAC 地址,iOS 上则为设备 uuid。因此 deviceId 不能硬编码到代码中。
目前不支持在开发者工具上进行蓝牙功能的调试,需要使用真机才能正常调用小程序蓝牙接口。
低功耗蓝牙(BLE)注意事项
iOS 上对特征值的 read、write、notify操作,由于系统需要获取特征值实例,传入的 serviceId 与 characteristicId 必须由 wx.getBLEDeviceServices 与 wx.getBLEDeviceCharacteristics 中获取到后才能使用。建议双平台统一在建立连接后先执行 wx.getBLEDeviceServices 与 wx.getBLEDeviceCharacteristics 后再进行与蓝牙设备的数据交互。

结束导语

因为项目还没有开始,所以这只是我的前期准备的硬件与软件通信的其中一个方案(还有APP~WIFI,上位机等)。网上查找比较久,就先分享一下这些了。

emm,对于这个方案的话,你们要是还是不太懂BLE数据传送这个的话,我可以推荐你们去看一下这个:

手把手教你开发BLE数据透传应用程序

当然了,如果大家对微信小程序开发不太懂得话,可以点击下面链接了解了解一下:

**微信小程序开发指南教程**

如果有什么问题的话,可以在评论区发表意见,大家共同学习一下。

发布了7 篇原创文章 · 获赞 14 · 访问量 3213

猜你喜欢

转载自blog.csdn.net/weixin_41673576/article/details/88411742