需求背景

在进行BLE模块调试时,我们通常配置nrf connect APP作为蓝牙客户端,扫描蓝牙开发板的广播,进行连接。
然而当进行蓝牙主从通信实验时,为了调试主机端程序,如果手上只有一块开发板,就需要将蓝牙开发板配置为客户端,将手机上的nrf connect APP配置为服务端
建议使用安卓系统上的nrf connect,功能较全。

创建ADVERTISER

  1. 进入nrf connect,选择ADVERTISER页面,点击右下角的加号,添加advertising data和scan response data。
  2. 在scan response data中添加16 bit service uuid:0xFFF0(主机通过UUID过滤策略自动连接从机)

添加LED SERVICE

  1. 点击nrf connect左上角菜单选项,选择configure GATT server
  2. 点击最上面的白色小三角,在弹出列表中选择第一个加号,添加服务,设置服务名为LED
  3. 在LED中点击ADD SERVICE,name处填LED,软件会自动弹出nordic led button service,可选择该名称,UUID会自动填写,然后可将12和13字节替换为自己实验中服务的16bit UUID,我的时FFF0
  4. 点击刚才的服务,ADD CHARACTERISTIC,添加开关灯的属性,name为switch,UUID为base id + FFF1,properties为read和write,permissions为read和write,initial value为0x01010101

连接测试

  1. 打开蓝牙开发板,为主机模式
  2. nrf connect上点击ADVERTISER页面,将上面设置的广播右边的开关切换为打开
  3. 主从机连接后,主机RTT VIEWER打印发现服务成功
  4. nrf connect连接页面上默认为CLIENT,点击旁边的SERVER,可以看到刚才创建的服务,同时可以看到服务FFF0属性FFF1的默认值为0x01-01-01-01
  5. 通过按键控制蓝牙主机端给从机端发送消息,可以看到nrf connect服务属性的值在进行相应的变化
备注
  1. 实验参考 谷雨物联 的 21 write/read属性服务实验
  2. 以上的图片批注待之后补上

【BLE】nrf connect配置为服务端进行蓝牙主从通信实验相关推荐

  1. frpc客户端 linux安装,centos配置frp服务端,与客户端

    选择下载frp版本 选择linux_amd64.tar.gz 当前教程最新版为:v0.30.0wget https://github.com/fatedier/frp/releases/downloa ...

  2. linux7.3启动iscsi服务,RHEL7 配置iscsi服务端并实现客户端自动开机挂载

    环境:server 172.25.0.11 --iscsi server iqn:iqn.2016-02.com.example:server0 client 172.25.0.10 --iscsi ...

  3. 最新华为交换机配置ssh服务端配置案例

    最新华为交换机配置ssh服务端配置案例 # aaa local-user dcrmyy password irreversible-cipher Huawei@123local-user dcrmyy ...

  4. 华为路由器配置NTP服务端和客户端

    华为路由器配置NTP服务端和客户端 基础配置 R1: <Huawei>sys-view #进入系统配置模式 Enter system view, return user view with ...

  5. apollo 配置中心 支持php,apollo配置中心服务端部署

    apollo配置中心服务端部署 木某人 • 2020 年 05 月 07 日 Apollo服务端安装部署 apollo-configservice:提供配置获取接口,提供配置更新推送接口,接口服务对象 ...

  6. SpringBoot(23) 集成socket.io服务端和客户端实现通信

    一.前言 websocket和socket.io区别? websocket 一种让客户端和服务器之间能进行双向实时通信的技术 使用时,虽然主流浏览器都已经支持,但仍然可能有不兼容的情况 适合用于cli ...

  7. Java中利用socket实现简单的服务端与客户端的通信(中级)——实现任意双向通信

    本文计划采用socket实现客户端和服务端的任意双向通信,即客户端可以随时给服务端发消息,服务端也可以随时给客户端发消息,最终结果就是一个类似与QQ的聊天软件的功能. 以下代码可以直接拷贝到Eclip ...

  8. Java中利用socket实现简单的服务端与客户端的通信(基础级)

    在上一篇文章中,简单的介绍了java中入门级的socket编程,简单的实现了客户端像服务器端发送数据,服务器端将数据接收并显示在控制台,没有涉及多线程.上一篇文章的链接:Java中利用socket实现 ...

  9. 使用WebSocket实现服务端和客户端的通信

    开发中经常会有这样的使用场景.如某个用户在一个数据上做了xx操作, 与该数据相关的用户在线上的话,需要实时接收到一条信息. 这种可以使用WebSocket来实现. 另外,对于消息,可以定义一个类进行固 ...

最新文章

  1. mybatis映射器${}和#{}的区别
  2. javascript等待异步线程完成_前端:什么是单线程,同步,异步?彻底弄懂 JavaScript 执行机制...
  3. Linux cpuidle framework
  4. LeetCode 1700. 无法吃午餐的学生数量(队列模拟 / 不模拟)
  5. 使用PagedDataSource类实现DataList和Repeater控件的分页显示
  6. Qt 该文件不能在当前页码(936)中表示字符
  7. 《Python算法教程》——2.4 请提防黑盒子
  8. phpstudy探针文件
  9. 【第十届泰迪杯B题电力负荷预测代码】
  10. 线性代数之行列式(1) ——行列式的定义以及二阶行列式
  11. NYOJ 62 笨小熊
  12. Python3使用代理爬取某网文献摘要(完整源码)
  13. 【javascript】实现模板生成大量数据
  14. ale.js 对比其他框架
  15. 在Ubuntu中出现权限不够和找不到文件的解决方法
  16. 计算机视觉的顶会顶刊
  17. Java 读取word文件的页数
  18. 数据仓库 python_python新手如何通过即时转换彻底改变收藏的数据仓库
  19. dll和exe的区别
  20. 深度学习装机、系统、环境配置指南--预算15000

热门文章

  1. Leetcode 316
  2. Vue路由守卫(导航守卫)及使用场景
  3. springboot使用arthas-spring-boot-starter引入arthas方案
  4. [开源]圆形FOC无刷驱动Baize_foc
  5. 7代cpu能装虚拟xp系统吗_VMWare 虚拟机使用技巧(2)
  6. 华清远见重庆中心—JS阶段技术总结/个人总结
  7. 【Leetcode047】有效的字母异位词
  8. tar.gz和tgz的区别
  9. bzoj4668: 冷战
  10. 分享ps颜色偏黄照片的修正原理和思路