泰凌微ble mesh蓝牙模组天猫精灵学习之旅③简单入门安信可TB-02开发开发板轻松接入天猫精灵,语音控制冷暖灯so easy!


  • 本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

1、小白也痴迷,如何在 Linux环境搭建编译烧录 安信可TB02,点亮一盏LED灯;
2、如何实现 微信小程序蓝牙控制 Ble Mesh模组 安信可TB02,全部开源!
3、简单入门安信可TB-02开发开发板轻松接入天猫精灵,语音控制冷暖灯so easy!

在这里插入图片描述

前言

    做过云云对接/WiFi直连,同时玩熟了阿里云物联网平台,天猫精灵iot平台,接触过最早期的aliosThings接入,今天,终于到ble mesh接入了的学习了!

    前几天,阿里巴巴也向广大开发者开源了 天猫精灵蓝牙mesh协议,从此可以一键接入天猫精灵生态了!

   Genie BT mesh Stack是一套适用于天猫精灵生态的蓝牙meshSDK;
   Genie BT mesh Stack支持多家芯片厂商方案,包括:telink,MTK,Nordic;
   接入方式协议请移布到天猫精灵iot平台;
   开源地址:https://github.com/alibaba/genie-bt-mesh-stack

前言

    这里必须提及的是:务必要有扎实的C语言基础;目前能开源的Ble Mesh模组寥寥无可,更别说一份详细的代码了,最重要的并非适合小白详细的文档代码注释,因为文档正在形成!

一、 烧录固件

    我们在官网购买的话,TB-02开发板有2种出厂规格,一个是天猫精灵版,还有一个是AT透传版,对其的定义不同是:

AT透传版和天猫精灵版都是采用泰凌芯片的方案,出厂前有所不一样,AT透传版烧录的是 AT透传固件,支持微信小程序 Android/iOS APP控制;
而天猫精灵版是事先烧录好了天猫精灵的固件,但未烧录天猫精灵三元组,用户可自行在自己后台创建三元组并烧录进去使用天猫精灵语音控制,具体的烧录操作请移步到官网查看!

1.1 方式①Linux环境SDK二次编译

     以下SDK代码为安信可GitHub仓库,并通过git拉取;

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

     注意,务必让文件夹有全部权限,否则编译不通过!!

 sudo chmod  777 * -R Telink_SIG_Mesh

     下面编译天猫精灵的程序:

 cd  Telink/Telink_SIG_Mesh/examples/CW_Ali_Mesh
 make all //编译固件
 make flash //烧录固件

     这时候启动还是不能天猫精灵语音控制的,还需要烧录天猫精灵三元组哦!具体的三元组后台建立和获取请参考官方文档:点我

     主要是注意设备属性:开关、 色温 、亮度,模组选择为通用蓝牙模组,非低功耗协议!

入参序号 含义
1 ProductId
2 mac
3 Device Secret
python3 ../../make/Telink_Tools.py -p /dev/ttyUSB0 burn_triad 1345 78da07fa44a7 221746e805ac0e6269bd4d3e55f1145c 

     然后,点击复位按键,三端两长复位操作:前三次复位按键的间隔不能超过2秒,后两次的按键的间隔应该是 3~5 秒内,然后第六次复位,LED会闪烁,这时候设备就是进去了配网状态了!

     这时候,尽情语音控制TB-02开发板吧!支持开关、色温冷暖、亮度调节等功能,暂不支持定时和情景模式功能!


1.2 方式②Windows环境直接烧录三元组

     目前还没做好 Windows环境搭建教程,后续会放出来!

     注意,此方式购买的是 TB-02开发板 天猫精灵 版的规格,也就是已经烧录好了天猫精灵的固件,

     1、获取烧录工具:链接
     2、如果您的板子没有烧录编译好的天猫精灵固件,请下载:下载链接
     3、再烧录三元组如下图 (

在这里插入图片描述

     然后,点击复位按键,三端两长复位操作:快速开关五次,每次上电时间在3S以内,然后第六次复位,LED会闪烁,这时候设备就是进去了配网状态了!

     这时候,尽情语音控制TB-02开发板吧!支持开关、色温冷暖、亮度调节等功能,暂不支持定时和情景模式功能!

二 、其他

  • 下面 附录我的实物截图:

在这里插入图片描述

Q1:以上的连线是怎么样的?

  • 冷色灯珠: GPIO_PB4
  • 暖色灯珠: GPIO_PB5

Q2: 如何将指示灯闪烁改为呼吸渐变效果!

  • /mesh/light.c文件中,修改 proc_led 函数,将指示灯闪烁改为呼吸渐变效果

Q3:设备绑定成功,设备解绑成功以及设备恢复出厂设置的回调函数在哪?
/mesh/light.h文件中,

  • 分别是: LED_EVENT_PROVISION_SUCCESSLED_EVENT_UNBIND_SUCCESS LED_EVENT_FACTORY_SUCCESS 宏定义

Q4:如何修改设备类型,比如插座?七彩灯?

  • /mesh/mesh_config.h文件中,将宏定义LIGHT_TYPE_SEL设为LIGHT_TYPE_CT,灯的类型修改为冷暖灯。

Q5:修改PWM引脚?

  • 这些引脚可在 app/app_config_8258.h 文件中通过宏定义指定,客户可自行查看此文件修改之。默认定义如下:
//---------------  LED / PWM
#define PWM_R       GPIO_PB4		//冷光
#define PWM_G       GPIO_PB5		//暖光
#define PWM_B       GPIO_PWM3B0		//blue
#define PWM_W       GPIO_PWM4B1		//white

Q6:修改恢复出厂设置的上电次数及上电时长

  • 通过修改mesh/factory_reset.c文件中的factory_reset_serials变量可修改上述参数。

默认数据如下,表示上电五次恢复出厂设置,每次上电时间在0-3S

const u8 factory_reset_serials[] = { 0, 3,    0, 3,    0, 3,   0, 3,   0, 3,};

比如若将数据改为如下,则表示上电六次恢复出厂设置,前四次上电时间在0-3S,后两次上电时间在5-20秒

const u8 factory_reset_serials[] = { 0, 3,    0, 3,    0, 3,  5, 20,   5, 20,};

Q7:修改配网成功指示灯闪烁次数?

mesh/light.h中,修改宏定义 LED_EVENT_PROVISION_SUCCESS 可修改配网成功指示灯灯闪次数及频率。

Q8:修改出厂设置指示灯闪烁次数?

mesh/light.h中,修改宏定义 LED_EVENT_FACTORY_SUCCESS 可修改恢复出厂设置后指示灯灯闪次数及频率

另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!

  • 玩转esp8266带你飞、加群QQ群,不喜的朋友勿喷勿加:434878850
  • 个人邮箱:[email protected] 24小时在线,有发必回复!
  • esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
  • esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
  • 关注下面微信公众号二维码,干货多多,第一时间推送!

在这里插入图片描述

发布了165 篇原创文章 · 获赞 920 · 访问量 93万+

猜你喜欢

转载自blog.csdn.net/xh870189248/article/details/104661682