bluetooth-lowenergy - BlueGiga BLE113 和 Nordic Semiconductors nRF51822 有什么区别

标签 bluetooth-lowenergy

我不确定这是否是正确的提问地点,但我真的很难找到 BlueGiga 的 BLE113 和 Nordic 的半导体 nRF51822 之间的区别。

从规范来看,nRF51822 是 Bluetooth low energy and 2.4GHz proprietary multiprotocol Soc这意味着它同时支持蓝牙和无线协议(protocol)。

当然,BLE113 只是一个蓝牙芯片。

我似乎无法理解是否还有更多的东西,例如,在功耗方面具有优势,还是在技术方面,哪一个更好?

最佳答案

去年(2013 年)我“很高兴”使用 BlueGiga 的 BLE112。它是用他们自己的脚本语言 BGScript 进行编程的,BLE113 也是如此。除了简单的“Hello world”应用之外,BGScript 对于任何其他应用来说都是可怕

当时它受到严重限制(无法对宏、函数或导入等代码进行分组,变量始终是全局的),但看起来 BGScript 已经获得了新功能,现在似乎可以使用了(我实际上还没有尝试了新版本,因为我什至没有 BLE112)。

不过,似乎仍然没有调试器。

更新:

我现在也有机会研究 nRF51822。

它有一个 C API,比 BLE112 更难设置,但功能更强大。 API 文档还不错:有一个公共(public) API 文档,有时可能会更全面,但也有几个示例。设置基本设备的代码非常简单。 Nordic Semi 具有漂亮、长的函数和符号名称,可以轻松理解正在发生的事情,并且就像我说的,有很多示例。

“最奇怪”的部分是理解所谓的 SoftDevice 是什么以及它是如何使用的。没什么大不了的。当文档不够时,我有时会遇到一些小问题。幸运的是,有一个活跃的forum from Nordic Semiconductor Nordic Semi 员工经常回答的地方。

片上调试工作正常,但 Keil µVision IDE ...... 斯巴达式的。我一点也不喜欢它,但这可能只是品味问题。工作正常。

更新2

我在评论中获悉 BlueGiga 此后已更新 BGScript。它现在拥有许多我在使用它时所缺少的功能。因此,现在对 BGScript 的批评有所不同,语言本身不再是一个大问题。据我所知,优点和缺点是:

优点:

  • 简单易学的语言。
  • 专为写入蓝牙设备而定制。

缺点:

  • 没有调试器(至少我还没有找到任何关于调试器的信息)。
  • 这是您必须学习的另一种语言。
  • 它仍然很简单,我不想用它编写一个 10,000 行的应用程序。例如:

    • 它没有模数运算符。
    • 浮点支持非常简单,缺少很多内容,例如 powroundceilfloor .
    • 它缺乏对字符串处理的有用支持。
    • 总的来说,缺乏标准库。
    • 如果需要,您可以通过自己实现来解决其中一些问题,但您需要意识到您可能需要这样做。
  • 在 2014 年 2 月 16 日的BGScript 脚本语言开发人员指南中,他们写道:“BGScript 的性能有限,这可能会阻止某些应用程序使用 BGscript 实现。” em>

  • 您与 BlueGiga 的编译器绑定(bind),因此无法在 Mac 或 Linux 上进行( native )开发,也无法解决或修复任何编译器错误。

我认为现在有一个 C API,但我还没有找到其 API 的 PDF(我不再有 BlueGiga 帐户)。

结论:

总而言之,我建议选择 BLE112 来实现简单的设备(您绝对知道它会保持非常简单),可以通过 BGScript 限制来实现。对于更复杂的一切,并且您需要真正的编程语言 (C) 的强大功能,请选择 nRF51822。

关于bluetooth-lowenergy - BlueGiga BLE113 和 Nordic Semiconductors nRF51822 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21636511/

相关文章:

iOS 在什么条件下 Core Bluetooth 恢复有效?

android - txPower for Bluetooth LE 到底是什么,它是如何使用的?

bluetooth-lowenergy - 估计到 ibeacon AVR 的距离

ios - 无法将数据发送到特征

Android BLE 连接成功后有一些延迟

android - 以编程方式绑定(bind)到 Android 上的 BLE 设备

ios - 葡萄糖概况 - IOS

java - Android Studio Ble Gatt 连接将数据写入自定义服务特征

java - 安卓 BLE。 device.getUUids() 总是返回 null

Windows 10 蓝牙 Gatt 客户端 ValueChanged 问题