轻松学会三种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 -  设计经验 代理服务 技术支持 批量订货

【成功案例】基于BGM111蓝牙模块的蓝牙智能燃气表设计案例

本文主要介绍了基于BGM111蓝牙模块的蓝牙智能燃气表设计案例,并论述了行业中主流燃气表的种类和各自存在的问题,针对问题提出蓝牙技术与燃气表结合的新型应用模式。

2018-04-09 -  设计经验 代理服务 技术支持 批量订货

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

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

2017-09-15 -  技术问答 代理服务 技术支持 批量订货

开发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 -  技术问答 代理服务 技术支持 批量订货
April 10, 2024  - SILICON LABS  - 开发环境(软件/固件) 代理服务 技术支持 批量订货

蓝牙模块BLE112已通过了哪些认证?

蓝牙模块BLE112已经通过了蓝牙认证、FCC认证、IC认证、KCC认证、日本和韩国的质量认证。因此,如果产品要出口到国外,就不需要再做相应的认证了。

2016-10-25 -  技术问答 代理服务 技术支持 批量订货

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

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

2016-10-25 -  技术问答 代理服务 技术支持 批量订货
May 2, 2024  - SILICON LABS  - 开发环境(软件/固件) 代理服务 技术支持 批量订货

远程蓝牙模块WT41通信距离能达到1000米吗?用在什么领域比较多?

远程蓝牙模块WT41,相应指标如下:1)发射功率:+20.5 dBm【MAX】2)接收灵敏度:-94dBm【MAX】可以计算出无线链路数据如下:20.5 dB(TX)+ 94 dB(RX灵敏度) - 4.5dB(TX和RX两种天线衰减,已假设天线较差)= 110 dB,在视距情况下的传输距离可以轻松达到1000米。WT41有如下典型应用:1)手持终端2)工业设备3)POS4)个人数字助理(PDA)5)汽车诊断单元

2017-07-28 -  技术问答 代理服务 技术支持 批量订货
March 13, 2024  - SILICON LABS  - 开发环境(软件/固件) 代理服务 技术支持 批量订货

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

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

2017-07-19 -  专题合辑 代理服务 技术支持 批量订货

【应用】业界超小封装蓝牙SIP模块,帮您实现精准的室内定位!

发射功率高达8dbm,通信距离可达200米,广泛应用于Beacon室内定位中。

2019-09-03 -  新应用 代理服务 技术支持 批量订货
January 31, 2024  - SILICON LABS  - 开发环境(软件/固件) 代理服务 技术支持 批量订货

使用Silicon Labs的蓝牙模块BGM113时要使用什么软件进行开发?

开发Silicon Labs的蓝牙模块要使用Bluetooth Developer Studio软件平台,这个软件是开发和调试工具的一个应用程序。比如自动生成代码,简单的拖放界面以及虚拟和物理实时测试等功能,这个软件使创新更容易,同时节省时间。

2017-09-12 -  技术问答 代理服务 技术支持 批量订货
展开更多

电子商城

查看更多

品牌: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

现货: 103,128

品牌:SILICON LABS

品类:Mighty Gecko Multi-Protocol Wireless SoC

价格:¥27.0929

现货: 90,767

品牌:SILICON LABS

品类:Wireless SoC

价格:¥35.3989

现货: 82,727

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥10.4994

现货: 59,949

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥11.5212

现货: 59,367

品牌:SILICON LABS

品类:Wireless SoC

价格:¥25.6438

现货: 54,208

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥10.7778

现货: 18,407

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:汇顶科技

品类:蓝牙系统级芯片

价格:¥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,153

品牌:汇顶科技

品类:蓝牙系统级芯片

价格:¥6.8334

现货:991

品牌:Advanced Digital Chips

品类:贴片IC

价格:¥47.0880

现货:742

品牌:汇顶科技

品类:蓝牙系统级芯片

价格:¥5.0290

现货:223

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

高频/平板/电流互感变压器定制

可定制变压器的常规尺寸从EE4.4到ETD49不等,温度范围:-40℃~150℃。自动化产品的起订数量:20KPCS,其它定制产品无起订量要求。

提交需求>

内置弹簧天线定制

可定制弹簧天线频率范围:470MHz、315MHz、433MHz、868MHz、915MHz、490MHz、2.4GHz、GPRS、3G、蓝牙;增益:0~5dBi;电压驻波比V.S.W.R:≤2;天线尺寸不限。

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

查看更多

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

查看更多

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

查看更多

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

查看更多

授权代理品牌:电子材料

查看更多

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

查看更多

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

查看更多

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

查看更多

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

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

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

收藏
收藏当前页面