【TB-02模组专题①】BLE MESH开发环境linux版搭建

1,216 阅读3分钟

前言

什么是蓝牙5.0?

蓝牙5.0是一种蓝牙技术标准,由蓝牙技术联盟在2016年提出。它有以下技术特点:

  • 2倍的传输速度(从1Mbps提升到2Mbps);
  • 4倍的传输距离(300米,但这只是理论值,要知道蓝牙4.2在超过100的距离后信号就已经很微弱了);
  • 8倍广播数据传输量(可同时对多台蓝牙音频设备输出音频信号,从而更容易架设环场音效);
  • 增加导航功能,配合无处不在的Wi-Fi和蓝牙信号可以实现精准度接近1米的室内定位。

什么是蓝牙mesh?

蓝牙Mesh网络是用于建立多对多设备通信的低能耗蓝牙(Bluetooth Low Energy,也称为Bluetooth LE)新的网络拓扑。它允许您创建基于多个设备的大型网络,网络可以包含数十台,数百甚至数千台蓝牙Mesh设备,这些设备之间可以相互进行信息的传递,无疑这样一种应用形态为楼宇自动化,无线传感器网络,资产跟踪和其他解决方案提供

TB-02模组简介

TB-02 模组是有安信可科技基于Telink(泰凌微电子)的TLSR82xx芯片开发的硬件模组,软件方面在泰凌提供的SDK上做了优化,并开发了独有的AT指令集,可提供稳定的数据传输。

TB-02 产品特点:

  • 简单的AT指令,可实现低功耗蓝牙BLE的大部分功能
  • 数据传输稳定,可靠
  • 可通过串口烧录,方便烧录和易于推广(泰凌官方不支持)
  • TB-02可支持到蓝牙5.0,性能相对更高

文章目录

  • 1.Linux系统环境搭建
  • 1.1. 准备
  • 1.2. 获取TC32编译工具链
  • 1.3. 解压到opt文件夹
  • 1.4. 设置环境变量(以解压到/opt为例)
  • 1.5. 测试是否搭建成功
  • 1.6. 获取SDK
  • 1.7. 编译
  • 1.8. 硬件接线
  • 1.9. 烧录固件
  • 1.10. 烧录三元组
  • 1.11. 其他指令操作

1. Linux系统环境搭建

1.1. 准备

工具链不支持32位操作系统,请确保使用的linux系统是64位的。链接:Ubuntu镜像 获取码:ma32

1.2. 获取TC32编译工具链

wget https://shyboy.oss-cn-shenzhen.aliyuncs.com/readonly/tc32_gcc_v2.0.tar.bz2

1.3. 解压到opt文件夹

sudo tar -xvjf tc32_gcc_v2.0.tar.bz2 -C /opt/

1.4. 设置环境变量(以解压到/opt为例)

vim ~/.bashrc
//添加export PATH=$PATH:/opt/tc32/bin
source ~/.bashrc

1.5. 测试是否搭建成功

tc32-elf-gcc -v

如果搭建成功将打印如下信息:

在这里插入图片描述

1.6. 获取SDK

BLE MESH SDK:

git clone https://github.com/Ai-Thinker-Open/Telink_SIG_Mesh.git

基础BLE SDK:

git clone https://github.com/Ai-Thinker-Open/Telink_825X_SDK.git

1.7. 编译

进入examples/8258_mesh工程目录

cd Telink_SIG_Mesh/examples/8258_mesh

执行下列编译指令:

make all

输出类似如下信息说明编译成功

在这里插入图片描述
完整的编译下载打印一个基础BLE SDK的helloworld例子如下:
若出现编译失败的情况,如下图:
在这里插入图片描述
这是权限不够导致的,可如此操作:

sudo chmod 777 * -R Telink_825X_SDK

1.8. 硬件接线

本次使用的硬件为安信可科技推出的TB-02模组(预售期,可前往:安信可科技企业淘宝店)获取。

硬件连接
注:SWS为boot选择引脚,为低电平进入下载模式,为高电平进入运行模式

或者使用开发板直接连接烧录!

1.9. 烧录固件

make flash

1.10. 烧录三元组

python3 ../../make/Telink_Tools.py \
-p /dev/ttyUSB0 burn_triad 1345 78da07fa44a7 221746e805ac0e6269bd4d3e55f1145c  
//执行该指令需要linux系统安装python3.0以上版本

1.11. 其他指令操作

make erase_fw //擦除固件
make erase_key //擦除Mesh相关数据
make monitor //打开串口监控

本文作者:安信可开源团队-徐宏

转载请留言告知,并标明出处。

  • 技术咨询:support@aithinker.com 有问必回复!
  • 商务咨询:marketing@aithinker.com