ble

Android BLE notifications for Glucose

匿名 (未验证) 提交于 2019-12-03 01:15:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I tired to use Android BLE SDK to communication with my Glucose device. I need setCharacteristicNotification for UUID 2a18 and 2a34. I refer to the Android official SDK as follows: http://developer.android.com/guide/topics/connectivity/bluetooth-le.html#notification BluetoothGattCharacteristic charGM = mConnGatt.getService(UUID.fromString(BleUuid.SERVICE_GLUCOSE)) .getCharacteristic(UUID.fromString(BleUuid.CHAR_GLUCOSE_MEASUREMENT_STRING)); mConnGatt.setCharacteristicNotification(charGM, enabled); BluetoothGattDescriptor descGM = charGM

iOS Bluetooth dual-mode; connect BLE (GATT) to an already connected BR/EDR (A2DP/HFP) stereo headset simultaneously

匿名 (未验证) 提交于 2019-12-03 01:14:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm developing a stereo headset with Bluetooth using the classic profiles (HFP, A2DP, AVRCP) as one would expect Ina stereo headset. However, I want to deploy a remote control app for iOS, and use it simultaneously to the other classic links, but the dual-mode chipset I'm working with in my design does not behave as I'd expect; The headset is setup as a peripheral, letting the iOS device act as central. As such, the peripheral advertise its BLE services (with my specific 128-bit UUIDs) and all is good. I can browse the peripheral from any

Open source implementations of BLE stack

匿名 (未验证) 提交于 2019-12-03 01:05:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Are there any open source implementations of BLE stack other than BlueZ and Bluedroid? 回答1: You have for example the Zephyr project: https://nexus.zephyrproject.org/content/sites/site/org.zephyrproject.zephyr/dev/subsystems/bluetooth/bluetooth.html . 回答2: There are a couple of open source BLE stacks:- NimBLE - Apache mynewt's Bluetooth Low Energy stack. BTstack - BlueKitchen's Bluetooth stack. Zephyr - small footprint kernel for resource constrained systems. smallTooth - PIC only but may be adaptable to ARM. Blessed - BLE stack targeting

Example for subscribing for BLE indicate in android

匿名 (未验证) 提交于 2019-12-03 00:59:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have connected to a bluetooth device. I am able to read charectristic using mGatt.readCharacteristic(getMiliService().getCharacteristic(uuid)); But I am not able to register indicate for a characteristic. What I tried boolean flag1 = m_Gatt.setCharacteristicNotification(bluetoothgattcharacteristic, flag); BluetoothGattDescriptor descriptor= bluetoothgattcharacteristic.getDescriptor(Helper.UUID_DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION); descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE); mGatt.writeDescriptor

Android 蓝牙BLE开发详解

匿名 (未验证) 提交于 2019-12-03 00:40:02
蓝牙是一种短距离的无线通信技术,可以实现固定设备、移动设备之间的数据交换。一般将蓝牙分为两大类,蓝牙3.0规范之前的版本称为传统蓝牙,蓝牙4.0规范之后的版本称为低功耗蓝牙,也就是常说的BLE(Bluetooth Low Energy)。 本文主要讲解的是Android设备与BLE设备之间的通信,Android 从4.3版本(API Level 18)开始支持BLE通信。 看图说话: 首先要判断当前的Android设备是否支持蓝牙,如果支持则再判断当前蓝牙是否处于开启状态,如果未开启则发送广播通知系统开启蓝牙,蓝牙开启后开始搜索周围的蓝牙设备,注意搜索一定要设置超时处理,搜索到指定蓝牙设备后停止搜索任务。 此时可以以列表的形式供用户选择需要连接的设备,或者内部自动连接特定的设备,连接成功后,搜索此蓝牙设备提供的服务(特性、描述符的集合),搜索完成后设置一些对应的参数,即可与蓝牙设备进行通信了。 看下我们在开发过程中需要用到的一些API: 1.BluetoothAdapter 本地蓝牙适配器,用于一些蓝牙的基本操作,比如判断蓝牙是否开启、搜索蓝牙设备等。 2.BluetoothDevice 蓝牙设备对象,包含一些蓝牙设备的属性,比如设备名称、mac地址等。 3.BluetoothProfile 一个通用的蓝牙规范,设备之间按照这个规范来收发数据。 4.BluetoothGatt

初识Nordic 52840

匿名 (未验证) 提交于 2019-12-03 00:22:01
接触过BLE的朋友,我想基本上都听过Nordic吧,如果真有用过BLE的人没听说过这个品牌,那你很大可能性就是骗别人说你做过BLE开发。Nordic是挪威一家只做2.4G频段的无线通讯技术半导体芯片厂商,明年也就是2019年中旬也会推出量产级别兼芯片级的NB-IOT即nRF91,其目前在BLE行业中占据了百分之60以上的市场份额 (数据来源于Nordic官方) ,不得不说这样的数据是相当恐怖的。当然了,Nordic的成功是有原因的,其BLE芯片出色的性能、完善的资料系统以及对工程师相当友好的开发社区等等都是广大用户有目共睹的。简单地介绍完Nordic之后,接下来我们直接进入主题。 不管是新手还是老鸟工程师,接触到之前没有用过的芯片,首先要做的就是去官方网站或者代理商获取芯片相关的文档进行查阅,从而为后面的芯片开发铺路或者打下基础。理所当然,对于Nordic 52840也是这样,所有的资料均可在官方网站下载得到,但是对从来没有用过Nordic BLE芯片的人来说,肯定是一脸懵逼的,有的人可能在哪里下载到相关的文档都不知道。大家莫慌,随我慢慢道来,但是我不会马上就告诉你相关的文档在哪里下载,因为写这篇文章就是让你初识Nordic 52840,假设直接就告诉你相关的文档在哪里,那么你看了这篇文章就等于没看。因此,要想知道如何开发这个芯片,就应该先看看这个芯片相关的框架。 我们

Android - BlueTooth BLE 之 Central 与 Peripheral

匿名 (未验证) 提交于 2019-12-03 00:19:01
一.前言 Andorid 5.0 之前是无法进行 外围设备开发的,在Android 5.0 API 21 android.bluetooth.le包下,新增加 Scaner相关类和 Advertiser 相关类。目前最后使用Scanner相关类实现蓝牙扫描。这段时间对蓝牙的学习与理解,对中心设备与周边设备做下面总结。 android.bluetooth.le 1. 2. 3. BlueToothDevice#connectGatt() 如果你对 Central 与 Peripheral 理解的话,就移步下面文章 ! Android 5.0 BLE 实现中心与外围设备 (待更…) 二. Central 和 Peripheral 1. 蓝牙通信规则 Central Peripheral 客户端-服务端 结构。 Peripheral 客户端(中心设备): Central Perpheral 如下图所示,心跳监听器提供心跳数据,在你的其他设备的app上 需要以用户友好的方式显示用户的心跳信息。 2.Central 发现并连接广播中的 Peripheral 在BLE中 , Peripheral Central 提供数据是主要方式。主要操作如下: 服务端 外围设备( Peripheral ): 向外广播数据包(Advertising)形式的数据,比如设备名称,功能等! 客户端 中心设备(

BLE――低功耗蓝牙(Bluetooth Low Energy)

匿名 (未验证) 提交于 2019-12-02 23:55:01
1、简介 以下蓝牙协议特指低功耗蓝牙协议。 蓝牙协议是由SIG制定并维护的通信协议,蓝牙协议栈是蓝牙协议的具体实现。 各厂商都根据蓝牙协议实现了自己的一套函数库――蓝牙协议栈,所以不同厂商的蓝牙协议栈之间存在差别,但都遵循 SIG 制定的蓝牙协议。 蓝牙技术的实质是建立通用无线接口及其控制软件的标准,使移动通信与计算机网络之间能实现无缝连接。蓝牙通讯最初设计初衷是方便移动电话(手机)与配件之间进行低成本、低功耗无线通信连接。通俗地说,蓝牙最初就是为了替代串口,实现无线串口的功能。 蓝牙4.1就是一个大杂烩:BR/EDR沿用旧的蓝牙规范,LE抄袭802.15.4,AMP直接使用802.11。以上操作的目的是为了提高蓝牙的兼容性和易用性,但是需要在功耗和传输速率之间取得平衡,整体来说,这个设计并不十分优雅,只是存在即合理。 标准号:IEEE 802.15.1 核心:低功耗技术,即Low Energy RF 规格 工作频段:2.4GHz~2.4835GHz,ISM(Industrial,Scientific and Medical)频段; 工作频道:40个频道,每个频道2MHz的间隔,3个广播信道(37-2402MHz,38-2426MHz,39-2480MHz),37个数据信道,广播报文还是数据报文由信道决定; 调制方式:GFSK,调制指数为0.5 中心频率容限:±150kHz 功耗

NRF52832空中升级DFU

匿名 (未验证) 提交于 2019-12-02 23:42:01
Secure DFU环境搭建 升级原理,加密原理在此不做描述,详情参考 http://www.cnblogs.com/iini/p/9314246.html 1.工具一览 gcc-arm-none-eabi编译环境:GCC编译环境 https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads mingw 平台(win版的Linux命令行) https://sourceforge.net/projects/mingw/files/latest/download?source micro-ecc-master源码 https://github.com/kmackay/micro-ecc python 安装文件 https://www.python.org/downloads/ pc-nrfutil https://github.com/NordicSemiconductor/pc-nrfutil/ nrfgo-studio nrf connect app 2.安装指导 Secure DFU需要micro-ecc库进行签名验证,需要micro_ecc_lib_nrf52.lib,需要使用GCC编译器生成。 2.1 gcc-arm-none-eabi安装 gcc-arm-none-eabi-4_9-2015q3