前面几篇分别简单涉及了 raspberryPi上bluez BLE sniffer TI SensorTag https://blog.csdn.net/feiwatson/article/details/81590397 https://blog.csdn.net/feiwatson/article/details/82942416 https://blog.csdn.net/feiwatson/article/details/82945485 那么接下来,可以仔细分析蓝牙的packets r…
硬件 cc2650 SensorTag Connect with App 在手机上安装Ti提供的sensorTag App即可和sensorTag 建立连接. 如下手机截图,…
在上一篇中,用raspberryPi能够扫描到Ti SensorTag. 但是没有获得更多的数据,并且发现sensor Tag并没有回复scan request. https://blog.csdn.net/feiwatson/article/details/82946621 这里我们利用gatttool来配对. pi@raspberrypi:~ $ gatttool --help Usage: gatttool [OPTION...] Application Options: -i, --ad…
Android 蓝牙学习 学习缘由 上个礼拜公司要开发个简单的五子棋游戏!其中一个需求就是支持蓝牙对战!所以苦逼的我学习蓝牙方面的知识了! 简介 Bluetooth是目前使用最广泛的无线通讯协议,近距离无线通讯的标准.传说瑞典有个国王特别爱吃蓝莓导致自己的牙齿天天都是蓝色的,在他执政期间这位国王非常善于交际,能说会到,和邻国的搞得关系非常好,这个Bluetooth的发明者觉得蓝牙它的作用就是在近距离沟通周围的设备,跟这个国王很类似,于是起名叫蓝牙. 主要针对短距离设备通讯(10米) 无线耳机,无…
一直想开一个高大上点的博客,觉得博客园不错,便申请了.一直没时间看,都快忘了,无意间登上提示申请到了.便写个东西看看. 正在学习nRF51822的蓝牙开发板,为了做毕设准备.备考中,一直没时间学,但今天是国庆节,觉得得给自己放一天假,所以开始鼓捣之前买的开发板. 昨天晚上才终于找到下载的窍门,但是对于蓝牙协议的下载还没头绪.不过这个可以往后拖一拖,拖到考完试吧.昨天把板子用SWD下载弄会了,今天上午刚刚移植了OLED的驱动和测试,用这个开发板点亮了OLED,不过速度有点慢啊,明显的刷屏感啊. 好…
学习路线 1 蓝牙权限 <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCAT…
一 Bluetooth基本概念 蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备.计算机及其终端设备.各种数字数据系统.甚至家用电器采用无线方式联接起来.它的传输距离为10cm-10m,如果增加功率或是加上某些外设便可达到100m的传输距离.它采用2.4GHzISM频段和调频.跳频技术,使用权向纠错编码.ARQ.TDD和基带协议.TDMA每时隙为0.625μs,基带符合速率为1Mb/s.蓝牙支持64kb/s实时语音传输和数据传输,语音编码为CVSD,发射功率分别为1mW.2.5mW和100…
android 端可以通过两种方式去Debug: 一.在手机的设置功能里,开发者模式 Enable,如下图:   http://blog.bluetooth.com/debugging-bluetooth-with-an-android-app 然后在手机的根目录下有一个名类似叫:btsnoop_hci.log 的日志. 通过工具 Wireshark 查看日志: host对应的是主机, controller对应的是控制器.   Android端查看蓝牙日志: http://www.fte.com…
可以通过以下两点加速蓝牙连接: 1.更新连接参数 interval:连接间隔(connection intervals ),范围在 7.5 毫秒 到 4 秒. latency:连接延迟 ... 还有一些其它参数.   Android API不提供具体的参数值, 只提供了三个常量: CONNECTION_PRIORITY_HIGH CONNECTION_PRIORITY_BALANCED CONNECTION_PRIORITY_LOW_POWER 从Android的源码找到对应的参数: 在发起连接…
L2CAP in protocol 首先看一下L2CAP在Bluetooth protocol architecture diagram中的位置: Features of L2CAP Logical Link Control and Adaptation Protocol (L2CAP) 主要有如下功能: Segmentation L2CAP层接收的frames最长为64KB. 当应用层收发的Frame的长度大于这个限制时.L2CAP层负责包的segmenation. 上层协议multiplex…
主要分析一下蓝牙USB Adapter使用USB接口传输HCI包的实现及过程. 参照上面的Bluetooth core system architecture图, 蓝牙USB Adapter作为Bluetooth controller以USB的物理形式连接到Linux host processor上,通过HCI protocol和Host通信. bluetooth in Linux kernel Linux kernel side主要包括: Bluetooth Core: (net\blueto…
前天在玩OLED时想完成一直想弄得一个东西,就是简单的单片机游戏.因为STM32和nRF51822的内存足够,所以就用缓存数组的方法来显示图像(我也不知道术语是啥,反正就是在内存中建立一个128X64的二维数组,更新显示时将整个数组刷新到屏幕上),而且这两个OLED是串口的(还有一个128X32的OLED,一样串口的,连驱动时序和驱动函数都一样,两个都太小了,还那么贵......),四个IO口就能驱动(两个还是供电的VCC和GND),所以不像之前的那个mini 12864屏幕,它是8位并口的,带…
Frames 由下图可以看出 - SDU由多个I-frames中的Information Payload组成 - 一个I-frames又拆分成多个HCI data payload socket buffers sk_buff, 套接字缓冲区,在linux网络子系统中的各层之间传递数据. 当发送数据包时,网络模块必须建立一个sk_buffer,将传送数据put到sk_buffer,然后将sk_buffer传递到下层.各层在sk_buffer中添加不同的协议头直至到网络设备发送. 当接收数据包时,网…
在上文,https://blog.csdn.net/feiwatson/article/details/81712933中主要理解了在Kernel中USB adapter是如何实现USB设备驱动,以及HCI数据是通过不同的pipes和host通信的. Control pipes are used to transport HCI commands. Interrupt pipes are responsible for carrying HCI events. 这里接着分析Bluetooth C…
 这个文档介绍了在DM642EVM板上视频采集和显示微驱动的使用和设计.用EDMA进行存储器和视频端口的数据传输.为了增强代码的复用性和简化设计过程,驱动分为通用视频端口层和特定编解码芯片微驱动层两个部分.外部设备控制(EDC)接口将这两个部分以即插即用的方式联系在一起. 1 Overview       The DSP’sEDMA is used to transfer data between memory and the TMS320DM642Video Port. Tomaximize…
PS:最近同学问我蓝牙的事,因此自己也就脑补了一下蓝牙... 学习内容: 1.如何实现蓝牙通信技术...   蓝牙通信其实是手机里很常用的一种通信方式,现在的手机中是必然存在蓝牙的,蓝牙通信也是有一部分优点的,功耗低,安全性比较高,但是缺点想必大家都知道,传输的速率也确实是不快,相比于Wifi通信,确实不值一提...虽然影响范围并不高,但是既然蓝牙存在,那么还是有必要知道蓝牙是如何进行通信的...蓝牙通信有两种方式,最常用的就是使用socket套接字来实现蓝牙通信...   蓝牙通信原理:蓝牙通…
Android4.2蓝牙基础架构学习 分类: Jellybean Bluetooth Bluetooth 2013-10-13 23:58 863人阅读 评论(3) 收藏 举报 androidbluedroidjellybean蓝牙应用程序 接下来就要进入到真正的Android4.2蓝牙系统的学习了,Are you ready? 本文不会涉及任何代码,主要对整个Android的蓝牙结构进行一个框架上的分析. Android4.2使用了Bluetooth.apk管理所有蓝牙相关的操作,Bluedr…
回顾 在本系列前几篇文章中我们完成了BLE设备的发现 , 为我们的app通过BLE显示从TI SensorTag设备中获取到环境温度和湿度的工作打下了基础.在这篇文章中我们将着眼于连接到我们所发现的SensorTag设备. 与BLE设备建立连接 每一个熟悉传统蓝牙的开发者都将注意到蓝牙配置信息.对于那些蓝牙开发的新手来说,配置文件是一个用于规范行为的准则.例如, Advanced Audio Distribution Profile   (A2DP 高级音频分发配置[我怎么感觉翻译成"协议&qu…
The easiest way to use Bluetooth (BLE )in ios,even bady can use. 简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx. 为什么使用它? 1:基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你更简单地使用CoreBluetooth API. 2:CoreBluetooth所有方法都是通过委托完成,代码冗余且顺序凌乱.BabyBluetooth使用block方法,可以重新按照功能和顺序…
1. 引言 上一篇文章<Windows 8.1 低功耗蓝牙开发>讲述了如何在Windows 8.1平台上创建低功耗蓝牙应用,并且以TI的Sensor Tag为例,给出了代码步骤和演示.其实当前很多低功耗蓝牙的应用场景是与用户的手机相连接,如TI的Sensor Tag官方就给出了Android和iOS的客户端应用(很遗憾没有Windows Phone版本的,不过现在大家可以去Store上下载个人开发者开发的Sensor Tag应用了,前段时间刚刚出现在美国区的市场了).再比如小米刚刚出的79块钱…
1. BLE   (低功耗蓝牙)简介 国际蓝牙联盟( BT-SIG,TI  是 企业成员之一)通过的一个标准蓝牙无线协议. 主要的新特性是在蓝牙标准版本上添加了4.0 蓝牙规范 (2010 年6 月 ) 针对无线应用程序不 低功耗 ,  低延迟 ,  小数据包 癿传输需求 主要是围绕手机和个人电脑系统 ,  但也可以用亍其他应用 程序( 设计苹果外围无需 MFI MFI 认证 ) 预计在未来几年将有十亿的设备需求量 就单模而言和经典蓝牙设备不兼容 因此BLE 适合做控制类,比如具有fine  …
在本系列前面的文章中我们已经了解了,在我们从一个TI SensorTag中获取温度和湿度数据之前,我们需要经历的各种步骤.在本系列中的最后一篇文章,我们将完成注册并接收SensorTag的通知,并接收温度和湿度数据. 接收数据: 现在,本地的代理组件知道了传感器所提供的服务,我们可以开始使用这些服务了.为了使用它们,我们首先需要获得服务,然后是该服务所包含的特征,最后是特征的描述符. 一个GATT服务表现为一个 BluetoothGattService 对象,我们需要通过适当的UUID从 Blu…
偶然发现TI官网有新闻报道大奖赛,还有沈洁女士给我们颁奖的照片.纪念一下. 第六届TI DSP及嵌入式大奖赛决赛暨颁奖典礼在厦门大学成功举行 Frances Han  2013-2014 TI DSP及嵌入式大奖赛决赛暨颁奖典礼于4月24日.25日在有着中国最美校园之称的厦门大学成功举行. 本次竞赛经过8个月的激烈角逐,共同拥有37个參赛队在全国上百个參赛队中脱颖而出,进入了决赛阶段.參加颁奖典礼的人员除了来自全国的25所重点高校,200多名參赛学生和指导老师之外.还有厦门大学的领导,德州仪器公…
BLE 设备工作的第一步就是向外广播数据.广播数据中带有设备相关的信息.本文主要说一下 BLE 的广播中的数据的规范以及广播包的解析. 1. 广播模式 BLE 中有两种角色 Central 和 Peripheral ,也就是中心设备和外围设备.中心设备可以主动连接外围设备,外围设备发送广播或者被中心设备连接.外围通过广播被中心设备发现,广播中带有外围设备自身的相关信息. 广播包有两种: 广播包 (Advertising Data)和 响应包 (Scan Response),其中广播包是每个设备必…
个人主页:董哥聊技术 我是董哥,嵌入式领域新星创作者 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 文章目录 1.前言 2.蓝牙综合介绍 3.精华文章汇总 4.结语 1.前言 大家好,我是董哥! 随着物联网技术的快速发展,WiFi.蓝牙成了物联网通信主力军,但是不得不说,这两个技术的门槛还是比较高的,尤其是蓝牙,单单其官方文档,就有将近3000Page,让人望而生畏! 纵观全网,蓝牙技术的学习有三大难点: 其一:学习资料之杂 其二:极少有系统学习蓝牙的文章 其三:蓝牙协议晦涩难懂 这样就…
物物互联的时代已经到来,智能家居.智慧校园.智慧交通.可穿戴.无人机.全息投影,各种各样的新名词.黑科技层出不穷.当我们为五年前能够通过手机控制家电而欣喜若狂的时候,可曾憧憬过当前使用增强现实设备完成各种不可思议的工业设计.亦或是沉浸于精彩绝伦的游戏场景.随着互联网.物联网.计算机等技术的飞速发展,人们的工作和生活方式在不断地被颠覆,出门打车.看电影.吃饭.甚至于喝酒代驾都有App来帮忙,动动手指就可以完成以前想都不敢想的事情.以上这一切的基础,便是信息的互联互通.物联网(Internet of…
Except that on android you can bypass the pairing dialog if you know the PIN in advance through a different channel.   Etan On 06.02.2013, at 10:09, "András Kövi" <email@hidden> wrote: Hi BPa,   actually if CoreBluetooth receives the reque…
BLE Sniffer https://www.adafruit.com/product/2269 Bluefruit LE Sniffer - Bluetooth Low Energy (BLE 4.0) - nRF51822 nrf51822模块 https://cdn-shop.adafruit.com/product-files/2267/MDBT40-P256R.pdf 驱动安装 安装wireshark Wireshark v2.4.6 or later available from…
BLE就是低功率蓝牙.要着重了解两种设备: dual-mode双模设备:简单说就是向下兼容. single-mode单模设备:仅仅支持BLE.   关于开发主要讲的是单模设备,它可以只靠纽扣电池即可持续工作. TI的蓝牙4.0BLE协议栈为BLE-CC254x-1.4.0,即现在的版本是1.4版本的.可以从TI官方下载或从附件中下载安装,默认是安装在C盘中.因为上一篇博文提到进行空中固件升级,当时没有安装在C盘下,死活生成不了bin文件,改在C盘下生成了.所以,我个人建议,还是默认安装吧,也占不…
接触CC2540几天,终于有了初步的理解,现将笔记整理如下,只是皮毛,如有错误,还请指正,还有好多没闹明白的地方,以后应该还会继续向里面更新~ 一.整体 1.TI的蓝牙平台支持2种协议栈/应用配置:单一设备配置.网络处理器配置 2.协议栈最顶层2个通用profile: GAP 通用访问配置文件层 Generic Access Profile GATT 通用属性配置文件层 Generic Attribute Profile 3. GAP:处理设备的接入方式及接入过程:①设备发现 ②链路建立 ③链路…