快速开始

更新时间:2024-06-06 06:28:05下载pdf

本文详细介绍 TuyaOS 网关开发包的目录结构,以及 THP23-X-D 开发包的编译、配置文件和终端登录过程。

文件介绍

TuyaOS 网关开发包的目录结构如下:

├── hardware                  # 硬件手册,存放涂鸦自研硬件资料
├── pc
│    └── tools                # 工具类目录,存放各种开发相关工具
├── software
│    ├── packages             # SDK 压缩包
│    ├── SDKInformation.json  # SDK 信息文件
│    └── TuyaOS               # SDK 开发包目录
│        ├── apps             # 应用示例代码目录,您可以根据需求修改
│        ├── build
│        ├── docs             # API 文档
│        ├── include          # SDK 头文件
│        ├── libs             # SDK 库文件,您可以按需链接
│        ├── scripts
│        ├── build_app.sh     # 编译脚本
│        ├── CHANGELOG.md
│        ├── LICENSE          # Tuya MIT License
│        ├── Makefile
│        ├── output           # 产物输出目录
│        ├── README.md
│        └── vendor           # 工具链,编译时会自动把工具链下载到该目录下
└── tuya.json

THP23-X-D 开发包的目录结构如下:

├── application_components    # 开源组件
├── application_drivers
├── build                     # 打包到固件的文件
├── build.conf
├── build.sh
├── include                   # 应用头文件
├── libs                      # 应用库文件
├── local.mk
├── Makefile
├── output                    # 输出目录
├── package.json
├── README.md
└── src                       # 应用源文件

编译固件

编译固件的过程如下:

  1. 确保 THP23-X-D 开发包已下载至 TuyaOS/apps 目录。更多信息,参考 获取资料

  2. 在 Visual Studio Code 里,选中开发包目录,右击选择 Build Project

    快速开始
  3. 输入版本号(格式为 x.x.xx 表示任意数字),按回车键开始编译。

    快速开始
  4. 编译过程的输出将在 Visual Studio Code 的 终端 窗口中显示。编译成功后,固件文件将位于 TuyaOS/output/tuyaos_core_board-tuyaos_gw_ssd202d/pack 目录。

    编译生成的固件文件说明:

    文件名 说明
    gateway.tar.gz 应用的压缩包,用于开发调试
    tuyaos_core_board-tuyaos_gw_ssd202d_*_debug 带符号表的应用,用于 GDB 调试
    tuyaos_core_board-tuyaos_gw_ssd202d_fw_PROD_*.tar.gz 全量固件,用于生产。该压缩包里包含三种烧录方式的固件:
    • 空片烧录
    • 串口烧录
    • USB 烧录
    tuyaos_core_board-tuyaos_gw_ssd202d_fw_UG_*.bin OTA 固件,用于 OTA 升级

配置文件

THP23-X-D 应用程序使用的配置文件位于开发包目录下的 build > image > tuya_user1 > config.json。您可以根据实际需求调整配置,例如,修改默认产品 ID。

配置文件字段详细说明如下:

字段 是否必需 说明
pid 设备的产品 ID
user_cfg_file 本配置文件的完整路径,启动脚本会使用该字段
uuid 授权信息,默认从 Flash 读取,在产测阶段写入,读取失败才会使用该字段
authkey 授权信息,默认从 Flash 读取,在产测阶段写入,读取失败才会使用该字段
storage_path 数据的存储路径,需要有读写权限,路径结尾要带 /
log_path 日志的存储路径,需要有读写权限,路径结尾要带 /
cache_path 缓存的存储路径,需要有读写权限,路径结尾要带 /
bin_path 可执行文件的路径
backup_path 备份的存储路径,不设置时与 storage_path 一致
sync_systime 是否同步系统时间
log_level 设置日志打印等级
tuya 服务相关配置
tuya.zigbee Zigbee 服务
tuya.zigbee.dev_name 串口号
tuya.zigbee.cts 是否开启硬件流控。
  • 0:不开启
  • 1:开启
说明:Zigbee 模组均要求开启硬件流控
tuya.zigbee.thread_mode Zigbee Host 的启动方式。
  • 0:以进程方式启动 Zigbee Host
  • 1:以线程方式启动 Zigbee Host
tuya.bt 蓝牙服务
tuya.bt.dev_name 串口号
tuya.bt.enable_hb 是否开启 Bluetooth LE 心跳查询。
  • 0:不开启
  • 1:开启
tuya.bt.scan_timeout Bluetooth LE 的扫描周期,单位是秒
tuya.bt.subdev_type 设置蓝牙支持的子设备类型,支持的类型请参考 BLE_SUBDEV_TYPE_E
tuya.dp_engine DP 引擎服务
tuya.dp_engine.storage_path DP 转换文件的存储路径,需要有读写权限,路径结尾要带 /
tuya.dp_engine.file_max_count DP 转换文件的最大数量
tuya.dp_engine.pidTable_max_count DP 转换文件 pid_table 元素的最大数量
tuya.dp_engine.enable_zigbee_trans DP 引擎是否支持 Zigbee 协议。
  • 0:不支持
  • 1:支持
tuya.dp_engine.enable_matter_trans DP 引擎是否支持 Matter 协议。
  • 0:不支持
  • 1:支持

终端登录

THP23-X-D 开发板使用一机一密的加密方案。在登录之前,您需要先获取登录密码。提交工单 来联系涂鸦客户支撑团队,并提供 THP23-X-D 开发板的 SN 来获取登录密码。

  • 用户名是 root
  • Uboot 模式的登录密码是 tygw@SSD20x,全量固件的默认密码也是 tygw@SSD20x,出厂密码通过工单获取。

串口登录

使用 USB 转 UART 配件,连接 THP23-X-D 开发板的调试串口,确保硬件连接正确,如下表所示:

USB 转 UART 配件 THP23-X-D 开发板
TX RX
RX TX
GND GND

THP23-X-D 开发板的调试串口:

快速开始

使用串口调试工具(例如 PuTTY、SecureCRT 等)连接至开发板,串口波特率是 115200

SSH 登录

SSH 监听的端口是 2333,但是 SSH 默认是关闭的。可以先通过串口登录,然后打开 SSH 功能。

执行以下命令,开启 SSH 功能:

root@SmartGateway:~# nvram set enable_ssh true
root@SmartGateway:~# nvram commit
root@SmartGateway:~# reboot

进程介绍

网关的相关进程如下:

 1100 root      2932 S    /bin/sh ./app_detect.sh ./tyZ3Gw /tmp/tuya /tmp/tuya/config.json
 1106 root      2932 S    /bin/sh ./log_detect.sh /tmp/tuya.log 3
 1114 root      2932 S    /bin/sh ./process_monitor.sh /tmp/tuya /tmp/tuya/config.json
 1121 root      324m S    ./tyZ3Gw /tmp/tuya/tuya_user1 /tmp/tuya/config.json
进程 说明
app_detect.sh 检测主进程的运行状态,主进程异常退出时重新拉起
log_detect.sh 日志备份脚本,当前日志超过 3MB 时压缩备份
process_monitor.sh 主进程软件看门狗
tyZ3Gw 主进程