【分享】TuyaOS 网关开发入门指南
本文将介绍如何在 Ubuntu 系统上快速体验 TuyaOS 网关开发框架。
先决条件
- 安装了 Ubuntu 系统。
- 安装了 Visual Studio Code。
- 在 Visual Studio Code 上已安装 Tuya Wind IDE 插件。
- 手机中已安装 智慧生活 App。
获取 SDK
TuayOS 开发框架都发布在 Tuya Wind IDE 上,我们需要通过 Tuya Wind IDE 获取网关开发框架,步骤如下:
在 Tuya Wind IDE 主页单击 新建开发框架。
开发模式选择 TuyaOS SDK 模式。
类型开发包选择 网关设备开发包。
开发平台选择 Soc/ubuntu/Linux/X86_64。
选择最新版本,单击 完成 下载开发包。
移植适配
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 进行编译。
编译成功后,编译产生的可执行程序在 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 应用示例会虚拟一个子设备,在网关面板上单击 添加子设备,就会添加一个开关设备,添加后可以对其进行控制操作。