在大系统应用中,系统会拆分为多个子系统来实现,尤其是分布式应用。在具体实现过程中,子系统间的通讯尤为重要。目前主要有两种典型的方法: 一、基于消息实现 系统之间通讯时,向外发送消息形式可以是字节流、字节数组、甚至是对象;系统接收到相关的消息后进行相应的业务处理。 消息通信基于网络协议实现,常用的协议有TCP/IP、UDP/IP。 TCP/IP是一种可靠的网络数据传输协议,其是有连接传输,具有可靠
前言这段时间参与了一款与蓝牙外设交互的项目, 以前没有涉及过数据传输方面的开发, 踩了不少坑, 同时也学到了很多东西. 此时, 项目也即将进入尾声, 有时间把这些记录一二. 本人才疏学浅, 如有错误,大佬轻喷.BLE4.0开发这方面网上的Demo一大堆, 暂时不做太多的赘述, 只对坑点做一个摘要.需求使然, 要对设备的接近远离有一个比较精确的计算, 使用的方案是对蓝牙的信号强度进行分析. 然而,
TI的蓝牙4.0BLE协议栈为BLE-CC254x-1.4.0,即现在的版本是1.4版本的。可以从TI官方下载或从附件中下载安装,默认是安装在C盘中。因为上一篇博文提到进行空中固件升级,当时没有安装在C盘下,死活生成不了bin文件,改在C盘下生成了。所以,我个人建议,还是默认安装吧,也占不了多大空间。TI蓝牙4.0BLE协议栈的结构如下图所示:由控制器和主机两部分构成,分层的思想很明晰。控制器包括
转载 2024-01-13 21:29:30
314阅读
本篇博客根据韦大仙视频,整理所得。先上框图:ATT层从ATT开始看,在上篇博客讲的医院结构里面有个检验室,检验室可以得到各项结果,但是它并不知道这些结果代表什么含义。类比的在BLE协议栈里面,ATT定义了各种属性、属性的操作方法,但是这些属性有什么作用,能给用户提供什么服务,它并不知道。举例如下:假设有两个蓝牙设备,一个是手机,一个是手环,此手环戴在手上可以监测心跳。在ATT这一层,手环提供数据,
转载 2024-01-14 21:11:00
95阅读
1、目的因最近面试,总有人问到BLE协议栈,据此,记录学习BLE协议栈的过程。2 协议概述所谓协议,即将指定的字节按照一定的顺序排列起来,以便他人使用自己的设备时,能通过该协议同其他设备进行通信。协议一特点,就是有固定的帧格式,通过该格式发送,接收者通过解读帧格式,进而得到信息内容;3 BLE连接过程3.1 前言 一般通信协议,一类通信是直接发生数据,当设备接送到数据时,直接对数据进行解析,当接受
转载 2023-10-05 09:46:24
463阅读
分层思想无论是OSI七层模型,还是在BLE协议,为了能快速理解,可以利用分而治之的思想把大问题分割成多个小问题。各层向上提供服务,向下提供兼容。从整体来看,低功耗蓝牙体系的整体结构主要分为三个部分:主机host,控制器,以及基于此向上提供的应用层。主机就是开发接触比较多的软件栈部分,用来管理设备间通讯以及如何利用无线电提供服务。控制器就是负责发送和接收无线电信号,以及如何把携带信息的数据包翻译成无
转载 2023-10-05 09:51:26
1045阅读
  BLE 技术是 Bluetooth SIG 规定的一套通信协议, 在协议变成具体的代码之前, 都只存在文档中, TI、 Nordic、 CSR 等厂商, 根据 SIG 发布的 BLE 技术协议, 配合自身的芯片开发了一整套源码, 并且这套源码经过了 SIG 的测试, 服务 BLE 协议。 这套源码就叫做协议栈, 协议栈是协议的实现。 不同的芯片厂商都有各自的协议栈, 而这不同的协议栈, Blu
蓝牙4.0BLE协议栈介绍问题:什么是BLE协议栈?BLE协议栈与BLE协议的关系?  顾名思义,人类之间需要一种语言才能沟通,机器之间,电子之间也有一个标准,也就是作为通讯标准,也就是通讯协议。  协议:定义了一系列通讯标准,通讯双方都按照这一标准,进行数据通讯。  协议栈:协议的具体实现形式,实现的函数库,固件库。  把个个协议集合到了一起,以函数库的形式实现,并用这些给用户提供一些应用层的A
1. 前言蓝牙是个奇葩的家伙:它总是以后来者的身份出现,很喜欢打仗,而且还不落下风(有点像某讯的风格)。90年代末期和Wi-Fi的无线标准之争如此,当前和802.15.4系(ZigBee、RF4CE、Thread等)的IoT之争,也如此。标准之争,不是本文的议题,我们要思考的问题是:蓝牙有何长处,可以支撑它四处征战?答案是“灵活性”。本文将以用于支持IPv6的IPSP(Internet Proto
转载 2023-12-21 10:45:46
187阅读
大家好,我是亮亮,这是我总结的协议传值封装的方法,不喜勿喷哦! 问题:如果A页面跳转B,B需要回传值至A页面,怎么回传? 当然,回传有很多方式,诸如协议,通知,Block,AppDelegate等等。但协议是最安全,也是最符合面向对象语言风格的一种值回传方式。 一般协议回传的做法是在B类的.h文件中声明协议协议方法(1),然后声明协议属性(2),在B中的.m中调用协议方法(3)。 再回到A类中遵
转载 2024-06-12 10:53:32
66阅读
# iOS 通用外设协议简介 在现代移动设备中,外设的连接成为了一项重要功能。iOS 通用外设协议(External Accessory Framework)提供了一种方式,使得 iOS 设备能够与外部硬件进行通信。这种协议使得不论是音频设备、传感器还是电子工具,都可以通过 iOS 应用程序进行有效控制和数据交互。本文将通过代码示例和结构图来深入理解这一协议。 ## 什么是外设协议 外设协议
原创 2024-10-10 05:15:11
323阅读
蓝牙协议是通信协议的一种,一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功耗蓝牙协议的代码,理解和掌握BLE协议是实现BLE协议栈的前提。当前的蓝牙协议分为基础率/增强数据率(BR/EDR)和低耗能(LE)两种技术类型,本文将重点介绍BLE(Bluetooth Low Energy)。  1、BLE低功耗蓝牙协议栈框架要实现
转载 2023-06-02 10:47:53
459阅读
协议栈的实现方式采用分层的思想,控制器部分包括:物理层、链路层、主机控制接口层;主机部分包括:逻辑链路控制及自适应协议层、安全管理层、属性协议层、通用访问配置文件层、通用属性配置文件层;上层可以调用下层提供的函数来实现需要的功能。 物理层(Physical Layer)是1Mbps自适应跳频的GFSK射频,工作于免许可证的2.4GHz ISM(工业、科学和医疗)频段。这一层可以是软件AP
系统设计通过使用CC2541芯片所具有的蓝牙4.0 BLE协议实现蓝牙设备的互联以及无线数据的发送。TI公司推出的蓝牙4.0 BLE协议栈[9]包含两部分:主机和控制器。协议栈的实现方式采用分层的思想,控制器部分包括物理层、链路层、主机控制接口层;主机部分包括逻辑链路控制及自适应协议层、安全管理层、属性协议层、通用访问配置文件层、通用属性配置文件层;上层可以调用下层提供的函数来实现需要的功能。蓝牙
启动过程完成后立即进入main_func函数。该函数在进入主循环while(1)之前,只调用了system_init()函数。system_init()函数里面包含了对看门狗、时钟、外设、检查和读取蓝牙物理地址、BLE的初始化等等。BLE初始化部分具体包含init_pwr_and_clk_ble()、rwip_clear_interrupts ()、rwip_init()等。这些函数是固化代码,不
写在前面:写在前面:本文参考了 BLE4.0 低功耗蓝牙 协议 总结 ,对其进行了缩减,整理出了个人能理解的感觉比较基本的内容,有问题请随时跟我沟通 个人QQ:993650814. BLE 4.0 协议知识点总结(一) 请参考如下链接 BLE 4.0 协议知识点总结(一)1、连接事件(CONNECT REQ)报文的组成:    CONNECT RE
转载 2024-09-03 21:01:05
142阅读
1. Mesh数据加密流程 ① AccessPDU由Opcode+Payload组成,在UTransport层进行加密,形成EncUTransportPDU,由EncAccessPDU+TransMIC组成。 ② LTrans层将加密后的EncUTransportPDU和未加密的ControlPDU分包后,形成LTransportPDU。 ③ Network层将目的地址DST+LTransport
# JAVA BLE协议科普 ## 什么是BLE协议 BLE(Bluetooth Low Energy,蓝牙低功耗)是一种无线技术,旨在简化蓝牙设备之间的连接与通信。BLE常用于物联网设备,因为它能够在较低的功耗下保持长时间的连接。根据设备的需求,BLE可以在连接模式和非连接模式间切换,以确保最佳的能耗效率。 ## BLE协议的工作原理 BLE协议分为多个部分,主要包括广告、连接、数据传输
原创 2024-08-07 06:59:06
540阅读
1. 前言本文从协议栈设计者的角度,思考如下问题:为什么会有蓝牙协议栈(Why)?怎样实现蓝牙协议栈(How)?蓝牙协议栈的最终样子是什么(What)?我们知道,当前的蓝牙协议包含BR/EDR、AMP、LE三种技术,为了降低复杂度,本文将focus在现在比较热门的BLE(Bluetooth Low Energy)技术上(意在用于物联网),至于BR/EDR和AMP,触类旁通即可。2. Why“Why
转载 6月前
65阅读
本文旨在提供一个方便没接触过Android上低功耗蓝牙(Bluetooth Low Energy)的同学快速上手使用的简易教程,因此对其中的一些细节不做过分深入的探讨,此外,为了让没有Ble设备的同学也能模拟与设备的交互过程,本文还提供了中央设备(central)和外围设备(peripheral)的示例代码,只需2部手机大家就可以愉快的“左右互搏”了。准备工作角色上面我们提到了中央设备(centr
转载 2024-01-24 13:07:59
202阅读
  • 1
  • 2
  • 3
  • 4
  • 5