轻松学会三种Bluetooth Smart模块的编程方法

2016-08-06 Silicon Labs
Bluetooth,蓝牙模块,BGM111,BGM111A256V2 Bluetooth,蓝牙模块,BGM111,BGM111A256V2 Bluetooth,蓝牙模块,BGM111,BGM111A256V2 Bluetooth,蓝牙模块,BGM111,BGM111A256V2

为了了解使用模块的不同方式,我们首先看一下蓝牙模块是怎样进行连接的。蓝牙模块是一款包含微控器的集成模块当供电时,它将自动初始化启动过程,从闪存读取参数,并开启串行端口,多数情况下是UART或SPI。从那里,你的硬件应用将能通过串行与模块通信,发送指令以及接受回应。一旦你的应用按照需求配置了蓝牙模块,模块接着将会进入特定的模式,你将通信发送到蓝牙连接的原始数据,并从该连接接收数据,而不是通过通信指令。


这实际上可以运行的很好,但开发是个问题。多数适配器使用老式的AT命令,你需要写你自己的API,这仅需要字符串操作的知识。但问题通常来自命令和数据模式。当处于命令模式时,适配器接受指令,并回应这些指令。就像是“告诉我有多少适配器可用”,“现在开始运行”。数据模式就简单了,UART上接收的每个字节被广播到连接设备,反之亦然。一个最为常见的问题是何时在两个模式间转换。如果出错,而且你没有检查,那么下一次你部署AT命令时,字符串将会被广播到所有连接的设备而不是被适配器处理,那些设备也许并不明白你的通信。


另一个问题是管理。制造商经常像他们添加功能那样添加新的模式,如果你的产品寿命为十年,你几乎可以确信需要使用,而且支持多个蓝牙适配器。也许这些蓝牙适配器的AT命令是不同的,这样你仅需要做出小小变动。几年之后,你的命令将会看起来像是:


If 设备=这个:
那么做这个
Else if 设备=这个:
做这个
Else if 设备=另一个设备:
做另一些事情
else printf:
唉, API还没有完成呢


那么如果客户因为任何原因需要特定的固件版本的话呢?谁需要新的硬件? 现在你的应用无需任何配置,模块本身就可以有足够的智能来照看所有的细节,你的应用可以接受分析过及处理过的数据,从而集中精力将功能发挥到最好。有些情况下,蓝牙模块可以替换整个应用。所以,让我们来看一下如何使用这些模块:


第一种编程方法:BGAPI
BGAPI协议设计作为应用和外部适配器的通信方法,值得一提的是,这不是真正意义上对模块编程。当蓝牙模块处于外部,BGAPI是一种与模块通信的方式。API结构清晰,可以用它来创建你自己的库。它具有两项主要优势。首先,你可以使用你想用的编程语言。如果出于种种原因你不想使用C语言,你可以使用其他的语言。因为API总是基本相同的,所以你无需为设备专门写一个库,但是对于一系列设备来说,我们就要说一下第二点,兼容性。你现有的设备如果使用寿命终结,那么你无需改变模块。如果模块使用相同的API(当然,有相同的功能),那么你可以简单的换另一个模块,无需改变任何一行命令。


所以,这是很有趣的,但是因为BGM111模块已经集成了微控器和蓝牙,为什么还需要BGAPI呢?  主要是因为第二个原因,兼容性。如果你的设备已经使用BGAPI,你可以连接这个设备,使用这个模块提供的功能。这并不意味着可以保证兼容性,如果你最初的应用使用带EDR的Bluetooth2.1,那么你不能和单一模式的蓝牙智能设备一起使用它。从另一方面来说,你的应用是蓝牙信标,记录临近模块的蓝牙地址,那么你也许无需做任何改变。


这也是为什么你使用BGAPI的另一个原因。我用我的台式电脑录制视频,我大多情况下用它进行开发。也就是说,我大多数时间在台式电脑上工作。我喜欢有三个屏幕。我还有其他两个笔记本,其中一个是i7内核,但是仍然不如台式电脑舒服。另一个是我仅用来记录的小型Ultrabook,它有11英寸的屏幕,不能升级内存,仅出于休闲的目的来使用。


笔记本电脑有着巨大的优势,它有Bluetooth 4.0模块。我的台式电脑也有集成蓝牙,但仅是Bluetooth 2.1,我不能直接与这些模块通信,所以我需要有一台笔记本电脑在附近。如果我的台式电脑上直接有Bluetooth 4.0我只需要买个适配器便可解决这一问题,但是这样做的乐趣在哪里呢? 所以早晚有一天,我将通过BGAPI将BGM111模块连接到我的台式电脑,并用它与其他模块通信。我认为这是很有趣的。因为我不想做系统编程,我将使用现有的Python库,立即开始运行一些程序。


第二种编程方法:BGLib
因为BGM111基于微控器,你也许会认为可以用C语言进行编程,就像EFM32一样。这就是BGLib的原理,它是一款ANSI C implementation,当你对微控器进行完全控制的时候,你可以获得所有的Bluetooth功能。传统上,BGLib曾被设计来用于外部处理器和微控器,在那些时候,模块还处于外部,所以使用BGAPI。今天,BGLib仍然存在,但是在微控器内部,再一次,兼容性成为了关键,既然有一个系统像期待的那样工作的好,那为什么不继续使用呢?


BGLib有一项主要的优势。通过使用ANSIC写成的库,你可以在C语言中创建应用,访问你的微控器或者微处理器的任何部分,从简单的事情像是激活GPIOs,一直到FPU命令,甚至汇编程序,当优化的库用于蓝牙功能时,你可以结合两者的优势。


BGM111也在BGLib的哲学范围之内。它可以直接在BGM111上使用,而不是将BGLib集成到外部处理器。它仍然使用BGLib,所以你可以通过简单的C命令来控制你的蓝牙视频,但是你也可以完全控制微控器内部的部分,带FPU的Cortex-M4功能十分强大。


第三种编程方法:BGScript
如果你想将BGM111当做独立的设备使用,那么你就不能使用BGAPI,而且如果你不用C语言,或者你不想使用Cortex-M编程的低级开发,那么BGScript就是你所需要的。让我们看一看,C语言有时令人望而生畏。虽然Simplicity Studio恰如其名,但即便是这样,有些人还是决定C语言十分难。你也许懂IOT,但是你确实不了解C,那么你将会花费更多的时间来调试而不是开发,当你完成项目的时候,也许有些项目已经赶在你前面了。如果你是是经验丰富的C开发者,仅仅想根据想法快速设计原型,来看看其运行效果,那么脚本语言此时就是最好的选择。


BGScript正如其名字建议的那样,是脚本语言。它去除了初始代码,内存分配,中断处理程序等麻烦,这一你可以集中精力在功能上。它要求特定的行动来处理数据,这些行动可以是连接或断开到设备的连接,无线接收数据,或者GPIO中断等。


如果你熟悉像Python这样的脚本语言,那么BGScript就会很快上手。Script有简单的指令,可以用来开发复杂的应用。就算你不熟悉,也没关系,它们是很容易学的。你可以在一小时内开发出一款应用!更多SILICON LABS蓝牙模块及SoC产品与技术信息,请联系世强公司。

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 1

评论

   |   

提交评论

全部评论(1

  • serena Lv7. 资深专家 2019-01-18
    干货呀,学习
没有更多评论了

相关推荐

【经验】Silicon Labs蓝牙模块的PCB设计要点

Silicon Labs的蓝牙模块不注意PCB的设计会造成硬件性能下降的问题,比如,可能与其它的无线设备存在干扰,通讯质量下降等。

设计经验    发布时间 : 2017-09-04

【经验】如何用10分钟完成蓝牙模块与手机之间的数据读写交互?

作为物联网技术的一大核心,蓝牙其实上手起来非常快,本文我们一起来探讨一下如何使用蓝牙构造一个简单的通信系统。本文以Silicon Labs的低功耗蓝牙举例说明

设计经验    发布时间 : 2019-08-30

【经验】解密低功耗蓝牙安全性之开发平台例程

这篇文章将会介绍在Simplicity Studio C SDK下,如何使用低功耗蓝牙(BLE)的相关特性,配对、绑定、加密和授权。

设计经验    发布时间 : 2019-09-03

要在电路板上增加蓝牙功能,都需要什么器件?

如果使用蓝牙SoC EFR32BG1xx系列,芯片电源部分需要电感(使能DC-DC)、退耦电容,射频链路1个电感、一个电容,陶瓷天线或者PCB板载天线。如果用蓝牙模块BGM11x,可预留串口和电源接口。

技术问答    发布时间 : 2017-09-15

开发环境(软件/固件)  -  SILICON LABS  - April 10, 2024 PDF 英文 下载

开发BGM111低功耗蓝牙模块,需要哪些软件和工具的支持?

开发BGM111低功耗蓝牙模块有两种设计方式:第一种设计方式是有外部MCU的NCP模式,可以安装BGTool软件。这个软件可以在电脑端模拟一个MCU功能,通过串口发送控制命名驱动BGM111模块。并实时显示串口与BGM111之间所有的交互数据,可以拷贝出来,作为用户自己的项目编程使用。第二种设计方式是BGM111独立运行,这个模式下采用BGScript脚本语言来编程,可以安装BGTool软件。这个软件包含了BGScript脚本编译器。用于编译工程代码,生成bin文件。BGScript编程时无需特殊的编程工具,任何文本编辑工具都可以使用。BGTool软件(BGScript Development)的下载链接:www.sekorm.com/doc/49625.html

技术问答    发布时间 : 2016-11-23

在市面上看到蓝牙BLE的耳机,请问BGM111是否可以做蓝牙耳机应用?

不能,BLE协议特点是低功耗、低速率,蓝牙耳机的目前最低的音频采样率为44.1KHZ,目前市面上所有厂商的BLE蓝牙模块都达不到此速率。如果有支持BLE的蓝牙耳机,那么应该是双模的蓝牙产品,即支持蓝牙BLE,也支持传统蓝牙3.0协议或者2.1+EDRx协议,在传输音频数据方面使用的蓝牙传统协议;我们有专门适合音频的蓝牙芯片WT32i,蓝牙3.0协议,支持速率24mps,内置DSP音频解码器。

技术问答    发布时间 : 2016-10-25

开发环境(软件/固件)  -  SILICON LABS  - July 24, 2024 PDF 英文 下载

蓝牙模块BGM113有做过了一系列的认证了,请问做成产品后,产品整机还需要再做相关的认证吗?

不需要,蓝牙模块做的认证就是为了减轻产品整机做认证的成本。

技术问答    发布时间 : 2017-10-10

如果MCU调用蓝牙模块内部资源,是否会影响蓝牙模块的透传的速率?

MCU调取蓝牙模块内部资源是指令传输,透传是数据传输,如果数据传输链路建立起来,不能传输指令,必须结束当前数据链路,重新建立起指令链路,所以调用模块内部资源会影响传输速率。

技术问答    发布时间 : 2017-05-10

开发环境(软件/固件)  -  SILICON LABS  - May 2, 2024 PDF 英文 下载

蓝牙模块厂家SKYLAB与Silicon Labs强强联合,提供更多优质BLE蓝牙模块及室内定位解决方案

SKYLAB就已经推出两款基于Silicon Labs蓝牙方案的BLE5.2蓝牙模块,工业级标准,小尺寸封装,超低功耗,支持AOA算法的SKB378,超小尺寸的SKB379,模块均支持二次开发。其中SKB378凭借可实现远距离数据透传的优势特性,广泛应用于工业物联网,智能家居,智慧交通,车联网,智能穿戴,消费电子等领域的数据传输、串口透传、智能控制及室内定位等。

原厂动态    发布时间 : 2023-07-21

【Silicon Labs无线技术】Zigbee/Thread/蓝牙/WIFI/Sub-GHz齐齐来媲美

物联网连接,应挑选怎样的无线协议栈才是最佳的?世强为你解析时下最热Zigbee/Thread/蓝牙/WIFI/Sub-GHz技术

专题合辑    发布时间 : 2017-07-19

开发环境(软件/固件)  -  SILICON LABS  - March 13, 2024 PDF 英文 下载

低功耗蓝牙模块助力车联网实现简便、安全连接

车联网的核心是实现互联,而无线连接技术无疑是最关键的一环。其中,通过蓝牙技术可以实现与各种设备进行无缝、快速的连接。

新应用    发布时间 : 2019-07-10

展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Bluetooth Module

价格:¥61.3217

现货: 100

品牌:SILICON LABS

品类:Blue Gecko Bluetooth ® Module

价格:¥60.2765

现货: 67

品牌:SILICON LABS

品类:Bluetooth Module

价格:¥61.3217

现货: 0

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥8.1764

现货: 104,128

品牌:SILICON LABS

品类:Mighty Gecko Multi-Protocol Wireless SoC

价格:¥27.0929

现货: 90,767

品牌:SILICON LABS

品类:Wireless SoC

价格:¥35.3989

现货: 75,007

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥10.4994

现货: 61,779

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥11.5212

现货: 59,367

品牌:SILICON LABS

品类:Wireless SoC

价格:¥25.6438

现货: 49,208

品牌:SILICON LABS

品类:Wireless SoC

价格:¥16.8169

现货: 16,220

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:汇顶科技

品类:蓝牙系统级芯片

价格:¥4.5000

现货:53,089

品牌:涂鸦

品类:蓝牙模块

价格:¥7.7000

现货:9,980

品牌:RENESAS

品类:MCU

价格:¥4.6560

现货:8,299

品牌:SKYWORKS

品类:RF front-end integrated circuit

价格:¥1.8500

现货:5,897

品牌:汇顶科技

品类:蓝牙系统级芯片

价格:¥4.5889

现货:2,190

品牌:SKYWORKS

品类:Front-End Module

价格:¥3.4300

现货:1,339

品牌:汇顶科技

品类:蓝牙系统级芯片

价格:¥5.1556

现货:1,258

品牌:汇顶科技

品类:蓝牙系统级芯片

价格:¥6.8334

现货:991

品牌:Advanced Digital Chips

品类:贴片IC

价格:¥47.0880

现货:742

品牌:汇顶科技

品类:蓝牙系统级芯片

价格:¥5.0290

现货:223

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

蓝牙射频及通信协议测试

根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。

实验室地址: 深圳 提交需求>

物联网天线方案设计/虚拟天线芯片方案设计

Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。

最小起订量: 2500 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面