1. 引言 上一篇文章<Windows 8.1 低功耗蓝牙开发>讲述了如何在Windows 8.1平台上创建低功耗蓝牙应用,并且以TI的Sensor Tag为例,给出了代码步骤和演示.其实当前很多低功耗蓝牙的应用场景是与用户的手机相连接,如TI的Sensor Tag官方就给出了Android和iOS的客户端应用(很遗憾没有Windows Phone版本的,不过现在大家可以去Store上下载个人开发者开发的Sensor Tag应用了,前段时间刚刚出现在美国区的市场了).再比如小米刚刚出的79块钱…
1. 概述 在蓝牙4.0发布以前,给大家的直观印象就是蓝牙耳机,它就是用来满足短距离内中等带宽的音频通信需求.然而蓝牙4.0发布之后,用途就大不一样了,特别是现在物联网和可穿戴之风盛行的年代,很多小玩意都使用了它,如心率计.手环.钥匙扣等等物件,最终它能够和用户的手机.Pad以及PC等设备连接,实现五花八门的功能.为什么蓝牙4.0的用途广泛了呢?首先归功于低功耗,运行Bluetooth Low Energy的设备,一节纽扣电池可以支持其半年的时间:其次是低成本,如TI公司的CC2540蓝牙SoC…
物联网安全拔“牙”实战——低功耗蓝牙(BLE)初探 唐朝实验室 · 2015/10/30 10:22 Author: FengGou 0x00 目录 0x00 目录 0x01 前言 0x02 BLE概述 BLE 协议栈总览 GAP-通用访问规范 GATT-通用属性协议 0x03 BLE嗅探 0x04 伪造BLE通信 0x05 分析BLE私有数据协议(灯泡.跳蛋.小米手环) 1.YeeLight 2 代蓝牙灯泡 2.小爱爱智能跳蛋(这个真不是我的,某个小伙伴借给我研究的) 3.小米手环 番外篇:小…
Nordic Semiconductor宣布推出nRF52833先进多协议系统级芯片(SoC),这是其广受欢迎且验证通过的nRF52系列的第五个新成员.nRF52833是一款功耗超低的低功耗蓝牙 (Bluetooth® Low Energy /Bluetooth LE).Thread.Zigbee和2.4 GHz私有无线连接解决方​​案,包含蓝牙5.1测向功能的无线电,并且可以在-40至105°C温度范围内有效运作.nRF52833采用具有FPU的64 MHz 32位 Arm® Cortex®-…
Android 4.3以后的系统自动支持蓝牙4.0规范的低功耗蓝牙(BLE).在android4.3之前,蓝牙4.0支持是由手机厂家加入支持的,接口各异,导致开发一个支持蓝牙4.0程序支持市面上的手机很困难.从android 4.3以后,系统将统一接口,使得支持大部分手机成为可能.所以与手机或平板联机之前要确认是android 4.3及以上的系统.有些旧手机,由于蓝牙硬件是支持BLE4.0,更新厂家的android4.3系统是可以支持的.iOS方面,IPHONE 4S及以上,The New IP…
最近一段时间,因为产品的需要我做了一个基于低功耗蓝牙设备的Android应用,其中碰到了一些困难,使我深深体会到Android开发的难处:不同品牌,不同型号和不同版本之间的差异使得Android应用适配成为一个痛点,尤其是跟硬件相关的,每个厂商在实现Android API的时候,或多或少都会有些差别.这些区别,有些是明显的Bug,有些则是对API理解的差异造成的. 我的开发是基于Android 4.3+ 标准BLE API.Android 4.3之前厂商自己实现的API不在讨论之列.Androi…
转载请注明来源: http://blog.csdn.net/kjunchen/article/details/50909410 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发具体解释 演示样例源代码: https://github.com/junkchen/BleLib/tree/master/sample Android ble4.0开发基础篇:http://blog.csdn.net/kjunchen/article/details/50339549 BleLib是An…
基本概念和问题 1.蓝牙设计范式? 当手机通过扫描低功耗蓝牙设备并连接上后,手机与蓝牙设备构成了客户端-服务端架构.手机通过连接蓝牙设备,可以读取蓝牙设备上的信息.手机就是客户端,蓝牙设备是服务端. 手机做为客户端可以连接多个蓝牙设备,所以手机又可以叫中心设备(Central),蓝牙设备叫外围设备(Peripheral). 还有另外一个称谓:手机叫主设备(Master),蓝牙设备叫从设备(Slave). Android4.3 开始支持低功耗蓝牙,此版本只支持单模式:同时只能工作在中心设备模式或者…
段时间,公司项目用到了手机APP和蓝牙设备的通讯开发,这里也正好对低功耗蓝牙(蓝牙4.0及以后标准)的开发,做一个总结. 蓝牙技术联盟在2010年6月30号公布了蓝牙4.0标准,4.0标准在蓝牙3.0+HS标准的基础上增加了对低功耗蓝牙(BLE)的支持.相比原有的普通蓝牙和高速蓝牙,BLE最大的特点就是低功耗,低延时,快速的搜索和连接速度,但数据传输速度相比传统蓝牙低.接下去将从BLE的概念以及代码两个方面介绍Android下的BLE. 先来说说基本概念: 1.BLE相关概念 1.1 GATT.…
原文网址:http://blog.csdn.net/zhangjs0322/article/details/39048939 Android低功耗蓝牙应用程序开始时获取到的蓝牙血压计所有服务的UUID如下所示: 08-28 09:05:48.488: D/BluetoothGatt(4251): onGetService() - Device=08:7C:BE:21:D1:24 UUID=00001800-0000-1000-8000-00805f9b34fb 08-28 09:05:48.48…
低功耗蓝牙官方文档 本文章是参考官网,然后加入自己实践中的理解完成!没有看上一篇的读者,可以先阅读一下前一篇,这是一个系列. 官网地址:https://developer.android.com/guide/topics/connectivity/bluetooth-le Android 4.3 (API 18 )引入了低功耗蓝牙,应用可以查询周围设备.查询设备的服务.传输信息. 关键术语和概念 通用属性配置文件(GATT Generic Attribute Profile) GATT 配置文件…
  坐落在北欧的挪威不像他的邻居芬兰那样,可以先后依靠NOKIA和愤怒的小鸟在世界科技界享有盛名.在一般人看来,挪威除了一个逐渐式微的Opera浏览器以外,并没有更多拿得出手的科技企业.而事实证明这只是你一厢情愿的想法. 在物联网热潮席卷全球的最近几年,有一家挪威公司凭借着在低功耗无线领域的数十年深厚积累,在物联网应用领域攻城拔寨,且获取了客户的一致好评.这家公司叫做Nordic半导体,而他们的主要产品就是物联网必不可少的低功耗无线方案. Nordic技术营销经理Pål Kastnes(左).N…
版权声明:本文为MULTIBEANS ORG研发跟随文章,未经MLT ORG允许不得转载. 最近做项目,需要开发安卓应用,实现串口的收发,目测CH340G在安卓手机上非常麻烦,而且驱动都是Java版本的, 就没选择,博主在大二的时候学习过Java SE基本的语法,写过一些小程序就放弃了Java的道路.最后选择了蓝牙无线透传模块,实现串口通信.现在Qt跨平台支持安卓,是在是令人欣喜.在网上找资料,用Qt on Android做蓝牙驱动的几乎没有,也没有相关例程,所以准备撰写此文,献给广大嵌入式程序…
原文链接: http://liuyanwei.jumppo.com/2015/07/17/ios-BLE-1.html iOS蓝牙开发(一)蓝牙相关基础知识: 蓝牙常见名称和缩写 MFI ======= make for ipad ,iphone, itouch 专们为苹果设备制作的设备 BLE ==== buletouch low energy,蓝牙4.0设备因为低耗电,所以也叫做BLE peripheral,central == 外设和中心,发起连接的时central,被连接的设备为peri…
0×00 前言 低功耗蓝牙(Low Energy; LE),又视为Bluetooth Smart或蓝牙核心规格4.0版本.其特点具备节能.便于采用,是蓝牙技术专为物联网(Internet of Things; IOT)开发的技术版本. 类似文章推荐:永不消逝的电波(三):低功耗蓝牙(BLE)入门之如何调戏别人的小米手环. BLE主打功能是快速搜索,快速连接,超低功耗保持连接和传输数据,弱点是数据传输速率低,由于BLE的低功耗特点,因此普遍用于穿戴设备. 我们比较熟悉的网络有 Zigbee,WIF…
前言 在写这篇文章的时候,谷歌刚刚发布了Android Wear ,摩托罗拉也发布了 Moto 360 智能手表.Android Wear的API还是相当基本的,是很好的文档材料,而且还会不断的更新,所以我不打算写一个关于他们的教程(至少现在还没有).有趣的是 Moto 360 支持 Android 4.3及之后的版本.这明显是Bluetooth LE只有在Android 4.3及以后才被支持的原因,这也意味着 Moto 360 支持Bluetooth LE.Bluetooth LE 将不仅是可…
Android蓝牙开发 鉴于国内Android蓝牙开发的例子很少,以及蓝牙开发也比较少用到,所以找的资料不是很全. (一): 由于Android蓝牙的通信都需要用到UUID,如果由手机发起搜索,当搜索到电脑的蓝牙时,能够得到蓝牙的地址(address),但通信时需要得到BluetoothSocket,而BluetoothSocket则需要电脑蓝牙的UUID,请问这个是怎么样得到的呢? 在蓝牙中,每个服务和服务属性都唯一地由"全球唯一标识符" (UUID)来校验.正如它的名字所暗示的,每…
深入浅出低功耗蓝牙(BLE)协议栈 BLE协议栈为什么要分层?怎么理解蓝牙"连接"?如果蓝牙协议只有ATT没有GATT会发生什么? 协议栈框架 一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功耗蓝牙协议的代码,理解和掌握BLE协议是实现BLE协议栈的前提.在深入BLE协议栈各个组成部分之前,我们先看一下BLE协议栈整体架构. 如上图所述,要实现一个BLE应用,首先需要一个支持BLE射频的芯片,然后还需要提供一个与此芯片配套的BLE协…
前言 蓝牙开发其实分2个部分,一个是正常蓝牙功能的开发(比如Android蓝牙的互相连接.读取蓝牙列表.文件传输.蓝牙耳机等等).另外一个是BLE蓝牙开发(属于低功耗蓝牙设备,设备大多是血糖仪.蓝牙手环.蓝牙手表.蓝牙温度枪等等) Android端正常蓝牙功能开发 首先分享2个写的很好的蓝牙博客,非常全面,只是个别细节没有照顾到. https://blog.csdn.net/a1533588867/article/details/52442349 https://blog.csdn.net/s1…
本文将详细介绍微信小程序的蓝牙开发流程(附源码)准备:微信只支持低功耗蓝牙也就是蓝牙4.0,普通的蓝牙模块是用不了的,一定要注意. 蓝牙可以连TTL接到电脑上,再用XCOM调试 一开始定义的变量 var deviceId;var i=0;var serviceId=[];var characteristicId=[]; 蓝牙开发流程:1.打开蓝牙适配器 2.搜索周围蓝牙 3.获取搜索过程中所搜索到的设备信息 4.连接想要连接的设备 5.获取服务.特征值 6.写数据.读数据 具体实现:1.打开蓝牙…
 Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程 一.准备工具: QT-SDK for Windows:http://get.qt.nokia.com/qtsdk/qt-sdk-win-opensource-2009.04.exe QT-Eclipse-integration-win:http://dist.trolltech.com/developer/download/qt-eclipse-integration-win32-1.5.3.exe Eclipse ID…
本人第一次搞android开发,很多东西都是只知道一点点,然而都没怎么实践过,所以这次就边学边做自己想要的功能,可能会花较长时间,不过肯定是值得的,有用词或哪里说得不对的请指正. 我自己有android和windows的东西,所以只能暂时只能搞android. 蓝牙开发有几个关键步骤,我一步步来 1,首先开启蓝牙 2,搜索可用设备 3,创建蓝牙socket,获取输入输出流 4,读取和写入数据 5,断开连接关闭蓝牙 我先从第一步开始实现,开启蓝牙,而开启蓝牙是需要一个过程的. 流程是这样的,点击开…
前面的两篇文章,主要是在 Android 官网关于蓝牙介绍的基础上加上自己的理解完成的.主要针对的是 Android 开发中的一些 API 的使用. 第一篇文章 Android 蓝牙开发(1) 主要是介绍了普通的蓝牙在 Android 开发中的运用. 第二篇文章 Android 蓝牙开发(2) 主要是介绍了低功耗蓝牙的开发. 这篇文章主要介绍的是蓝牙的历史和一些关于蓝牙的通用知识,还有广播包的知识.要想彻底了解蓝牙开发,这些基础的知识也是需要的,就像网络协议一样,这些都是基础的内容.我们的 AP…
普通蓝牙设备官方文档 Android 平台包含蓝牙网络堆栈支持,凭借此支持,设备能以无线方式与其他蓝牙设备交换数据.应用框架提供了通过 Android Bluetooth API 访问蓝牙功能的途径.使用 Bluetooth API Android 应用可以执行下面的操作: 扫描其他蓝牙设备 查询本地蓝牙适配器的配对蓝牙设备 建立 RFCOMM 通道 通过服务发现连接到其他设备 与其他设备进行双向数据传输 管理多个连接 传统蓝牙适用于电池使用强度较大的操作,例如 Android 设备之间的流传输…
详解BLE连接建立过程https://www.cnblogs.com/iini/p/8972635.html 详解BLE 空中包格式—兼BLE Link layer协议解析https://www.cnblogs.com/iini/p/8977806.html 开发你的第一个BLE应用程序—Blinkyhttps://www.cnblogs.com/iini/p/8996025.html 手把手教你开发BLE数据透传应用程序.https://www.cnblogs.com/iini/p/90956…
什么是蓝牙service和characteristic?到底怎么理解蓝牙profile?ATT和GATT两者如何区分?什么又是attribute?attribute和characteristic的区别是什么?蓝牙的互联互通为什么能做得这么成功? 本文将对以上问题进行阐述,并重点阐述蓝牙协议栈中的ATT层和GATT层,本文偏重理论,如果你对低功耗蓝牙不是很了解,建议配合如下两篇文章一起阅读: 开发你的第一个BLE应用程序—Blinky 手把手教你开发BLE数据透传应用程序 1. 蓝牙协议栈架构 如…
目前iOS智能硬件的开发交互方式主要分为两种,一种是基于低功耗的蓝牙4.0技术(由于耗电低,也称作为BLE(Bluetooth Low Energy))对应iOS的框架为CoreBluetooth,另外一种是基于Wi-Fi的连接方式,由于之前做过的两个项目用到的都是蓝牙,所以下面主要是介绍蓝牙4.0技术. 对应的在项目中添加的蓝牙开发权限 Important An iOS app linked on or after iOS 10.0 must include in its Info.plist…
什么是蓝牙service和characteristic?如何理解蓝牙profile? ATT和GATT两者如何区分?什么是attribute? attribute和characteristic的区别是什么?蓝牙的互联互通为什么能够做的这么成功? 本文除了阐述上述问题 ,并重点阐述蓝牙协议栈中的ATT层和GATT层. 低功耗蓝牙协议栈构架结构: 如图所示,ATT和GATT是蓝牙协议栈最重要的两层,也是蓝牙应用开发者打交道最多的两层,用户开发应用程序或者说service/profile的时候,调用的…
个人主页:董哥聊技术 我是董哥,嵌入式领域新星创作者 创作理念:专注分享高质量嵌入式文章,让大家读有所得! [所有文章汇总] 1.蓝牙基础概念 蓝牙,是一种利用低功率无线电,支持设备短距离通信的无线电技术,能在包括移动电话.PDA.无线耳机.笔记本电脑.相关外设等众多设备之间进行无线信息交换,蓝牙工作在全球通用的2.4GHz ISM(即工业.科学.医学)频段,使用IEEE802.11协议. 2.蓝牙发展历程 自1994年由爱立信推出至今,蓝牙技术已经走过了20个岁月.从最初的Bluetooth…
1.atom/electron github: https://github.com/atom/electron 中文文档: https://github.com/atom/electron/tree/master/docs-translations/zh-CN 2.下载 electron-v0.36.5-win32-x64 https://github.com/atom/electron/releases/download/v0.36.5/electron-v0.36.5-win32-x64.…