获取中...

-

Just a minute...

Step1:发现服务和特性

1.大家在我的 BBC MicroBit蓝牙设备系列(一)中从https://makecode.microbit.org/v0/89975-20684-84568-20127 下载固件到BBC Micro:bit开发板时,会发现,我们的这个BBC MicroBit开发板板服务在程序设计时已经包含了蓝牙加速计服务和蓝牙led服务。

2.大家可以打开Chrome自带的蓝牙工具chrome://bluetooth-internals/#adapter进行蓝牙连接,怎样连接在系列(一)可自行观看,连接成功后通过开发商提供的资料链接https://lancaster-university.github.io/microbit-docs/resources/bluetooth/bluetooth_profile.html ,这里都是关于开发板的服务和特性的UUID号,每个服务都对应的UUID号,连接成功后,我们可以看到,当相对应的服务UUID号一致则说明你的服务已添加成功。

Step2:如何给BBC Microbit开发板添加服务

1.在蓝牙连接的状态下,打开https://makecode.microbit.org/v0/89975-20684-84568-20127 进行在线源码编辑:

搜索蓝牙,相应的蓝牙服务就出来了,这里添加的是蓝牙温度服务将方块拖到图片的位置。

然后保存,下载。

2.在你的此电脑>下载路径下就有你下载的.hex文件,将下载的固件.hex文件移到开发板对应的MINCROBIT(G)盘中,这个时候打开Chrome自带的蓝牙工具,进行连接,连接成功后会发现服务已被添加成功。

)QQ图片20200619110456

Step3:修改电脑端源码增加温度服务、特性

所要添加代码如下:

Step4:代码解析

1.开头添加的标志变量has_accelerometer_service,has_led_service,has_device_information_service,has_temperature_serivce,用于核对BBC MicroBit有没有相应的服务,有true无false。而has_accelerometer_data ,has_led_matrix_state,has_model_name_string,has_temperature 用于核对特性是否存在。service UUIDs 和 characteristic UUIDs用于核对板子的特性和服务来进行连接。led_matrix_state,model_number_string,accelerometer_data,temperature,这些都是定义特性相应的变量。service_count,characteristic_count服务和特性发现的数量。services_discovered,characteristics_discovered应该被发现服务和特性的数量

2.这里要添加service UUID和characteristic UUID号,用来进行与开发板中服务UUID号进行核对。

3.函数function discoverSvcsAndChars()是用来发现开发板的服务和特性,使用该函数connected_server.getPrimaryServices()获取BBC MicroBit板子上的主要服务。

4.service_count = services.length是表示发现BBC MicroBit板服务的个数,并将发现的服务打印出来。

5.接下来我们要对已发现的服务通过if函数进行判断,核对是否一致。完成后要将一致的uuid号打印输出,然后 函数service.getCharacteristics()要获取该服务下的所有特性,对该特性通过if语句判断进行核对。

6.最后要把要发现的服务和特性数量与已发现的服务和特性数量进行核对。如果一致则成功,将打印FINISHED DISCOVERY。

7.在信息核对一致成功后,我们要把setDiscoveryStatus(true)状态true通过函数function setDiscoveryStatus(status) 显示出来,表示添加服务及其特性成功了,这样就结束啦!

8.程序编辑好后打开,在浏览器中按F12,观察。

实验现象:

Step5:资源

1.有关microbit开发板各服务、特性的教程式参考资源: https://lancaster-university.github.io/microbit-docs/ble/profile/

2.服务、特性的UUID请见: https://lancaster-university.github.io/microbit-docs/resources/bluetooth/bluetooth_profile.html 3.Chrome浏览器的插件,使用它可以查看周边蓝牙设备的信息:状态、服务、特性、描述符等。 chrome://bluetooth-internals/#adapter

4.BBC MicroBit开发板网页编辑器 https://makecode.microbit.org/#editor

相关文章
评论
分享
  • 矩阵控制

    Step1:添加代码1.首先添加25个按钮,进而控制小灯的亮灭 2.每个按钮按下都会调用函数E()然后将每个小灯位置值赋给i,j最后调用函数Eve()完成控制。 Step2:实验现象

    矩阵控制
  • 一行LED

    Step1:修改代码1.接着要修改HTML代码,在web添加按钮,总共有10个按钮: 2.添加数组和变量 3.在这一过程中,大家只用添加4个函数,Row()和Col()函数分别是控制行列,而F(C),G(L)函数是将上面两个函数进...

    一行LED
  • 启用通知

    一,要添加的代码内容和相关的解析step1:用户界面状态 2.添加函数setNotificationsStatus(status),将通知订阅的状态传进来,将该状态赋给notifications_enabled。 3.有这个setN...

    启用通知
  • 读写特性

    一,修改源码 Step2:写特性的相关代码 Step3:HTML相关代码的修改 二,代码解析1.你的蓝牙设备应该包含GATT设备信息服务,该服务至少应该包含模型名称字符串特征。我们将读取它的值并在web页面中显示结果。函数readM...

    读写特性
  • 设备连接

    设备连接Micro:bit是由英国BBC公司推出的一款手持式可编程的微型计算机,可用于各种很新潮的创新,从机器人到乐器 – 无止尽,从小学到大学,非常容易开始,拥有无限可能性!一块BBC小板子上有温度传感器和光线传感器,运动传感器(加...

    设备连接
  • 博客心得

    title: 博客date: 2020-05-27 19:28:43tags:—Hexo(官方网站)是一个快速、简洁且高效的博客框架,使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页,并且它拥有非常丰富的主...

    博客心得
  • Hexo上传至Github

    准备工作我们要将自己的博客上传至Github,首先我们需要将去注册我们GIithub账户。 注册Github:右上角的sign in是登录,sign up是注册。 新建仓库(Repository):点击create reposito...

    Hexo上传至Github
  • Hexo主题与Gitalk

    Hexo主题配置一、我们现在的博客是初始化的主题,所以我们要给Hexo换上新装。Hexo主题在官网有很多,大家可以登录查看官网链接。 有自己中意的主题以后,前往作者的Github,点击:“clone or download”,把文件夹...

    Hexo主题与Gitalk
  • Hexo本地搭建

    本博主第一篇文章,主要介绍:为何使用hexo。如何进行hexo本地的搭建以及遇到的问题,解决方案。 为何使用Hexo目前网络有形形色色的博客,我们在这些平台的注册博客,发表文章,如果后来平台消失,我们发表的宝贵文章,也随之消失。 我也...

    Hexo本地搭建
  • Hello World

    Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using ...

    Hello World