Page 1 of 1

【分享】TuyaOS 网关开发入门指南

Posted: 2023年 Nov 17日 10:30
by Kyson

本文将介绍如何在 Ubuntu 系统上快速体验 TuyaOS 网关开发框架。

先决条件

获取 SDK

TuayOS 开发框架都发布在 Tuya Wind IDE 上,我们需要通过 Tuya Wind IDE 获取网关开发框架,步骤如下:

  1. 在 Tuya Wind IDE 主页单击 新建开发框架

    • 开发模式选择 TuyaOS SDK 模式

    • 类型开发包选择 网关设备开发包

    • 开发平台选择 Soc/ubuntu/Linux/X86_64

      Image

  2. 选择最新版本,单击 完成 下载开发包。

移植适配

TuyaOS 定义了一套标准化的 TuyaOS Kernel Layer(TKL),旨在屏蔽硬件和系统的差异性,实现跨平台兼容性。TKL 接口的定义和示例实现代码放置在开发环境中,跟随开发环境更新和发布。

本文使用 Ubuntu 平台的网关开发框架,对应的 TKL 接口示例位于 software/TuyaOS/vendor/ubuntu-x64/tuyaos/tuyaos_adapter/src

为了快速体验,我们只需要修改 tkl_wired.c 文件,把宏定义 WIRED_IFNAME 改成您系统的网络接口名称。其他直接使用示例代码,不需要做修改。

编译运行

网关开发框架提供了一些应用示例工程,位于 apps 目录下。本文使用 tuyaos_demo_gw 作为演示,在 IDE 右击 tuyaos_demo_gw,在弹出来的菜单中选择 Build Project 进行编译。

Image

编译成功后,编译产生的可执行程序在 output/tuyaos_demo_gw_<版本号> 目录下,切换到该目录,直接运行即可。

快速体验

网关程序运行后,会使用您在 移植适配 中选择的网络接口发送 UDP 广播,日志会类似这样的打印:

Code: Select all

[01-01 00:00:05 TUYA D][tuya_svc_lan.c:838] udp ip: 192.168.1.20

打开智慧生活 App,通过 自动添加 可以发现并添加网关设备。

tuyaos_demo_gw 应用示例会虚拟一个子设备,在网关面板上单击 添加子设备,就会添加一个开关设备,添加后可以对其进行控制操作。

下一步

  1. 学习更多 TuyaOS 网关开发框架的功能,请参考 能力地图
  2. 深入了解 TuyaOS Kernel Layer(TKL)的接口和实现,以便更好地进行跨平台开发,请参考 移植指南