开发环境

更新时间:2022-11-24 09:20:06下载pdf

TuyaOS Wi-Fi SDK 需要在 Linux 环境下进行编译。本文、主要介绍如何搭建涂鸦 Wi-Fi 和 Wi-Fi&Bluetooth LE 系列模组二次开发的编译环境。在 Windows 上使用 VirtualBox 虚拟机软件安装 Ubuntu,通过在 Ubuntu 上安装一些编译所需的工具,就可以在 Ubuntu 上对从 Github 或涂鸦 IoT 平台上获取到的涂鸦 SDK 进行编译了。

软件下载

  1. 进入VirtualBox官网,单击红色框中的链接开始下载 VirtualBox 安装包。

    开发环境

  2. 进入Ubuntu官网,下载 Ubuntu 系统镜像,这里下载的是 Ubuntu 20.04 作为开发编译环境。

    开发环境

虚拟机软件VirtualBox安装

VirtualBox 的安装十分简单,按照 VirtualBox 软件的提示步骤,就可以成功安装了。

  1. 双击下载好的 VirtualBox 安装包,出现下图界面,单击“下一步”。

    开发环境

  2. 自定安装。
    安装功能可以使用默认选项,一般不做改变。安装路径可以按照个人喜好进行设置。设置完成后单击“下一步”,继续安装。

    如果你的电脑的C盘空间足够,选择默认目录安装即可。如果电脑C盘空间不太充足或不想安装在C盘,单击①箭头指向的“浏览”按钮对安装目录进行修改,修改完成后单击“下一步”。安装路径在选择时不建议安装路径中包含中文,避免在将来出现一些意想不到的情况。

    开发环境

  3. 单击 下一步,继续安装。

    开发环境

  4. 单击 ,继续安装。

    开发环境

  5. 上述步骤配置完成后,单击 安装 开始安装软件。

    开发环境

  6. 等待 VirtualBox 安装完成后,单击 完成 运行 VirtualBox。

    开发环境

安装虚拟机

安装虚拟机

  1. VirtualBox 安装完成后,单击“新建”,开始创建虚拟机。

    开发环境

  2. 名称中输入Ubuntu,下面的类型和版本会自动填充为对应的选项。本文使用的 Ubuntu 镜像为 Ubuntu20.04,所以类型应为“Linux”,版本应为“Ubuntu(64-bit)”。

    开发环境

  3. 单击文件夹选择其它,将要创建的虚拟机选择到你想要放的位置。

  4. 为新创建的虚拟机分配合适的内存大小。

    根据使用的电脑配置情况进行分配,当然分配的内存大一点虚拟机也会相对于流畅一点。我这里使用的电脑内存大小为16GB,在实际分配的时候为它分配4GB(4096MB)的内存大小。后续使用过程中如果有改变的需求,还可以对内存大小再次进行修改。

    开发环境

  5. 为将要创建的虚拟机分配合适的磁盘大小。

    根据自身电脑资源情况进行分配,我这里为它分配50G的磁盘大小。分配的磁盘空间大小在安装完成后也是可以修改的。

    开发环境

    开发环境

    开发环境

    更改创建的磁盘文件所放置的文件夹,为虚拟机创建的磁盘大小设置为50GB.

    开发环境

  6. 虚拟机的资源分配完成后,就可以开始为虚拟机安装 Ubuntu 系统了。单击箭头①所指向光驱,选择下载完成的 Ubuntu 镜像,单击箭头③所指向的“启动”按钮。

    开发环境

  7. 安装 Ubuntu 时,建议这里的选择都设置为英文,避免设置为中文后在将来出现一些意想不到的问题。

    开发环境

    开发环境

  8. 这里我们设置为最小安装,取消在安装过程中的下载更新,以加快镜像的安装速度。

    开发环境

  9. 选择擦除磁盘并安装 Ubuntu,单击 Install Now,开始安装 Ubuntu。

    开发环境

  10. 窗口弹出“将会对磁盘分区进行修改”的提示后,单击 Continue

    开发环境

  11. 选择时区,单击 Continue

    开发环境

  12. 输入用户名和密码,按照自身喜好进行设置就好。

    此处设置的用户名和密码在后续步骤中将会多次用于认证操作。

    开发环境

  13. 完成上述步骤后,根据界面提示重启电脑。

  14. 重启后,软件会提示移除镜像安装光驱,此时单击ENTER

  15. 等待 VirtualBox 移除镜像安装光驱后,单击虚拟机并按下回车键等待虚拟机配置完成。

    如果软件没有自动移除光驱镜像,您可以在进行手动移除。

    开发环境

  16. 等待虚拟机开机完成后,输入密码即可进入 Ubuntu 的桌面虚拟机。

安装增强工具

Ubuntu 安装成功后,为了能够更加方便地使用虚拟机,可以给虚拟机安装增强功能。安装成功后虚拟机支持共享粘贴板内容、屏幕自动调整分辨率等功能。

  1. 在虚拟机界面,选择 设备 > 安装增强工具

    开发环境

  2. 单击Run,开始安装增强功能。

    开发环境

  3. 等待软件提示 Press Return to close this window...,按下回车并重启虚拟机。
    此时虚拟机的桌面大小会根据窗口大小对分辨率进行调整。

    开发环境

  4. 选择 设备 > 共享粘贴板 > 双向 后,就可以在 Windows 上复制内容并在 Ubuntu 虚拟机中进行粘贴或者反向操作。

    开发环境

安装编译工具

此时,我们还需要安装一些编译所必备的工具才可以对涂鸦提供的 SDK 进行编译。

本文以 samba 工具为例进行介绍。samba 工具使我们能够在 Windows 下对工程项目进行修改完成后,在 Linux 下对修改后的工程进行编译,使用 samba 工具提供的文件共享也可以方便我们进行开发。

为什么不使用 VirtualBox 提供的共享文件夹功能而使用 samba 工具来共享文件夹呢?因为 Linux 和 Windows 的文件系统是不一样的,如果使用 VirtualBox 上的共享文件夹,当你在 GitHub 上把 SDK 克隆到 VirtualBox 提供的共享文件夹中时,编译的时候可能会出现编译失败的问题。

修改下载源

为了使下载软件的速度更快。在安装软件前,先将下载源修改为国内源,以加快下载软件的速度。

  1. 打开 Software&Updates

    开发环境

  2. 单击Download from后的选项框,选择选项框内的Other...选项。

    开发环境

  3. 单击 Select Best Server,软件将会自动为你选择最快的下载源。

    开发环境

  4. 等待系统自动选择完成后,单击 Choose Server

    开发环境

  5. 单击 Close 后根据界面提示,再单击 Reload,等待系统刷新缓存完成。

    开发环境

    开发环境

  6. 系统刷新缓存完成后,Ubuntu 的软件下载源成功更改为国内源。

下载编译依赖工具

在虚拟机中进行右键单击操作并选择 Open in Terminal 来打开终端,再依次运行以下命令:

在输入命令后,可能会提醒你输入密码。

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install net-tools build-essential wget git python libc6-i386

至此编译所需要的工具都已下载完成,可以在 Ubuntu 下编译涂鸦的 SDK 了。

安装 samba

安装以使用 samba 在 Ubuntu 和 windows 之间进行文件共享。

前置操作

在安装 samba 之前我们需要对虚拟机的网络进行一些设置。

  1. 先关闭虚拟机。

  2. 然后按照下图中的步骤进行设置。

    1. 选择 设置 > 网络 > 网卡2
    2. 网卡2 中选择 启动网络连接,连接方式选择 仅主机(Host-Only)网络
    3. 单击 确认 完成设置。

    开发环境

安装过程

  1. 设置完成后,打开虚拟机并输入下列命令:
ifconfig
  1. 输入ifconfig命令后得到电脑的IP地址,如下图显示:

    开发环境

  2. 输出下列命令,开始安装 samba :

    sudo apt-get update
    sudo apt-get install samba cifs-utils samba-common
    
  3. 在 samba 安装完成后,我们需要创建 Ubuntu 和 Windows 可以互相访问的共享目录,并将共享目录的权限设置为可读可写可执行,依次执行下列命令:

    sudo mkdir -p /home/share/samba
    sudo chmod 777 -R /home/share/samba
    
  4. 输入下列命令,然后对 samba 的配置进行修改:

    sudo gedit /etc/samba/smb.conf
    
  5. 在文件尾部加入下列字段,然后保存并退出。

    [share] 
    path = /home/share/samba 
    available = yes 
    browseable = yes 
    public = no
    writable = yes
    
    开发环境
  6. 输入下列命令,添加指定用户至 smb 用户组,然后按照提醒设置你 samba 的密码:

    sudo smbpasswd -a xxxx #(xxxx 为当前登录用户名,我这里xxxx就应该是y)
    
  7. 输入下列命令,重启 samba:

    sudo service smbd restart
    
  8. 在 Windows 操作系统中,打开我的电脑,根据上面获取到的信息,按照下面图片的格式,将IP地址换成你 Ubuntu 虚拟机上的 IP 地址,填写在箭头②的位置:

    如果不记得了你虚拟机的 IP 地址可以在 Ubuntu 上输入ifconfig命令进行查询。

    开发环境

  9. 填入用户名和你设置的 samba 密码。

    建议勾选“记住我的凭证”,避免每次打开共享文件夹都要填写账号密码。

    开发环境

至此,samba 已经安装配置成功。

编译验证

通过上面的步骤,已经将虚拟机基本设置完成,但为了验证我们对虚拟机的设置是否成功,我们需要获取到涂鸦的SDK 进行编译以验证我们已成功安装与编译相关的工具。
获取涂鸦 SDK 的方法包括从涂鸦的 GitHub 仓库拉取,和从涂鸦 IoT 开发平台下载两种方式,在下面的两种方式中选择一种进行编译验证即可。

GitHub上获取SDK进行验证

以 BK7231N 的 SDK 为例进行演示。

  1. 在 Ubuntu 虚拟机下,输入下列命令,获取 bk7231n 的 SDK:

    cd /home/share/samba/
    git clone https://github.com/tuya/tuya-iotos-embeded-sdk-wifi-ble-bk7231n.git
    
  2. 输入下列命令,开始编译 tuya_demo_template

    cd tuya-iotos-embeded-sdk-wifi-ble-bk7231n/
    sh build_app.sh apps/tuya_demo_template/ tuya_demo_template 1.0.0 #该编译命令将会在下一部分进行介绍
    
  3. 编译成功则说明上述操作均已成功完成,编译成功如下图所示:

    开发环境

涂鸦IoT平台下载SDK进行验证

  1. 涂鸦 IoT 开发平台 上成功创建自定义开发的产品后,在硬件开发步骤中选择 TuyaOS,即可下载该模组的 SDK。

    详细步骤可参考 硬件开发设置

开发环境

  1. 将下载好的 SDK 复制到 Windows 和 Ubuntu 的共享文件夹中,在Ubuntu虚拟机中输入下列命令进行编译:
cd /home/share/samba/
tar -xzvf *.tar.gz 	#注意:该命令会将当前目录下所有后缀名为.tar.gz的文件进行解压,建议将*.tar.gz改为你实际要解压的文件的完整名字
cd ty_iot_sdk_bk7231n_2.3.1
sh build_app.sh apps/tuya_demo_template/ tuya_demo_template 1.0.0 #输入该命令将会在所需相关资源下载完成后开始编译