一、搭建环境
1.1 官方资料
TuyaOS
1.2 安装VMware
官网下载:https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0
百度网盘:https://pan.baidu.com/s/1oN7H81GV0g6cD9zsydg6vg 提取码:mrn9
阿里云盘:https://www.aliyundrive.com/s/bLRLG49hSJq
1.3 安装Ubuntu
官网下载:https://ubuntu.com/download/desktop
阿里云镜像:http://mirrors.aliyun.com/ubuntu-releases/
百度网盘:https://pan.baidu.com/s/1LzE–l-5k7PLQWhIp-ktBw 提取码:347p
1.3.1 设置网络
在 VMware Workstation 中,点击虚拟机
>>设置
然后在网络适配器中,改成NET 模式
,点击确定
确保网络连接正常,可以在终端ping一下百度
1.4 安装Visual Studio Code
官网下载:https://code.visualstudio.com
百度网盘:https://pan.baidu.com/s/1R62HT0PVmVzMwOXtCmIQwA 提取码:g9fb
1.4.1 SSH免密钥设置
Linux 开启 SSH 服务器
- 检查SSH是否已安装。
dpkg -l | grep ssh
如果输出中包含"openssh-server"或"ssh"等关键词,表示SSH已安装。如果没有安装,您可以使用以下命令安装SSH:
sudo apt-get install openssh-server
- 启动SSH服务
一旦SSH安装完成,您可以使用以下命令启动SSH服务:
sudo service ssh start
Windows 10/11 默认安装了 SSH 客户端
Windows 主机,可以使用 PowerShell 进行如下设置。
- 假定虚拟机的用户名为:vscode
- 虚拟机的 IP 地址为:192.168.56.105
- 生成 SSH Key。
ssh-keygen -t rsa -b 4096
- 填写虚拟机的用户名及密码(IP 地址和用户名,根据自己的情况做更改)。
$USER_AT_HOST="vscode@192.168.56.105"
3.指明要上传的公钥所在位置。
$PUBKEYPATH="$HOME\.ssh\id_rsa.pub"
- 传到并设置,需要输入服务器用户密码。
$pubKey=(Get-Content "$PUBKEYPATH" | Out-String); ssh "$USER_AT_HOST" "mkdir -p ~/.ssh && chmod 700 ~/.ssh && echo '${pubKey}' >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
1.4.2 安装Remote SSH插件
-
在插件市场选择并安装 Remote SSH 插件。
-
设置并连接 SSH,示例中的 IP 地址为 192.168.56.105。
1.5 安装Tuya Wind IDE
-
启动 Visual Studio Code 后,参考下图流程在插件市场搜索并安装 Tuya Wind IDE。
-
按下图箭头顺序所示,打开 Tuya Wind IDE 登录页面,登录的账号和密码为 涂鸦 IoT 开发平台 的账号和密码。
1.6 下载开发框架
登录后,选择 主页
> 新建开发框架
。
下载对应的 TuyaOS 开发框架。并且在对应的开发环境下使用。单击 完成
,可下载开发包。
二、编译
2.1 创建应用
展开左侧 software/TuyaOS/apps
目录,并在右键单击 apps
目录后选择 Create Project。
2.2 编译应用
-
展开左侧
software/TuyaOS/apps/xxx
目录,并在右键单击xxx
目录后选择 Build Project。如果路径选择不正确,会在右下角报错提示。
-
选择 Build Project 后,在跳出的文本框内输入编译固件的版本号(格式为 x.x.x)后,按回车键确认。其中需注意,蓝牙 Mesh 和 Beacon 相关应用版本格式为 x.x,其它应用版本格式为 x.x.x。
-
等待 IDE 终端开始自动下载工具链,下载完成后自动编译生成固件产物并告知固件产物路径。
提示错误要加mt2625gl_前缀,因为对于NM1-GL这个平台来说,必须带mt2625gl_这个前缀,否则编译会失败。但 Build Project 脚本没有帮我们添加,这时我们要手动执行编译脚本build_app.sh
。
右键 build_app.sh
,选择在集成终端打开
执行编译脚本 build_app.sh
,第一个参数“apps/xxx/”表示app所在的路径,“mt2625gl_xxx”表示app名称,第三个参数“1.0.0”表示版本号。
./build_app.sh apps/tuyaos_demo_nb_sample mt2625gl_tuyaos_demo_nb_sample 1.0.0
编译成功:
如果提示错误找不到python命令
查看 解决方法:python: not found问题
编译生成固件产物在 software/TuyaOS/vendor/mtk2625_sdk281/mt2625_os/project/mt2625_evb/apps/tuya_alpha/output/mt2625gl_tuyaos_demo_nb_sample/1.0.0
- mt2625gl_flash_download.cfg:下载配置文件
- mt2625gl_tuyaos_demo_nb_sample_qio_1.0.0.bin:QIO 是生产固件, 其中有 bootloader
- mt2625gl_tuyaos_demo_nb_sample_ug_1.0.0.bin:UG 是全量升级固件
可右键下载全部文件到到Windows中
2.3 清除编译内容
./build_app.sh apps/tuyaos_demo_nb_sample mt2625gl_tuyaos_demo_nb_sample 1.0.0 clean
三、烧录
在 pc/tools
目录中提供了相应芯片的烧写工具。右键下载到Windows中。
解压并打开 FlashTool
。
- 选择COM口,接UART0的串口
- 打开下载配置文件
mt2625gl_flash_download.cfg
,必须跟固件在同一目录下 - 点击Start
- 短按POWER按键开机或RESET按键,开始烧录
烧录完成:
- 串口调试,接UART2的串口
• 由 Leung 写于 2023 年 9 月 2 日
• 参考:Tuya Wind IDE