1.首先是按照环境的搭建,蓝牙协议和外设功能用到的是keil5和nRFgo Studio(贼不好用,用来进行协议的下载)开发工具,52832用的协议是S132的蓝牙协议,关于蓝牙mesh的开发在nordic官网上面找到一个关于蓝牙点灯的程序,打开这个程序用的开发环境是(Embedded_studio这个开发环境集成了协议的,Embedded_Studio使用在老版本的基础上安装新版本在一个目录下这样就可以使用JLINK下载。)。这里还要考虑不同的协议支持不同版本的程序,谨记

这里可能在使用软件的时候会被识别出JLINK是盗版的,需要你更新驱动,一旦你更新了驱动,jilink会被识别出是盗版的出现闪退,这里推荐使用我之前发布一篇文章参考更新驱动。https://mp.csdn.net/postedit/82381417  文章链接。

2.首先是关于蓝牙mesh的理论的大致的讲解(熟悉时间不是很长,所以暂时到这个地步)第一蓝牙mesh有四种特性第一种中继节点(也就是将接收到消息进行传送给匹配的节点,可以设置中继的次数),第二种代理节点(可以将不是组网外的设备添加到组网中来,再添加设备时要考虑到两种密钥一种是公共密钥一种是私有密钥。手机之类的都可以作为代理节点。);第三种好友节点(好友节点和低功耗节点相辅相成的,低功耗节点要考虑到功耗的原因并不会一直工作,好友节点主要用来代替低功耗节点接收的消息);4.低功耗节点主要用在传感器采集和开关打开物理层设备的控制中(低功耗节点会定时对好友节点进行扫描来获取好友节点代替接收到的消息)

关于蓝牙mesh系统架构 由下而上依次是蓝牙低功耗(只是提供基础无线通信功能所必须的)-从承载层(承载层定义了网络PDU 如何由给定的通信系统进行处理)开始-网络层-底层传输层-上层传输层-访问层-基础模型-模型。

3.关于52832蓝牙通讯协议

蓝牙最基本的配置文件(Profile)为:GAP(Generic Access Profile)(通用访问配置文件),服务发现应用配置文件(SDAP)

蓝牙profile框架(每个attribute属性被UUID唯一表示) 包括(1)特征(characteristics)包含一个单独的value和0-n个用来描述特征的descriptor。可以理解为特征是一个类,而描述符只是类中的一个。(2)描述符(descriptor)是被定义的attributes,这里自己理解是(描述符就是子服务的UUID标识符)。(3)服务 (这里说明一下比如串口作为一个主服务,而RX和TX在这就是特征characteristic)

蓝牙设备可以包括多个profile,一个profile中有多个service,一个service中有多个characteristic,一个characteristic包括一个value和多个descriptor(描述符)

关于UUID的讲解:私有任务的UUID 可以通过软件生成私有服务ID   私有任务使用BLE_UUID_TYPE_VENDOR_BEGIN 这个函数来定义UUID类型;公有任务UUID 使用的是蓝牙联盟公用的UUID使用#define BLE_UUID_BLE_ASSIGN(instance, value) do {\ instance.type = BLE_UUID_TYPE_BLE; \instance.uuid = value;} while(0)  来定义UUID类型

关于如何在从机中建立通知服务:例如按键的通知服务

在按键服务中添加char_md.char_props.notify = 1; 将其添加到协议中   在于主机交互式  主机会发给从机一个通知使能的命令,通知使能后,从机按键按下,主机就能收到响应命令。

关于如何在从机中建立多个服务:例如在串口中添加按键服务。

首先在服务中添加这个服务的API函数,其次是数据结构体声明包括回调函数和服务句柄等,设置子服务UUID,特征值和描述符,添加处理协议栈事件()当写入描述符或特征值就发生此事件(事件指的是SERVICES_init中的函数句柄例如串口用的是nus_data_handler再来执行命令。这里用到协议栈的派发函数ble_evt_dispatch)就是将任务分配给不同的函数执行)  在想主机发送消息时用的是sd_ble_gatts_hvx函数来发送消息。

关于青风蓝牙NRD52832开发经验(一)相关推荐

  1. 蓝牙开发板青风NRF52840上手第一步避坑

    最近买了一块蓝牙开发板青风nrf52840,上手第一步就是想要烧录一下官方的外设例程,选择一个外设例程,以DeviceDownload\nRF5_SDK_17.1.0_ddde560\nRF5_SDK ...

  2. 青风nrf51822开发板学习记录

    青风开发板上LED引脚/LED端口定义 #define LED_START      18 #define LED_0          18 #define LED_1          19 #d ...

  3. nrf51822学习之BLE400与青风开发板调试RADIO模块

    SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机.32位ARM Cortex-M0处理器.128kB Flash存储器.以及丰富的数字接口.SYD8801片上集成了 ...

  4. 用三年都不会卡,Reno5系列恋恋青风,这方面体验确实顶

    近日,OPPO 上架了一款 Reno5 系列全新配色--「恋恋青风」,这款新配色一上市便引发了众多网友的热情关注,该 Reno5 新配色不仅延续了时尚轻薄的设计,还配备了超级闪充和优秀的视频拍照,下面 ...

  5. 青风nrf52832跑zephyr——点亮LED

    zephyr版本:1.10 硬件:采用青风nrf52832开发板 开发环境:虚拟机Ubuntu16.04编译+Windows7 64bit烧录 使用的是 zephyr-zephyr-v1.10.0/s ...

  6. 小米有品上新:青萍蓝牙温湿度计 电子墨水屏

    3月13日,小米有品上新--青萍蓝牙温湿度计,冷暖干湿一览分明,并已接入米家,售价99元. 其采用电子墨水屏,对环境光线要求很低,无论阳光明媚还是华灯初上,都能为您提供纸张股舒适的查看体验, 视角宽广 ...

  7. 蓝牙MESH网关_简评小体积的青萍蓝牙网关

    体积小巧的青萍蓝牙网关简评 虽然米家智能设备里边带了蓝牙网关的也不少,但是,为了一个蓝牙网关而去购买自己并不是必须的智能设备,总有一点多花了冤枉钱的感觉,青萍推出的这款小巧可人的蓝牙网关,解决了这部分 ...

  8. 青风和大家一起学Stellaris系列ARM——五.看门狗的使用

    在实际的MCU应用系统中,由于常常会受到来自外界的某些干扰,有可能(对规范的设计概率极小)造成程序的跑飞而陷入死循环,从而导致整个系统的陷入停滞状态并且不会自动恢复到可控的工作状态.所以出于对MCU运 ...

  9. 01-iOS蓝牙开发简介

    蓝牙开发简介 1.1-iOS蓝牙实现方案 iOS中提供了4个框架用于实现蓝牙连接 1.<GameKit.framework>:用法非常简单 只能用于iOS设备之间的连接,多用于蓝牙对战的游 ...

最新文章

  1. 常用的Meta标签写法和作用
  2. iis 程序池设置及详解-20180720
  3. 图文并茂,傻瓜都能看懂的 JVM 内存布局
  4. 关于SAP Router连接不稳定的改良
  5. Boring data structure problem 模拟-双端队列
  6. 贪心/动态规划 - 摆动序列
  7. ubuntu下面的SecureCRT破解失败问题+本地ubuntu系统远程连接RHEL服务器的免密码登录问题(自己归纳总结)
  8. JSONObject,JSONArray,对象,数组互相转化
  9. 芋道 spring security oauth2 入门_Spring官方宣布:新的Spring OAuth2.0授权服务器已经来了
  10. 8能达到go速度吗 php_相同逻辑的php与golang代码效率对比,最好语言落谁家…
  11. Python学习-将list列表写入文件并读取方法汇总
  12. ubuntu pycharm mysql_ubuntu安装mysql pycharm sublime
  13. 神剧《切尔诺贝利》引发的技术思考:如何避免下一次核灾难?
  14. python线程池如何使用
  15. 内定抽奖小程序_excel怎么制作抽奖小程序?
  16. 书评:《深入浅出数据分析》
  17. 全球首个航天大模型问世,文心秒补《富春山居图》,这是百度普惠AI的恒心...
  18. 如何用计算机tan角度换算,tan角度换算(tan值求角度计算器)
  19. 软工个人随笔3 罗骏 201521123121
  20. 惠普m154a状态页_惠普m154a感叹号闪烁

热门文章

  1. NLP自然语言处理入门学习笔记(一)
  2. 微信授权(三)微信调用摄像头和相机
  3. Redis 脱坑指南
  4. 远光软件2020年报: 创新效能持续释放,营收利润稳健增长
  5. Multisim 软件学习(1)
  6. EMLOG采集插件 最新资源采集 一键显示资源1.1
  7. 软件测试用例白盒测试,软件测试-白盒测试用例练习题
  8. OKCC呼叫中心实现“最佳”排班的五项基础
  9. 学习笔记(04):自然语言处理Word2Vec视频学习教程-使用Gensim库构造词向量
  10. 机器学习(九) K-Means(K-均值)聚类算法介绍