更新时间:2024-11-20 08:51:28下载pdf
本文介绍了涂鸦网关扩展 SDK 接入方案开发的大概流程。有关涂鸦网关方案的详细说明,请参考 涂鸦网关联网 SDK 接入方案。
嵌入式开发环境搭建的方法较多,本文以较流行的 Linux 发行版 Ubuntu18.04_LTS 桌面操作系统为例说明开发常见的一些环境配置,并实现在 Ubuntu 虚拟机上运行一个有线网关设备。
Ubuntu18.04_LTS桌面操作系统的安装,采用实体机或虚拟机的方式,虚拟机管理软件常见有VMware和VirtualBox,具体安装方法可参考 VMware 等官方网站文档。
安装常用依赖库及工具。
$ sudo apt-get install lib32ncurses5 lib32z1 $ sudo apt-get install make-guile gcc g++ gawk vim git
安装了虚拟机软件后,网络连接请配置为 桥接模式。
您可以参考 选品类创建产品 在 涂鸦开发者平台 上创建一个网关产品。本小节以开发一个有线 Zigbee 网关为例来说明您需要注意的事项。
说明:目前涂鸦开发者平台暂不对联网方式做区分,联网方式为有线也可通过上述方式创建网关产品。
在添加功能时,涂鸦开发者平台展示的标准功能是基于涂鸦安防报警网关的。如果您开发的是普通网关,可以不用选择标准功能,只需要根据具体需求选择即可。
在创建产品的 硬件开发 阶段,您需要选择网关的接入方案、选择云模组类型、下载嵌入式 SDK、以及获取设备激活码。
接入方案:支持 网关 MCU 对接 和 网关 SDK 对接,详情请参考 网关联网 SDK 接入方案。
其中,网关 SDK 对接 根据开发者联云芯片平台选择对应工具链和操作系统,生成 SDK 下载链接。无法选择所用的芯片平台时,请 提交工单 说明所需SDK类型、芯片型号、操作系统、上传工具链包,涂鸦运营人员处理上传 SDK。
选择模组:您可以根据网关通讯协议选择多种型号云模组,具体规格可点击查看模组详情,按需选择下单采购。
选择模组后,网关固件选择跟随模组类型,例如 Zigbee 模组的固件串口配置参数为 115200,8,N,1,RTS,CTS
。
产品 PID:创建网关后,与其他产品一样,就会获得一个全局唯一的产品 ID(PID),是网关 SDK 中的PRODUCT_KEY
宏的值,为网关在产品维度的标识,创建产品成功后,由涂鸦开发者平台生成分配。
激活码:创建网关后,您就获得了 10 个设备激活码,此激活码作为网关设备连接涂鸦云的凭证,是网关 SDK 中的 UUID
和 AUTHKEY
宏的值,每个设备唯一,供前期开发调试用。
本小节根据您在创建产品时获取到的网关 SDK 演示如何在 Ubuntu 系统上使用该 SDK。
如下为解压后得到的 SDK 产物包目录结构如下所示:
tuya_zigbee_gw_ext_sdk
├── build_app.sh # 编译脚本
├── CHANGE_LOG.md # SDK 版本信息
├── demos
│ ├── demo_gw # Zigbee网关的示例程序
│ ├── demo_misc # Zigbee网关接入非Zigbee子设备的示例程序
│ └── demo_z3 # Zigbee网关接入Zigbee子设备的示例程序
├── Makefile # 编译所有的Makefile
└── sdk
├── include # SDK 的头文件
└── lib # SDK 的库文件
配置交叉编译工具链,修改 Makefile
文件,将交叉编译工具链的路径配置到 COMPILE_PREX
变量。在 Ubuntu 系统中,COMPILE_PREX
默认指向系统的 gcc
编译器,您不用修改 Makefile
文件。
运行 sh build_app.sh demo_gw
编译产生的应用位于 output/demo_gw
目录下。
tuya_zigbee_gw_ext_sdk$ sh build_app.sh demo_gw
......
compile done
设置动态库路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/tuya_zigbee_gw_ext_sdk/sdk/lib
从网关扩展 SDK 接入方案 的架构说明中可以看到,Ubuntu 系统需要通过 USB转串口工具 与涂鸦 Zigbee 模组相连,如下为TYZS4模组连接示意图,其他型号请参考对应模组规格文档。
TYZS4 模组丝印 | USB转串口工具引脚 |
---|---|
3.3V | 3.3V |
GND | GND |
UART_RTS | CTS |
UART_CTS | RTS |
UART_RX | TX |
UART_TX | RX |
电脑一般默认连接到 Windows 主机上,可以在虚拟机管理软件 VMware 右下角图标上选择让其连接到 Ubuntu 虚拟机上。
查看对应串口设备标识符,如下这里为/dev/ttyUSB0
,为普通用户可以访问,将用户添加到dialout
用户组下。
$ ls /dev/ttyUSB* -l
$ sudo usermod -aG dialout user_name
$ cat /etc/group |grep 'dialout'
修改 UUID/AUTHKEY/PRODUCT_KEY
三个宏定义。
获取设备网卡名称 & 串口设备标识符,修改如下代码
编译运行 Demo 代码。
tuya_zigbee_gw_ext_sdk$ sh build_app.sh demo_gw
......
compile done
tuya_zigbee_gw_ext_sdk$ ./output/demo_gw/user_iot
[01-01 18:12:15 TUYA Info][kv_storge.c:43] Init Kvs With File:./
[01-01 18:12:15 TUYA Err][online_log_serv.c:280] log stats ufread fail.
[01-01 18:12:15 TUYA Debug][gw_internal_api.c:273] BASE SDK INFO: < TUYA IoT SDK V:4.1.5 BS:30.05_PT:2.2_LAN:3.3_CAD:1.0.2_CD:1.0.0 >
< BUILD AT:2020_03_06_10_25_02 BY luowl FOR zigbee_gw_ext_sdk_prj AT linux-ubuntu-6.2.0_64Bit >
IoT DEFS < WIFI_GW:0 DEBUG:0 KV_FILE:1 SHUTDOWN_MODE:1 LITTLE_END:1 TLS_MODE:4 ENABLE_LOCAL_LINKAGE:1 ENABLE_CLOUD_OPERATION:1 ENABLE_SUBDEVICE:1 ENABLE_ENGINEER_TO_NORMAL:0 OPERATING_SYSTEM:100 ENABLE_SYS_RPC:0 TY_SECURITY_CHIP:0 RELIABLE_TRANSFER:1 ENABLE_LAN_ENCRYPTION:1 ENABLE_SIGMESH:0 >
<TUYA GW SDK V:2.0.0 >
GW SDK DEFS < WIFI_CONTROL_SUPPORT:0 >
, GW SDK VERSION: 1.0.0
......
确保手机连接的 Wi-Fi 保持和 Ubuntu 虚拟机处于同一个局域网下,注册并登陆涂鸦智能APP后
在手机上下载涂鸦智能 App。
打开涂鸦智能 App,在右上角单击 + 添加设备,切换到 自动发现 界面开始搜索网关设备。
点击 下一步 开始网关设备配网添加。
调试常用工具链接:
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈