Bluetooth RFCOMM介绍】的更多相关文章

目录 1. 介绍 2. 服务概述 2.1 RS-232控制信号 2.2 Null Modem Emulation 2.3 多串口仿真 3. 服务接口描述 4. RFCOMM帧类型 5. RFCOMM帧格式 5.1 Address字段 5.2 Control字段 5.3 Length字段 5.4 Data字段 5.5 FCS字段 6. Multiplexor Frames 1. 介绍 RFCOMM提供了基于L2CAP协议的串行(9针RS-232)模拟,最新规范是V1.2,支持在两个蓝牙设备间高达6…
目录 1. 介绍 2 内容 2.1 Configured Broadcast 2.2 GATT Profile Hierarchy 3 Service Interoperability Requirements 3.1 Service Definition 3.2 Include Definition 3.3 Characteristic Definition 3.4 Summary of GATT Profile Attribute Types 4. GATT Feature Requirem…
目录 1 GAP协议栈 2 Profile Role 3 用户接口 4 模式 5 安全 5.1 认证(Authentication) 5.2 安全模式 6 Idle Mode Procedures 7 Establishment Procedures 8 BLE操作模式和过程 GAP Profile: Generic Access Profile ,该Profile保证不同的Bluetooth产品可以互相发现对方并建立连接 GAP定义了蓝牙设备如何发现和建立与其他设备的安全/不安全连接.它处理一…
目录 1 介绍 2 详细内容 2.1 Attribute Type 2.2 Attribute Handle 2.3 Attribute Handle Grouping 2.4 Attribute Value 2.5 Attribute Permissions 2.6 Control-Point Attribute 2.7 Protocol Methods 2.8 Exchanging MTU Size 2.9 Long Attribute Value 2.10 Atomic Operation…
目录 1. 介绍 2. 数据包格式(Packet Format) 3. Procedure Rules 4. 通用回应消息(General Response Messages) 5. 设备特性(Device Features) 6. Procedure LMP即Link Management Protocol,用于链路建立和控制 1. 介绍 基于这一层的实体我们称之为链路管理器(LM: Link Managers) LM将命令转换为Baseband层的操作(包括如下) ~ 将Slaves加入到P…
目录 1. 概述 1.1 Clock(时钟) 1.2 寻址方式 2. 物理信道(Physical Channels) 3. 物理链路(Physical Links) 4. 逻辑传输层(Logical Transports) 5. 逻辑链路(Logical Links) 5.1 LC 5.2 ACL-C 5.3 ACL-U 5.4 SCO-S/eSCO-S 5.5 PDB 5.6 Priorities 6. 数据包(Packets) 6.1 General Format 6.2 Bit Order…
目录 1. 介绍 1.1 目的 1.2 使用场景 1.3 依赖关系 1.4 协议栈 1.5 角色 2. 应用层 3. 空白章节 4. 互操作性要求 4.1 介绍 4.2 Service Level Connection Establishment HFP是Hands-free Profile的缩写 1. 介绍 1.1 目的 HFP,让蓝牙设备可以控制电话,如接听.挂断.拒接.语音拨号等 1.2 使用场景 常见的使用情景是汽车套件和蓝牙耳机,将它们连接至手机并用于拨打和接听电话 1.3 依赖关系…
目录 1. HCI功能 2. HCI Packet 1. HCI Command 2. HCI Event 3. HCI Data 3. HCI传输层 HCI, 主机控制接口(Host Controller Interface), 是蓝牙协议栈的重要部分, 相应的规范位于Core Version 4.1的vol 2:Part E和vol 4 HCI提供了对控制器的统一接口,用来沟通Host和Control,如下图所示  在规范中对HCI分为两个部分介绍 ~1 沟通Host和Control的接口(…
目录 1. 通用操作 1. L2CAP Channel 2. 设备间操作 3. 层间操作 4. 操作模式 2. 数据包格式(Data Packet Format) 1. B-Frame 2. G-Frame 3. S-Frame/I-Frame 4. LE-Frame 3. 信号包格式(Signaling Packet Format) 4. 参数配置选项(Configuration Parameter Options) 5. 状态机(State Machine) 1. 状态机 2. 事件 3.…
目录 1. 概念 2. 服务记录(Service Record) 3. 服务属性(Service Attribute) 4. 服务类(Service Class) 5. 服务查找 5.1 UUID 5.2 服务搜索模式(Service Search Patterns) 6. 服务浏览 7. 数据表示 7.1 类型描述符 7.2 大小描述符 7.3 数据单元实例 8. 协议说明 8.1 PDU格式 8.2 Partial Responses And Continuation State 8.3 错…
最近需要在某个开发板上面通过蓝牙和手机蓝牙连接,并通过RFCOMM通信.还没有做过蓝牙RFCOMM相关工作,因此先在linux PC上面调试一下流程,并在此记录调试过程. 一.说明 RFCOMM协议基于L2CAP协议的串行(9针RS-232)仿真. 本文中实现了RFCOMM server和client通信. 二.设备 linux主机(Ubuntu-14.04).linux虚拟机(Ubuntu-14.04).Android手机一台.不知名蓝牙dongle_1(controller).CSR 蓝牙d…
bluetooth接口 android.bluetooth.jar 官网网址: 接口类: https://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html bluetooth简单介绍官网:https://developer.android.com/guide/topics/connectivity/bluetooth.html#TheBasics…
ubuntu一些基本软件安装方法 首先说明一下 ubuntu 的软件安装大概有几种方式:1. deb 包的安装方式deb 是 debian 系 Linux 的包管理方式, ubuntu 是属于 debian 系的 Linux 发行版,所以默认支持这种软件安装方式,当下载到一个 deb 格式的软件后,在终端输入这个命令就能安装:sudo dpkg -i *.deb2.编译安装方式(小贴士:使用编译安装前,需要先建立编译环境,使用以下命令建立基本的编译环境:sudo apt-get install…
在上一篇在VS2015 RC打开CTP中创建的工程,我们介绍了怎么在RC中打开CTP中创建的Universal 工程,这一篇我们来讲下怎么将Windows 8.1/WP8.1的应用迁移到Universal Windows Platform上. 2015RC中,我们可以将8.1的应用迁移到统一平台上,进而使用新的API进行开发,下面我们使用wp8.1的应用作为例子讲解下步骤. 1. 首先我们使用2015打开之前的工程. 2. 右键点击工程,选择“卸载项目”. 3. 右键点击工程,选择“编辑XXX.…
Linux就这个范儿 第13章 打通任督二脉 0111010110……你有没有想过,数据从看得见或看不见的线缆上飞来飞去,是怎么实现的呢?数据传输业务的未来又在哪里?在前面两章中我们学习了Linux网络方面的各种工具,打造了形形色色的网络服务.然而我们并不满足于仅仅知道这些表面的知识,还希望深入了解它们的底层实现.那就来吧,打通任督二脉,探究不同类型的网络以及隐藏在网络后面的世界. 13.1 了解网络驱动工欲善其事,必先利其器.二十年前我们还走在狭窄的乡间小道开着信息牛车.时至今日,信息高速公路…
摘要:本文是参考大量网上资源在结合自己查看源代码总结出来的,让自己同时也让大家加深对Android系统启动过程有一个更加深入的了解!再次强调,本文的大多数功劳应归功于那些原创者们,同时一些必要的参考链接我会一一附上. 注:由于本人采用Exynos4412开发板学习,所以本文大部分资料都是基于此处理器的 简介:对于整个Android系统的启动总的来说分为三个阶段: BootLoader引导即uBoot.bin linux内核启动即zImage Android系统启动即ramdisk.img与sys…
首先说明一下 ubuntu 的软件安装大概有几种方式: 1. deb 包的安装方式deb 是 debian 系 Linux 的包管理方式, ubuntu 是属于 debian 系的 Linux 发行版,所以默认支持这种软件安装方式,当下载到一个 deb 格式的软件后,在终端输入这个命令就能安装:sudo dpkg -i *.deb 2.编译安装方式(小贴士:使用编译安装前,需要先建立编译环境,使用以下命令建立基本的编译环境:sudo apt-get install build-essential…
前段时间做蓝牙方面的开发,Google的Android只实现了Handset/Handfree和A2DP/AVRCP等Profile,而其 它常用的Profile如HID/DUN/SPP/OPP/FTP/PAN等却没有实现,并且Google方面关于何时实现也没有一个时间表. 前段时间我实现了HID/DUN/SPP三个Profile,下一步实现OPP/FTP等Profile.具体的开发其实也简单,我是参照A2DP的代码进行的相关Profile的实现. Android的Handset/Handfre…
博客地址 : http://blog.csdn.net/shulianghan/article/details/40299813  本篇文章中用到的工具源码下载 : -- ok-6410A 附带的 Android 光盘 下载地址 : http://pan.baidu.com/share/link?shareid=3662728609&uk=2754759285 ; -- 光盘所含内容 : Android 引导 u-boot 源码, Android 内核 源码, Android 系统源码, 交叉编…
公板芯片型号:MCIMX6L8DVN10AB 我的板子芯片型号:MCIMX6L2EVN10AB no GPU ,no EPDC 调板子时一定要注意,首先要搞清楚硬件芯片的具体差异,然后去nxp的官网找区别,网址如下:https://community.nxp.com/search.jspa?q=imx6sl%20no%20gpu%20no%20epdc 一直认为gpu,epdc是内核起来一定时间后才初始化的,这是错误的. 之前程序打印信息:Uncompressing Linux...  done…
private async void InitializeRfcommServer() { ListenButton.IsEnabled = false; DisconnectButton.IsEnabled = true; rfcommProvider = await RfcommServiceProvider.CreateAsync( RfcommServiceId.FromUuid(Constants.RfcommChatServiceUuid)); // Create a listene…
目录 . /proc简介 . 内核机制相关 . 进程信息 . 硬件设备相关 . 系统信息 . /dev简介 . 内存相关 1. /proc简介 在linux的根目录下有一个/proc目录,/proc文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在Linux内核空间和用户空间之间进行通信.在/proc文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的(即在我们执行指令的那一刹那才产生的) /proc文件系统包含…
linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信息. 语 法:dmesg [-cn][-s <缓冲区大小>] 补充说明:kernel会将开机信息存储在ring buffer中.您若是开机时来不及查看信息,可利用dmesg来查看.开机信息亦保存在/var/log目录中,名称为dmesg的文件里. 参 数: -c 显示信息后,清除ring buff…
dmesg命令基于缓冲区打印信息dmesg -c可以清除该内存信息清除后demsg 命令不显示任何信息,但可以到/var/log/dmesg查看信息 dmesg |tail 20dmesg |head 20dmesg |grep sdadmesg |grep ttydmesg |grep memorydmesg |grep DMAdmesg |grep usb [root@localhost var]# dmesg | more Linux version .. (root@localhost.…
阿里云主机 [root@monitor klvl]# uname -aLinux monitor 2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31 17:20:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux stap -l 'module("模块名").function("*")'   //EG:mmc_block.ko不要.ok stap -l 'module("mmc_blo…
[问题] 折腾: [记录]编写Android中的蓝牙模块驱动和底层HART设备 期间,参考: Bluetooth | Android Developers – ManagingAConnection 参考“Connecting as a client”中的: tmp = device.createRfcommSocketToServiceRecord(MY_UUID); 遇到UUID不懂的问题. 然后随便去 http://www.guidgenerator.com/online-guid-gen…
此文来自于对http://source.android.com/porting/index.html中bring up段的简译.其中有一处与源码的 system/core/init/readme.txt(此文也是对init.rc 的解释)内容不同: socket <name> <type> <perm> [ <user> [ <group> ] ] ----------------------------------------------- 注…
DMESG NAME dmesg - print or control the kernel ring buffer(打印或者控制内核环缓冲) Usage: dmesg [options] Options: -C, --clear clear the kernel ring buffer -c, --read-clear read and clear all messages -D, --console-off disable printing messages to console -d, -…
有了BOOT.BIN(fsbl+pmu+atl+uboot).uImage.uramdisk.image.gz,dtb文件,就可以启动了.把上述文件统统拷贝到SD卡,并设置开发板为SD卡启动. 0. U-BOOT启动参数 设置启动参数,然后启动 fatload mmc 0 0x1000000 uImage;fatload mmc 0 0x2000000 uramdisk.image.gz;fatload mmc 0 0x4000000 zynqmp-sf-zcu102.dtb; setenv b…
Linux显示系统的诊断信息 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ dmesg [ 1.492480] EDD information not available. [ 1.492521] PM: Hibernation image not present or could not be loaded. [ 1.506437] input: AT Translated Set 2 keyboard as /devices/platform/i80…