涂鸦Wi-Fi和BLE SoC开发幻彩灯带

引言随着物联网应用技术的发展,人们的生活融入着越来越多网络化、数字化的行为方式。物联网应用技术的一个重要分支便是智能家居,这一分支对于改善人们的生活水平至关重要。近些年来,消费者对家居的舒适性、便捷性有了一定的要求。针对现阶段己有的智能家居系统成本高、功耗大、集成度低等缺陷,分析并选取合适的平台、传感器和无线组网方式,设计了一款成本低、功耗低、集成度高的智能家居系统,该系统具有较好的应用和参考价值。 本系统采用涂鸦智能涂鸦模组二次开发版本,综合涂鸦wi-fi&ble通信组网技术,以及传感器的应用技术,实现家居环境的智能联网,下图为涂鸦智能的wi-fi&ble soc nano主控板(bk7231n)。
涂鸦模组二次开发产品本章节介绍涂鸦模组二次开发方案项目流程,涂鸦iot平台为客户提供一站式物联网解决方案,涵盖设备智能化、云服务、app 软件开发、运营维护等各方面,助力各行业客户实现研发端、生产端、销售端、运营端全产业互联网化。 当您确定好产品需求后,需要将产品具体化到iot平台上,便于您管理产品并拥有产品运营能力。
产品开发流程涂鸦模组二次开发方案开发周期短、成本低,您在iot工作台上配置完成后,模块即会携带完整的控制程序,免去外置mcu及繁琐的程序开发,助您快速实现产品智能化,创建项目,标准类目选择“照明”,选择“幻彩灯带”。
选择开发方案,根据下图指示选择“自定义方案”,这里我们是对涂鸦模组进行二次开发,所以选择“自定义方案”。
按照自己将要开发的产品和模组填写产品名称,选择对应的通信协议,配置完成后点击“创建产品”。 这里准备使用cbu模组开发一个可以幻彩灯带的产品。cbu模组是一款wi-fi&bluetooth le双模模组,选择的通信协议是“wifi-蓝牙”。
根据产品想要实现的功能,选择对应的功能点,选择完成后点击“确认”。 如果有些你需要的功能点在标准功能点里面没有,可以在标准功能点选择完成后,自定义你需要的功能点。(标准功能点可以在公版面板上很好的显示和操作。如果选择了自定义功能点,可能无法在面板上显示和操作)。
在设备交互中选择自己喜欢的app界面,也可以自己进行定义。
点击“硬件开发”,选择“tuyaos”,选择“cbu wi-fi&bluetooth 模组”(如果你使用的是其他模组,选择对应的模组即可)。
箭头①指向的“新增自定义固件”是指上传你已经开发好的产品固件(如何开发将会在后面的内容进行讲解)。 点击箭头②指向的“ty_iot_light_app_sdk_bk7231n”下载该模组的sdk。
应用场景涂鸦三明治 wi-fi&ble soc nano主控板(bk7231n)采用上海博通开发的高性价比的 wi-fi &ble 双模芯片 bk7231n。开发板包含 wi-fi 芯片bk7231n、按键、led 指示灯、 i/o 接口、电源和usb转串口芯片等。 i/o 口及各接口功能定义如下所示:
1:microusb(cn1) :即是 5v dc 输入口,也扩展了 2 个串口功能。 2:拨码开关(s1): 拨码切到 on 方向导通,通断 usb 转串口芯片的双串口和芯片串口之间的链路。 3: 指示灯(d3):3.3v 电源指示灯。 4:按键(s2):通过 p9 检测,初始化高电平,按下为低电平。 5:指示灯(d2):通过 p16 控制,低电平点亮。 6:按键(rst):复位按键,按下后芯片复位。
原理图及pcb涂鸦三明治 wi-fi&ble soc nano 主控板(bk7231n)的原理图如下所示:
涂鸦三明治 wi-fi&ble soc nano 主控板(bk7231n) 的 pcb 如下图,顶层:
底层:
wi-fi&ble soc nano主控板(bk7231n)接口说明涂鸦三明治 wi-fi&ble nano 主控板(bk7231n)内置 usb 转串口芯片,单路 usb 口可扩展出 2 个串口。可通过拨码开关(s1)切换模组的两路串口是否连接到 usb 转串口芯片上。拨码开关引脚说明如下表所示。
拨码切到 on 方向导通,通断 usb 转串口芯片的双串口和芯片串口之间的链路。 芯片 uart 引脚用于与mcu通信或普通 i/o 口使用时,需将相应的拨码位置拨到断开的位置,即数字字母方向。 电脑 com 口与 usb 芯片串口和芯片 bk7231n 对应关系。
通常情况下a是用来下载程序用的,b是用来打印日志的
烧录授权接线方式
将拨码开关(s2)的 1、2 路都拨至 on 方向,bk7231n 的串口 uart1 与上位机链路导通。 注意:若出现“获取rf标志位失败”的情况,可在授权阶段,将串口2的rxd引脚(p01引脚)和gnd短接。
环境搭建环境搭建请参考涂鸦智能配置说明: https://developer.tuya.com/cn/docs/iot/module-sdk-development_tutorial?id=kauqptzv5yo8a
从涂鸦 iot 开发平台下载 sdk 进行验证在涂鸦iot 开发平台上成功创建自定义开发的产品后,在硬件开发中选择 tuyaos,即可下载该模组的 sdk。**此前需联系涂鸦工作人员开通白名单授权,联系方式放在文末。
**
将下载好的 sdk 复制到 windows 和 ubuntu 的共享文件夹中,在 ubuntu 虚拟机中输入下列命令进行编译:
cd /home/share/samba/tar -xzvf *.tar.gz #注意:该命令会将当前目录下所有后缀名为.tar.gz的文件进行解压,建议将*.tar.gz改为你实际要解压的文件的完整名字cd ty_iot_light_app_sdk_bk7231n_0.1.1sh build_app.sh ./apps/xh0623_demo_pixel_light_ty xh0623_demo_pixel_light_ty 1.0.0执行成功如下所示:
模组二次开发流程启动流程介绍在开始开发前,需要了解 sdk 的初始化流程。这里需要重点关注四个函数pre_app_init()、pre_device_init()、app_init()和device_init()。启动流程如下图所示。
修改代码产品pid定义可以根据下面的提示填写产品的 pid 信息,也可以不对代码进行任何更改,跳过该步骤直接进入下一步编译生成固件。 将apps下的include/light_system目录下的light_system.h中的product_key修改为您创建得到的 pid,firmware_key是固件key,可以填null。
灯珠数量定义在/home/share/samba/ty_iot_light_app_sdk_bk7231n_0.1.1/app/xh0623_demo_pixel_light_ty/include/src/light_system/light_init.c中可以进行修改。
灯带长度定义在/home/share/samba/ty_iot_light_app_sdk_bk7231n_0.1.1/app/xh0623_demo_pixel_light_ty/include/src/light_upload/light_upload.c中可以进行修改,其中dpid_led_num是灯珠数量,dpid_led_length是灯带长度,单位为厘米。
编译和生成产物介绍在 ubuntu 终端中将路径切换到有 build_app.sh 的路径下,输入下列命令进行编译。 例:我这里处于home/share/samba/ty_iot_light_app_sdk_bk7231n_0.1.1路径下,开始执行下列命令。
sh build_app.sh ./apps/xh0623_demo_pixel_light_ty xh0623_demo_pixel_light_ty 1.0.0命令含义
sh build_app.sh 命令执行 build_app.sh 脚本。
./apps/tuya_demo_light_pwm 编译的工程所在的路径。
tuya_demo_light_pwm 固件名称,固件标识名,必须要和工程文件夹名称一致。
1.0.0 软件版本号。
执行后如下所示。
生成产物编译完成后,将生成的固件按照不同版本放在所编译的工程目录 output 文件夹内。 例:如果我们编译的是 apps 文件夹中的 xh0623_demo_pixel_light_ty工程,编译版本为1.0.0,那么生成的固件将会放在 apps/xh0623_demo_pixel_light_ty/output/1.0.0 中。
编译后的产物如上图所示,这里主要关注的xh0623_demo_pixel_light_ty_qio_1.0.0.bin、xh0623_demo_pixel_light_ty_ua_1.0.0.bin和xh0623_demo_pixel_light_ty_ug_1.0.0.bin这三个文件。
文件名功能
xh_bk7231n_light1_io_xx_qio_1.0.0.bin 生产区固件:boot+用户区固件+检测固件。
xh_bk7231n_light1_io_xx_ua_1.0.0.bin 用户区固件
xh_bk7231n_light1_io_xx_ug_1.0.0.bin 升级固件
上传固件自定义开发固件如果不上传到云平台,直接将 ua 文件烧录到已授权的模组中,会导致配网一直无法成功。 进入涂鸦 iot 平台,在开发的产品中找到“硬件开发”,按照下图指示点击“新增自定义固件”,填写相关固件信息。 “固件标识名”必须和您编译时的 apps 下的工程文件夹的名称一致。 如果固件标识名填写为 wifi_one_light,上传的固件应为 sdk 包中 apps 目录下的 wifi_one_light 文件夹中编译所生成的固件。 “flash 大小”为 16mbit 也就是 2m 大小。不同模组的 flash 大小可以在涂鸦文档中心 中查看相关模组的 flash 大小。 1byte(字节) = 8bit(位)。 16mbit / 8 = 2m。 相关信息填写完成后(没有被②的框框圈到使用默认设置即可),点击“上传固件”,进入“上传固件“步骤。
“固件版本”需要和编译时输入的版本号对应一致。“生产固件”上传包含 qio 的 bin 文件,“用户区”上传包含 ua的bin 文件,“升级固件”上传包含 ug 的 bin 文件。运行模式选择 qio。点击保存。 注意:该顺序不一定固定,在后续固件管理中就不是按照“生产固件”,“用户区固件”和“升级固件”的顺序来排序,所以一定要看清楚是什么类型的固件在进行上传。
点击“进行固件上架”。
选择“不限范围”,点击“确认上架”。 注意:这里选择不限范围是为了方便个人开发。如果是公司将要量产的产品,请严格限定固件的使用范围。
烧录授权通过涂鸦 iot 开发平台涂鸦模组二次开发方案成功生成固件,或使用自定义开发方案生成固件并上传到涂鸦 iot 开发平台后,下一步需要对模组进行烧录授权。 本文将详细讲解 3 种不同的烧录授权方式: 自定义开发烧录授权:适用于发布阶段,使用自定义开发方式创建的产品。 三明治开发板方式烧录授权:仅适用于涂鸦三明治开发板的烧录授权。 使用原厂工具烧录:适用于开发阶段。方案的特点是授权一次,重复烧录。
烧录准备工作烧录授权所需工具如下:
pms 账号cbu nano开发板或涂鸦wifi模组+usb转uart串口工具云模组烧录授权工具原厂烧录工具pms 账号pms账号申请网址:
https://pms.tuya.com/login
pms是涂鸦智慧生产管理系统,一个轻量化的生产管理系统,助力中小微生产企业实现降本、提质、增效和减存,完成数字化转型。 登录涂鸦pms系统。登录成功后,依次点击知识库管理->软件下载->生产解决方案开始下载「生产解决方案」。
安装过程中,程序安装的位置可以根据自身需求进行设置,建议不要有中文路径,避免出现一些意想不到的问题。 安装完成后,启动「生产解决方案」,登录的账号和密码与涂鸦pms系统(涂鸦智造)的账号和密码一样。 由于是开发cbu wi-fi & bluetooth 模组,故选择生产测试->云模组即可。
选择文件->设置,进行烧录设置,授权波特率最好设置在9600。
授权设置点击产品->三明治开发板->绑定开发板进行绑定。
一般情况下,开发板背部都有一张标签,上面附带了id和密码。
点击申请新的授权码,即可选择需要添加的产品。
使用云模组烧录授权平台烧录设置完毕之后将授权码输入到生产凭证中,选择烧录模式。
点击运行,在对开发板进行复位就可以进行下载。
原厂工具烧录ua文件使用该方法只能烧录应用区固件,无法给模组进行授权操作。可以使用该方法给已经授权过的模组进行烧录,避免每次更新代码生成固件后都要上传到涂鸦lot平台使用「云模组烧录授权平台」工具进行烧录授权。 下降链接如下:
https://images.tuyacn.com/smart/shiliu_zone/soc_develop/tools/bk_writer_gui_v1.6.3.rar
使用此方法只能烧录应用区固件,无法给模组进行授权操作。可以使用该方法给已经授权过的模组进行烧录,避免每次更新代码生成固件后都要上传到涂鸦 iot 开发平台使用云模组工具进行烧录授权。 按照下图步骤,在箭头 ① 所指向的烧录对象中,根据实际烧录的模组选择对应的芯片型号,可在文档中心查看相关模组规格书,确认模组使用的芯片型号。 单击箭头 ② 指向的浏览按钮,选择成功编译生成的包含了 ua 字样的 bin 文件(该文件就是应用区固件,这里选择的固件就是wifi_one_light)。 在箭头 ③ 和箭头 ④ 指向的起始地址中填入0x00011000,操作长度中填入0x00119000。 在箭头 ⑤ 指向的位置选择正确的烧录串口,将箭头 ⑥ 指向的通讯波特率调整为最高,可以加快烧录速度。 单击箭头 ⑦ 指向的烧录,给模组通断电或复位模组使模组重启,开始烧录。烧录完成后,更改后的代码就成功烧录到模组中。你可以不再使用云模组工具对该模组再次进行授权操作。 烧录设置如下所示。
烧录完成如下所示。
涂鸦app可以在涂鸦手机app中对模组进行添加。 一般情况下可以自动识别出来。
若没有识别,点击照明,灯带进行添加。
若app无法搜索到模组,需要对模组进行重置,查看原理图可以知道p9管脚对应用户按键。
查看/home/share/samba/ty_iot_light_app_sdk_bk7231n_0.1.1/app/xh0623_demo_pixel_light_ty/include/src/light_button/light_button_init.c下有个按键配置代码,可以看到对按键点击4次可以进入复位模式。
幻彩灯带功能介绍涂抹功能用户可以根据自己的喜好给灯带进行设置,配置为自己喜欢的颜色组合,例如配置为蓝绿红。
实际配置如下所示。
还有丰富的色卡组合。
场景设置用户可以根据自己的喜好定义场景。
例如设置为海上焰火,效果如下所示。
音乐律动音乐律动分为本地模式和app模式,在本地模式下有摇滚、爵士、古典、滚动、能量、频频。 以爵士为例,设置之后可以选择灵敏度来改变灯带频率。
实际演示如下所示。
在app模式下,灯光根据手机麦克风采集到的音乐随之律动。 如设置为音乐律动,显示如下所示。
其他功能用户可以给幻彩灯带进行设置,指定打开时间。 同时也可以定义灯带的长度。


太阳能4G无线灌溉控制器,助力智慧灌溉,节水增产
单片机IO配置不同速度有啥区别?
华为将进一步发布全堆栈的AI战略和解决方案
“小铭”来啦!铭普光磁IP形象正式亮相!
噪音来源于PCB设计/电路振荡/磁元件三方面
涂鸦Wi-Fi和BLE SoC开发幻彩灯带
分享一款红外耳机发射电路
东芝推出适用于半导体测试设备中高频信号开关的小型光继电器-降低插入损耗,改善高频信号传输特性-
如何使用运放当做比较器 有哪些注意事项
研究人员利用英特尔的神经形态芯片Loihi,开发出了一种人造皮肤
聚合物电池的特点_聚合物电池的性能作用
无人机如何保我们平安
无纸化会议系统满足现代会议的需求
高精度传感器信号变送器 | 灵活应对各种电信号需求
自制家庭水能源发电机
iphone8什么时候上市?iphone8最新消息:iphone8出货量预计为一亿台,其中8000万台在中国销售
三星发布集成多个高科技的新型数字座舱
手持农业气象检测仪的性能及技术参数
手机电脑成功的意义和战略价值
差压流量计的常见问题及解决方法