利用 Simplicity Studio 从零建立一个 LED Server

利用 Simplicity Studio 从零建立一个 LED Server

环境

  • 板卡:ThunderBoard ERF32BG22
  • IDE:SimplicityStudio v5
  • SDK:3.1 版本(3.0 版本会有问题)

该 IDE 应该也是基于 Eclipse 开发的,许多配置界面跟其他基于 Eclipse 开发的 IDE 差不多,就比如 RT-Thread Studio 。

实验现象

ERF32BG22 作为一个 LED Server,手机端通过 nrf Connect 去连接板卡,通过向相应 Service 的 Characteristic 写 1 点亮 LED 灯,写 0 熄灭 LED 灯。

创建流程

首先创建一个 Bluetooth - SoC Empty 的 demo 工程,如何创建 demo 工程可参考 Simplicity Studio 创建 demo 工程

Bluetooth - SoC Empty 这个工程包含了蓝牙C应用程序需要的最小环境,下图中也有相应的注释。

因为 ThunderBoard ERF32BG22 这个板卡是 Silicon Labs 官方板卡,提供了板卡的 BSP 。因此我们可以用可视化的方式、像搭积木似地来对板卡上的资源进行配置。

打开工程的配置文件 soc_empty.slcp ,双击即可。在这个界面里,我们可以可视化地添加资源、软件包,也可以像 STM32CubeMX 一样配置引脚用途。

这里我们选择 SOFTWARE_COMPONENTS -> Bluetooth -> GATT -> Automation IO GATT Service 。我们添加的这个 Service 里包含了对板卡上 Button 和 Led 服务的实现,并统一集成为 Automation IO(自动化IO) 。

然后就可以点击右侧的 Install 按钮,将该软件组件添加到工程里。右下角的 View Dependencies 可以看见该软件包的依赖情况。

第一次 Install 的时候应该会出错,错误提示如下图,该错误的意思是缺少某个组件,这里我们选择安装 IO Stream: USART Core 这个组件,点击它即可跳转到相应的安装界面。

点击 Install 即可安装,然后上方红色的 Validation Errors 就会消失,表明错误消除,此时软件包添加成功。

此时在工程目录里可以看见添加了一些文件,其中 autogen 目录下的文件是根据软件包配置自动生成的,最好不要修改,否则下次配置软件包时更改的信息会丢失。

首先可以看到添加了 led 和 button 的驱动 sl_simple_button_instances, sl_simple_led_instances 。然后可以看见在目录 gecko_sdk_3.1.0 -> app -> bluetooth -> common 添加了 gatt_service_aio 这个 GATT Service 。

在 Bluetooth GATT Configurator 界面可以看见我们添加的 Automation IO Service ,注意该 Service 是 Contributed items ,意味着该 Service 不可修改,是系统定义好的。

之后点击下图中的小锤子,编译项目。

此时应该会报错,会提示 SL_SIMPLE_LED_COUNT 和 SL_SIMPLE_BUTTON_COUNT 找不到,我们需要自己定义一下。

点击 Project -> Properties ,就会出现如下所示的属性配置界面,选择 C/C++ Build -> Settings 。然后在右侧选择 Tool Settings -> GNU ARM C Compiler -> Preprocessor ,点击右侧 + 按钮添加两个宏

  • SL_SIMPLE_LED_COUNT=1
  • SL_SIMPLE_BUTTON_COUNT=1

之后再次编译,应该就没问题了。

之后就需要下载固件了,点击下图中的下载按钮。

在弹出来的界面里点击 Browser 选择固件所在的位置,

hex 文件一般在工程文件的 Debug 或 Release 目录下。

选择好固件后点击 Program 即可下载固件。

验证是否创建成功

手机端打开 nrf Connect ,在扫描中发现有我们创建的设备发的广播,广播名为 Empty Example,点击右侧 CONNECT 。

连接成功后会发现有一个 Automation IO Service ,其 UUID 为 0x1815 ,也就是我们刚才添加的,点击它。

然后我们会看到该 Service 里的各种 Characteristic 和 Characteristic Configuration 。在 UUID 为 0x2A56 的那一个 Digit Characteristic 处,点击向上的箭头。

在弹出的对话框里输入 0x01 ,然后点击 SEND ,即可看到板卡上的 LED 灯被点亮了,完成了蓝牙点灯的过程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,809评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,189评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,290评论 0 359
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,399评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,425评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,116评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,710评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,629评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,155评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,261评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,399评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,068评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,758评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,252评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,381评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,747评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,402评论 2 358

推荐阅读更多精彩内容

  • 在iOS13当中,针对CoreBluetooth有一些更新,最劲爆的就是支持音频了,也就是iOS的开发者也可以搞经...
    原鸣清阅读 3,265评论 0 6
  • iOS 中使用 Core Bluetooth 框架实现蓝牙通信。Core Bluetooth 是基于蓝牙 4.0 ...
    欧大帅Allen阅读 2,750评论 0 3
  • 前言 由于自己工作中需要开发ble的项目,于是在折腾了一段时间后也有所了解,便想写下来分享给大家,同时对自己的知识...
    晨海宝阅读 1,549评论 0 8
  • 最近项目需求要做蓝牙自动配对,也就是在首次配对的时候跳过用户输入PIN码。网上有很多分享的如何实现自动配对。以下做...
    Mr_Tu阅读 12,575评论 2 7
  • (一) iOS蓝牙开发蓝牙相关基础知识 蓝牙常见名称和缩写 MFI ======= make for ipad ...
    雷鸣1010阅读 5,004评论 2 12