在手机上开发micro:bit蓝牙连接程序
本篇继《micro:bit的蓝牙功能》《手机连接micro:bit 通过蓝牙控制积木小车》两篇,简单讲解下APP端的蓝牙程序开发。
在micro:bit的官方app上,有一项Monitor and Control. 连接上蓝牙后,可以获取传感器数据、控制LED等多项功能,可先行体验。
上述对应的功能就是用这些积木块实现的。
再来看下,MIT App Inventor:
http://appinventor.mit.edu/about-us
MIT App Inventor是一个直观的可视化编程环境,可以为智能手机和平板电脑构建功能齐全的应用程序。项目旨在通过赋予所有人,特别是年轻人,从技术消费转向技术创造的能力。但是因网络环境,无法用Google账号登陆,无法体验强大的功能。
iOS平台下蓝牙功能的开发
进入正题,我这里用iOS平台简单讲下蓝牙连接的过程。需要读者懂swift、iOS和蓝牙的基本知识。
手机作为中心管理者,来管理附属设备。micro:bit做为附属设备,提供相关服务。在app应用界面加载时,完成设备管理器CBCentralManager的实例化。
实现扫描按钮的功能,点下后开始扫描设备。
当然,记得开启手机蓝牙并且在micro:bit上打开蓝牙服务。
实现代理方法,当发现外设时获取它的名字,名字包含BBC,停止扫描,自动选中这个设备。
实现连接按钮的功能
实现代理方法,在设备连接成功后,开始查找服务
实现代理方法,查找到服务后,生成一个服务列表,再继续查找特征。
检索到所有的特征,并显示它们的值。其中有一项服务显示了micro:bit的版本号等。
实现查找到特征的代理方法,关注所有的特征值。在micro:bit上发送一个数据,会发现是由特征6E400002-B5A3-F393-E0A9-E50E24DCCA9E而来。
那么在手机端给特征6E400003-B5A3-F393-E0A9-E50E24DCCA9E发送数据试试,果不其然,micro:bit可以正常收到数据。下面完成收到数据时的代理方法。
实现一个发送数据按钮的功能,变量self.cbCharacteristic对应的就6E400003-***对应的那个特征。
接下来实现发送一个文本命令到micro:bit,发送s表示STOP,发送H:100表示水平滚动条的值,micro:bit接收到后按规则解析,执行。
这样完成了整个数据发送和接收的过程。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com