实现功能:
l APP控制月球灯
l 本地月球灯控制
l APP控制大白颜色,实现各种颜色的转换
l 门状态传感器状态APP显示
l 连接服务器长亮的网络状态指示灯断开后闪烁
l 配网按键
l 云定时功能
l 云报警提示功能
l 查看云历史数据
l 远程升级介绍
一、界面显示
二、 涂鸦开发概述
零代码开发
提供可视化功能配置界面,无需任何编程经验,只需在线配置产品功能,自动生成固件
MCU SDK开发
在MCU开发代码,通过串口和涂鸦模块通信,与平台通信
模组SDK开发
开发人员使用涂鸦提供的涂鸦SDK二次开发模块,灵活性强,节约成本
三、硬件选择
Wi-Fi&BLE SoC NANO主控板(BK7231N)
l 1:MICROUSB(CN1) :即是 5V DC 也扩展了输入口 2 串口功能。
l 2:拨码开关(S1): 拨码切到 ON 方向导通,通断 USB 双串口与芯片串口之间的链路。
l 3: 指示灯(D3):3.3V 电源指示灯。
l 4:按键(S2):通过 P9 检测,初始化高电平,按低电平。
l 5:指示灯(D2):通过 P16 控制,低电平点亮。
l 6:按键(RST):按下复位按钮后,芯片复位。
原理图:
两个串口:
其中
l A可作为程序下载使用
l B它通常用于打印日志
参考:
Wi-Fi&BLE SoC NANO主控板(BK7231N)-涂鸦开发者
对标模块为:
l 内置低功耗 32 位 CPU,可兼作应用处理器
l 主频达 120MHz
l 工作电压:3.0V~3.6V
l 内置2Mbyte 闪存和 256 KB RAM
l 外设:5×PWM,2×UART,1×SPI
l Wi-Fi 连通性
n 802.11 b/g/n
n 通道1-14@2.4GHz
n 支持WEP,WPA/WPA2,WPA/WPA2 PSK (AES) 安全模式
n 802.11b模式下最大 16dBm的输出功率
n 支持STA/AP/STA AP工作模式
n 支持SmartConfig和AP两种配网方式(包括Android和IOS设备)
n 板载PCB天线,天线峰值增长2.2dBi
n 工作温度:-40℃ to 105℃
l 蓝牙连通性
n 蓝牙模式支持6 dBm 发射功率
n 蓝牙共存接口完整
n 板载PCB天线,天线峰值增长2.2dBi
CBU 模块规格-文档中心-涂鸦开发者
四、创建产品(模块)SDK开发)
- 选择品类
- 开发方法的选择是自定义方案
- 配置功能点(DP点)
- 推荐制作界面Studio面板制作
- 点击硬件开发选型TuyaOS选择支持模块SDK开发的模组
- 下载模组的SDK并获取授权代码
五、构建编程环境
Ubuntu构建虚拟机环境
SoC 建设二次开发环境(Windows)-涂鸦开发者
安装编译工具
sudo apt-get update sudo apt-get upgrade -y sudo apt-get install net-tools build-essential wget git python libc6-i386
共享文件夹
共享Linux可以实现文件夹Windows中编程,在Linux中编译
Samba安装
sudo apt-get install samba cifs-utils samba-common
用户目录(/home/dong/)创建共享文件夹,给文件夹可读可写可执行权限
mkdir share chmod 777 -R share
修改samba配置
sudo gedit /etc/samba/smb.conf
在文件最后面添加配置信息
[share] path = /home/dong/share available = yes browseable = yes public = no writable = yes
设置共享文件夹登录帐户
sudo smbpasswd -a dong
重启服务
sudo service smbd restart
Windows操作
查询Linux IP ,使用以下访问方式
六、SDK使用和编程
下载刚刚创建产品的模块SDK
复制到Linux共享目录下,通过命令解压
tar -zxvf b1daf5huhq0w.tar.gz
l apps文件夹:用于存储示例工程和后续创建的工程放置
l platforms文件夹:用于存储模块的原厂库和工具将在编译过程中使用build_app.sh下载>
l sdk文件夹:涂鸦模组SDK的头文件和库文件
l build_app.sh:编译脚本
官方例程:
git clone https://github.com/Tuya-Community/bk7231n_light1_io_xx.git
文档:快速入门-文档中心-涂鸦开发者
在有build_app.sh文件下编译:
指令格式:
sh build_app.sh ./apps/工程名目录名/ 工程名(工程名目录名) 版本号
示例:
sh build_app.sh ./apps/bk7231n_light1_io_dxd/ bk7231n_light1_io_dxd 1.5
编译成功:
编译成功后在工程目录下会创建“output”文件夹,并且里面有对应的版本
输出
l QIO是生产固件,生产时下载
l UA是用户固件,本地调试用原厂工具烧录时使用
l UG是升级固件
程序介绍:
模组二次开发-文档中心-涂鸦开发者
七、 固件烧录&授权
必须要上传一个固件,然后进行授权烧录一次,如果直接用原厂工具烧录,不上传固件,硬件会始终无法配对
上架前:
上架后:
固件标识名是非常重要的,编译时的“工程名目录名”,这个授权之后就是绑定关系了,后续如果更改,需要云端也下架更改,比较麻烦。原厂工具烧录时也必须同名编译。
每个硬件都要有个独立的授权码,才能正常连接到云平台,就像硬件身份证一样
如果是第一次使用平台,可以获取两个免费的授权码
开发板):
开发板可以通过ID和PASSWD获取一个授权码,这个开发板上一般会有贴纸
这里是烧录也是授权,烧录的固件是上传到云平台的固件
将编译输出的固件上传到产品下,获取激活码(生产凭证)
申请一个PMS账号
https://pms.tuya.com/login
需要将我们的生成凭证在此确认
下载云模组烧录软件进行烧录
https://github.com/TuyaInc/TUYA_PTS_SDK/raw/master/Tools/TYDA_Setup_Online.exe
点击运行即可开始下载,点击后需要手动复位模组
在使用原厂工具烧录前,为了确保APP可以正常控制设备,必须进过一次“云模组”烧录,后续就不需要每次更改后上传云平台,直接下载会更加方便些,烧录的固件是用户固件(UA)
下载原厂工具
https://images.tuyacn.com/smart/shiliu_zone/SOC_Develop/tools/bk_writer_gui_V1.6.3.rar
这是个免安装的软件
- 选择烧录的模组的芯片,创建产品时可以查看到
- 选择烧录的UA文件
- 起始地址
- 地址长度
- 选择烧录串口,烧录波特率可以大一些
- 点击烧录,后要进行手动复位
使用云模组烧录授权平台时,烧录到一半可能会出现这个问题,使用Wi-Fi&BLE SoC NANO主控板时,若出现“获取RF标志位失败”的情况,可在授权阶段,将串口2的RXD引脚(P01引脚)和GND短接。
更多异常解决:
烧录授权-文档中心-涂鸦开发者
八、设计思路
九、个人导航
【B站 | 东小东bili】 东小东bili的个人空间_哔哩哔哩_Bilibili
【博客园 | 东小东 】东小东 - 博客园
【CSDN | 东小东博客】东小东博客_CSDN博客-STM32,物联网项目,物联网杂项领域博主
【微信 | 东小东】dongxiaodongwx