蓝牙 Mesh SDK 快速上手 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第二章

简介: 本节重点介绍蓝牙 Mesh SDK 快速上手

上一篇:蓝牙 Mesh 网络及 SDK 概述 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第一章
下一篇:蓝牙 Mesh 标准 Model 开发指南 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第三章

点击免费下载
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》>>>

test

1. 简介

本文介绍如何使用CB6121 开发板进行MESH Light的功能演示。通过本文的指引,开发者可以学会开发环境的搭建、SDK 的编译与烧录、基本调试方法,快速上手 CB6121 的开发。

2. 开发环境搭建

2.1 准备

image.png

2.2 Linux 开发环境搭建

● Linux 环境搭建
Win10 用户,建议前往应用商店下载安装 Ubuntu18.04 LTS;其他用户可自行选择安装 Linux 或者虚拟机。
● 工具链安装

$ tar -jxvf gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz2
 

● 环境变量中添加工具链路径并使其立即生效,其中 toolchain_path 为工具链解压的目录

$ vi ~/.bashrc ... PATH={toolchain_path}/bin:$PATH ... $ source ~/.bashrc
 

● 验证工具链是否安装成功

$ arm-none-eabi-gcc -v ... gcc version 8.2.1 20181213 (release) [gcc-8-branch revision 267074](GNU Tools for Arm Embedded Processors 8-2018-q4-major)

● 安装 make 工具

$ sudo apt-get install make

2.3 仿真器驱动安装

● 双击 JLink_Windows_V620f.exe。
● 点击下一步直到安装完成。
● 打开 JLink GDB Server, 选择 Target Device 为 Cortex-M0。

image.png

image.png

2.4. 开发板准备

CB6121开发板资源介绍
image.png

image.png

3. 编译烧录及调试

3.1 编译

● 例程编译方法
使用 build.sh 脚本编译,命令格式为 ./build.sh < 示例目录 >
[ 多线程数 ]

$ make clean $ ./build.sh defconfigs/defconfig_ch6121_evb_mesh_node applications/ bluetooth/mesh_light_node/ j64

● 编译后固件位于 applications/bluetooth/meshlightnode/generated

$ ll applications/bluetooth/mesh_light_node/generated ...... -rwxrwxrwx 1 xxx xxx 652920 Mar 13 19:03 total_image.hexf* ....

● 编译成功将输出如下图所示信息
image.png

● 各个示例对应配置文件说明

image.png

3.2 镜像烧录

● 打开烧写工具 PhyPlusKit.exe。 ● 勾选UART Setting,选择开发板串口,串口配置为波特率:115200,停止 位:1,校验:NO。 ● 点击 Connect, 连接串口。 ● 选择 Flash_writer 标签页。 ● 选择 HEX 烧入方式标签页。 ● 双击选择applications/bluetooth/meshlightnode/generated/total_image.hexf。
● 下方选择 Single 标签,TYPE 选择 MAC,VALUE 填写 MAC 地址。 ● 将拨码开关拨到 VDD TM 。

image.png

● 按开发板上的 RESET 按键,重启开发板,串口打印 UART RX : cmd>>。 ● 点击 Erase 擦除。 ● 点击 Write 烧写。
● LOG 区域显示烧录过程。

image.png

3.3 GDB 调试

● 打开 JLink GDB Server,连接开发板
● 编辑 Linux 环境中配置 GDB 环境变量并保存后退出 , 其中 2331 为默认端口号

$ cd applications/bluetooth/mesh_light_node $ vi .gdbinit target remote 127.0.0.1:2331

● 运行 GDB,开始调试,调试镜像为 yoc.elf

$ arm-none-eabi-gdb yoc.elf -x .gdbinit

● 若出现无法连接或长时间无响应,请确认
工程目录下是否存在 .gdbinit 文件
JLink GDB Server 是否成功连接开发板
.gdbinit 文件中的 IP 地址是否正确
● 常用 GDB 命令

image.png

4. 例程运行

基于 CB6121 开发板的灯控示例工程
● 连接串口调试工具 , 配置为
波特率 : 115200, 数据位 : 8, 校验位 : None, 停止位 : 1, 流控 : None

image.png

● 开发板拨码开关拨至 GND
● 按 RESET 按键,复位开发板
● MESH Light 启动 Log 如下

[     0.004000][I][init    ]Build:Mar 24 2020,21:52:51 
[     0.017000][I][init    ]find 9 partitions 
Welcome to CLI... 
> [     0.738000][I][DEMO    ]Mesh light node demo

● 关于灯控配网请参考《蓝牙 Mesh 灯控开发指南》

添加班级群

阅读完今日份的文章分享后,别忘了打开钉钉APP,扫描下方训练营班群二维码👇,参与今日课程直播或观看直播回放,群内不定时配备讲师答疑~
学习完课程视频后,我们今天的学习才算正式结束哦~
test

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
13天前
|
监控 开发工具 Android开发
ARMS 用户体验监控正式发布原生鸿蒙应用 SDK
阿里云 ARMS 用户体验监控(RUM)推出了针对原生鸿蒙应用的 SDK。SDK 使用 ArkTS 语言开发,支持页面采集、资源加载采集、异常采集及自定义采集等功能,能够全面监控鸿蒙应用的表现。集成简单,只需几步即可将 SDK 接入项目中,为鸿蒙应用的开发者提供了强有力的支持。
|
4月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
298 1
|
4月前
|
存储 监控 开发工具
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
78 0
|
5月前
|
存储 JSON JavaScript
小程序优化:第三方SDK过大解决方案
小程序开发中,项目目录中存放过大的js包,会被警告影响手机端性能,同时让开发编译启动变得很慢。慢是其次,单是影响性能这一点,就需要解决一下。
|
4月前
|
开发工具 数据安全/隐私保护 Python
【Azure 环境】通过Python SDK收集所有订阅简略信息,例如订阅id 名称, 资源组及组内资源信息等,如何给Python应用赋予相应的权限才能获取到信息呢?
【Azure 环境】通过Python SDK收集所有订阅简略信息,例如订阅id 名称, 资源组及组内资源信息等,如何给Python应用赋予相应的权限才能获取到信息呢?
|
6月前
|
存储 人工智能 Java
2024创建boot时 项目SDK11不支持所选的版本Java21 请选择较低版本的java 解决方案
2024创建boot时 项目SDK11不支持所选的版本Java21 请选择较低版本的java 解决方案
88 2
|
5月前
|
NoSQL 开发工具 数据库
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
|
6月前
|
编解码 运维 Serverless
Serverless 应用引擎产品使用合集之如何使用SDK
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6月前
|
API 开发工具
抖音sdk,抖音开发api接口
抖音sdk,抖音开发api接口
|
6月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之如何使用PHP SDK调用函数并在请求体(body)中传递字符串
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。

热门文章

最新文章

下一篇
DataWorks