本篇博客根据韦东山的视频,整理所得. 本篇博客讲解BTStack的框架,首先来看一下硬件的结构: 蓝牙模块接在电脑上,或是接在开发板上.不论接在哪,我们都需要编写程序来控制这个蓝牙模块. . 我们需要发送数据给蓝牙模块 需要发送命令给蓝牙模块,比如让它发出无线信号去扫描.识别.连接.读写附近的蓝牙设备 2. 需要从蓝牙模块获得数据 3. 需要处理获得的数据 上述3步骤可以简化为一个循环: 1.读取数据:可以读取用户输入的指示,也可以读取蓝牙模块的数据 2.处理数据:根据用户的指示发送数据给蓝牙模…
上篇博客中已经对BTStack框架进行了较为详细的说明,本篇博客将进一步总结一下(由韦大仙笔记所得). 可以从5个方面来理解BTStack的框架: 1.硬件操作:hci_transport_t BTStack支持多种接口的蓝牙模块,比如USB口.3线串口.5线串口. 对于这些接口,会抽象出对应的hci_transport_t结构体. 该结构体成员如下: 里面有init.open.send_packet等重要成员. 对于3线串口.5线串口,它们在init.open设备时,不需要写两套代码.因为它们…
首先来看一下,对于硬件操作,它是如何来进行处理的.在上篇文章中曾说过,在main函数里面它会调用硬件相关的代码,调用操作系统相关的代码.在BTStack中,可以搜索一下main.c,将会发现有很多main.c,都是为于port目录下面. Main.c (port\esp32\components\btstack) Main.c (port\ez430-rf2560\src) Main.c (port\libusb) Main.c (port\libusb-intel) Main.c (port\…
本篇博客根据韦东山的视频整理所得. 在上篇博客,通过阅读BTStack的源码,大体了解了其框架,对于任何一个BTStack的应用程序都有一个main函数,这个main函数是统一的.这个main函数做了某些初始化之后,最终会调用到应用程序提供的btstack_main,在btstack_main里面首先做一些初始化,然后调用hci_power_on函数去打开蓝牙模块. 一. 数据类型 运行BTStack程序时,会生成hci_dump.pklg文件,可以使用WireShark打开此文件,截图如下:…
1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广播通信(Advertising)的支持和利用.关于广播通信,通过“玩转BLE(1)_Eddystone beacon”和“玩转BLE(2)_使用bluepy扫描BLE的广播数据”两篇文章的介绍,我们已经有了一个整体的认识.本文将依此为基础,从技术的角度,分析和理解BLE协议中有关广播通信的定义和实现. 注1:之前的蓝牙协议分析文章(如“蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍”),偏向于从横向.从大而全的…
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  开源地址是:https://github.com/MarcFletcher/NetworkComms.Net 使用networkcomms框架通信时,客户端发送消息,服务器端回复消息. 在介绍开源的.net通信框架NetworkComms 一文中,我们介绍了如何从客户端发送字符串给服务器端,以及如何从服务…
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色.关于注册中心.协议支持.服务监控等内容,详见后面描述. 总体架构 Dubbo的总体架构,如图所示: Dubbo框架设计一共划分了10个层,而最上面的Serv…
本文从功能需求的角度分析一般蓝牙BLE单芯片的应用框架(SDK Framework)的接口设计过程,并以TI CC2541为例说明BLE的应用开发方法. 一.应用框架(Framework) 我们熟知的Framework包括Android Framework.Linux QT.Windows MFC.应用框架抽象并封装实现了一般应用场景的需求,完成应用开发的80%,剩下的20%则以回调(callback)和接口的方式供应用开发人员调用以完成具体的需求. 一般Framework完成的工作包括:任务分…
[获奖公布]"我的2016"主题征文活动    程序猿全指南,让[移动开发]更简单!      [观点]移动原生App开发和HTML 5开发,你更看好哪个?   博客的神秘功能 Dubbo阿里Alibaba开源的分布式服务框架 标签: zookeeper阿里巴巴分布式开源dubbo 2015-11-06 16:19 488人阅读 评论(0) 收藏 举报 本文章已收录于: .embody { padding: 10px 10px 10px; margin: 0 -20px; border…
源:蓝牙协议 基于TI cc2540 模块的理解 Bluetooth 4.0开发 Platform:TI IC:cc2540 Environment:windows 7 tools:IAR 8.20.2 demo Code:BLE_CC254x_1.4.0 from TI 物理层:是1Mbps自适应跳频GFSK射频,工作于免许可证的2.4GHz ISM(工业.科学与医疗)频段. 链路层:用于控制设备的辐射状态,设备将处于五种状态之一:等待.广告.扫描.初始化.连接.广播设备不需要建立连接 就可以…