物联网|蓝牙4.0BLE协议栈简介|IAR集成开发环境简介|IAR各版本下载链接|物联网之蓝牙4.0 BLE基础-学习笔记(2)

news/2024/11/15 1:49:31/

文章目录

  • 3、蓝牙4.0BLE协议栈简介
    • Tips: BLE协议结构图介绍
    • Tips IAR各版本下载链接

3、蓝牙4.0BLE协议栈简介

问题:
1、什么是LE协议栈?BLE协识栈与BLE协议的关系?
协议:机器之间的通讯标准,定义了一系列的通信标准,通信双方都按照这一标准进行数据通信。
协议栈:协议的具体实现形式,也就是实现的函数库,固件库。
2、如何使用BLE协议栈进行应用开发?
A、不需要深入的了解协议栈复杂的过程,只要知道数据是从哪里来,需要到哪里去。
B、根据协议栈,调用其中的函数实现自己的一些功能,
C、可以自己编写一些函数,去实现自己需要的特定功能,
协议结构图:
在这里插入图片描述

物理层:
硬件基础,提供信道带宽(2M),提供广播信道1M,
链路层:
执行一些基带协议,底层的数据包管理协议
主机控制接口层:串口,USB等
逻辑电路层与适配器协议层:为上层的提供端到端的逻辑数据通讯
安全管理层:提供配对及协议分发的方法,数据建立安全性
通用接入层:定义了一些通用接口,供应用层和底层之间的应用。调用底层的驱动模块,同时封装一些安全API
属性协议层:允许设备已属性的形式,暴露一些服务端口,像观察者与广播者的功能。
通用属性剖面:定义属性结构的应用架构及框架,开发一些应用的产品。
不同厂商结构图可能不尽相同。

Tips: BLE协议结构图介绍

引自:CSDN博主「退5不落5」的原创文章
原文链接:https://blog.csdn.net/weixin_42868654/article/details/89518861
结构图:
在这里插入图片描述

第一层:physicallayer(物理层)
信道带宽提供2M,提供三个广播信道1M。
第二层:link layer(链路层)
执行一些基带协议,底层的数据包管理协议。
第三层:host controller interface (主机控制接口层)
提供主机与控制层 的通讯方式,以及命令格式,重用蓝牙标准,比如一些串口,USB等等。
第四层:L2CAP(逻辑链路于适配器协议层)
为它上层提供数据业务,提供端到端的逻辑数据通信。
第五层:security manager(SM)安全管理层
层与层之间会有通信,它是建立数据交换安全方面的数据知识。
第六层:attribute protocol(ATT)通用接入层
定义了一些通用接口,供应用层和底层之间的调用,比如你要调底层的硬件模块的东西,就需要这个层的底层的驱动模块去实现它的一些功能,所以它会同时封装一些API的函数设置。
第七层:generic attribute profile(GATT)(属性协议层)
允许设备以属性的形式向外设备暴露它的一些数据,就像广播者与观察者之间,它一直在广播自己的属性,数据出去。观察者观察到了它以后就可以把它的属性提取出来。
第八层:generic access profile(GAP)通用属性剖面
具体属性协议的应用框架,应用了属性协议的应用架构,通过这个层,可以在里面开发一些应用的东西,这里做好了一些应用的框架,可以在上面写一些开发。

Tips IAR各版本下载链接

IAR For ARM 下载链接(官网最新):
https://www.iar.com/iar-embedded-workbench/#!?currentTab=free-trials

各版本下载链接:

IAR 5.50.8版本
http://files.iar.com/ftp/pub/box/CD-EWARM-5508-2279.zip

IAR 6.10.5版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6105-2331.zip

IAR 6.20.1版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6201-2590.zip

IAR 6.20.2版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6202-2638.zip

IAR 6.20.3版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6203-2664.zip

IAR 6.20.4版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6204-2764.zip

IAR 6.20.4版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6204-2-2773.zip

IAR 6.21.1版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6211-2846.zip

IAR 6.21.4版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6214-2946.zip

IAR 6.30.1版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6301-3142.zip

IAR 6.30.3版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6303-3241.zip

​IAR 6.30.4版本
http://files.iar.com/ftp/pub/box/CD-EWARM-6304-3295.zip

IAR 7.40.1版本
http://files.iar.com/ftp/pub/box/EWARM-CD-7401-8472.exe

IAR 7.40.5版本
http://files.iar.com/ftp/pub/box/EWARM-CD-7405-9739.exe

IAR 7.50.1版本
http://files.iar.com/ftp/pub/box/EWARM-CD-7501-10273.exe

IAR 7.50.2版本
http://files.iar.com/ftp/pub/box/EWARM-CD-7502-10505.exe

IAR 7.50.3版本
http://files.iar.com/ftp/pub/box/EWARM-CD-7503-10751.exe

IAR 7.60.1版本
http://files.iar.com/ftp/pub/box/EWARM-CD-7601-11216.exe

IAR 7.60.2版本
http://files.iar.com/ftp/pub/box/EWARM-CD-7602-11350.exe

IAR 7.80.4版本
http://files.iar.com/ftp/pub/box/EWARM-CD-7804-12495.exe

IAR 8.11.3版本
http://files.iar.com/ftp/pub/box/EWARM-CD-8113-13984.exe

IAR 8.32.1版本
http://files.iar.com/ftp/pub/box/EWARM-CD-8321-18631.exe

IAR 8.32.2版本
http://files.iar.com/ftp/pub/box/EWARM-CD-8322-19423.exe

IAR 8.32.3版本
http://files.iar.com/ftp/pub/box/EWARM-CD-8323-20228.exe

IAR8.32.4版本
http://files.iar.com/ftp/pub/box/EWARM-CD-8324-20889.exe

IAR 8.40.1版本
http://files.iar.com/ftp/pub/box/EWARM-CD-8401-21539.exe


http://www.ppmy.cn/news/62906.html

相关文章

4. Mysql索引优化实战一

一条SQL在MySQL中是如何执行的 1. 示例表举一个大家不容易理解的综合例子 本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。 本节课内容: 索引下推优化详解Mysql优化器索引选择探究索引优化Order…

61.网页设计规则#7_元素之间的空白

为什么需要空白? 适度的空白使设计看起来整洁、现代和精致。空白传达不同片段信息之间的关系。空白意味着布局元素之间存在看不见的关系。 如何去使用空白? 各部分之间使用大量的空白; 元素组之间使用大量的空白。 在各个元素之间使用空白…

【Leetcode -405.数字转换为十六进制数 - 409.最长回文串】

Leetcode Leetcode -405.数字转换为十六进制数Leetcode - 409.最长回文串 Leetcode -405.数字转换为十六进制数 题目:给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。 注意 : 十六进制中所有…

cmake编译

cmake_minimum_required (VERSION 2.8)project (demo)##第一个是生成后的名称, 后面包含所有源文件 add_executable(main main.c testFunc.c)##cmake提供了一个命令可以把指定目录下所有的源文件存储在一个变量中 aux_source_directory(. SRC_LIST) ##将当前位置的…

OpenHarmony送显流程分析

OpenHarmony送显流程分析 引言 本文档主要记录OpenHarmony在渲染完成之后如何进行合成和送显流程的。这个过程牵涉的代码很多,而且流程也是比较繁琐的。所以我一定要坚持下来。千万不能半途而废,也不要想着一口气吃出一个胖子,路漫漫其修远兮…

JAVA基础:Scanner类中next(), nextLine(), hasNext(), hasNextLine()

一、next() : 只读缓冲区中空格之前的数据,并且光标指向本行。二、nextLine() : 读取除回车以外的所有符号(整行内容),光标定位在下一行三、hasNext() :检查下一个标记(token),也就是以空格、制表符或换行符为分隔符的…

前端基于uniapp[uniPush]实现APP消息推送(安卓、IOS)

前提概述:此文章都是基于uniapp中uniPush2实现的在线、离线推送 app消息推送流程 登录开发者中心先填写好项目信息以及配置厂商在manifest.json文件中勾选推送模块在前端项目中创建云函数(此云函数的作用是接受后台发送的消息模板,解析出来…

Java知识点学习(第18天)

redis主从复制的核心原理 通过执行slaveof命令或设置slaveof选项,让一个服务器去复制另一个服务器的数据。主数据库可以进行读写操作,当写操作导致数据变化时会自动将数据时会自动将数据同步给从数据库。而从数据库一般是只读的,并接受主数据…