一、SDK 获取

在 涂鸦 IoT 平台 上完成了产品创建。探后在【硬件开发】页面选择好云模组WBR3后,即可在下载资料中找到对应的 SDK,点击【下载】

得到相应压缩包 ty_iot_household_electrical_appliances_sdk_rtl8720cf_ameba_2.3.0 就是本芯片相对应SDK,
在 README.md 中有相对应简介说明,SDK 目录结构说明以及使用说明等。

注意:压缩包需要在ubuntu上解压,否则很容易出现文件链接错误

二、安装 VirtualBox 虚拟机

第 1 步:软件下载

  1. 进入VirtualBox 官网,单击红色框中 Windows hosts 的链接开始下载 VirtualBox 安装包。
  1. 进入Ubuntu 官网,下载 Ubuntu 系统镜像。这里下载的是 Ubuntu 20.04 (推荐使用 Ubuntu 18 及以上版本)作为开发编译环境

    第 2 步:安装 VirtualBox

    点击安装包后直接按照 VirtualBox 软件的提示步骤即可安装完成。
  2. 双击下载好的 VirtualBox 安装包,出现下图界面,单击下一步。
  1. 安装功能和安装位置。安装功能使用默认选项,一般不做改变。安装路径可以按照个人喜好进行设置。设置完成后,单击下一步,继续安装。

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

  1. 单击 下一步,继续安装。
  1. 单击 是,继续安装。
  1. 上述步骤配置完成后,单击 安装 开始安装软件。
  1. 等待 VirtualBox 安装完成后,单击 完成,运行 VirtualBox。

第 3 步:安装Ubuntu虚拟机

  1. VirtualBox 安装完成后,单击新建,开始创建虚拟机。
  1. 名称输入 Ubuntu,下面的类型和版本会自动填充为对应的选项。这里使用的 Ubuntu 镜像为 Ubuntu20.04,所以类型应为Linux,版本应为Ubuntu(64-bit)。单击文件夹,选择其它,将要创建的虚拟机选择到你想要放的位置。
  1. 为新创建的虚拟机分配合适的内存大小。

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

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

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

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

  1. 虚拟机的资源分配完成后,就可以开始为虚拟机安装 Ubuntu 系统了。单击箭头 ① 所指向光驱,选择下载完成的 Ubuntu 镜像,再单击箭头 ③ 所指向的启动按钮。
  1. 安装 Ubuntu 时,建议语言设置为英文。如果设置为中文,在将来可能出现一些意想不到的问题。
  1. 建议设置为最小安装,取消在安装过程中的下载更新,以加快镜像的安装速度。
  1. 选择擦除磁盘并安装 Ubuntu,单击Install Now按钮,开始安装 Ubuntu。
  1. 这一步会弹出将会对磁盘分区进行修改的提示,单击Continue。
  1. 选择时区,默认为上海。可以不用做修改,单击Continue。
  1. 输入用户名和密码,按照自身喜好进行设置就好。

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

  1. 完成上述步骤后,根据界面提示重启电脑。重启后,软件会提示移除镜像安装光驱,此时单击ENTER。等待 VirtualBox 移除镜像安装光驱后,单击虚拟机并按下回车键等待虚拟机配置完成。

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

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

第 4 步: 安装增强工具

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

  1. 在虚拟机界面,单击设备 > 安装增强工具。
  1. 单击Run,开始安装增强功能。
  1. 等待软件提示 Press Return to close this window…,按下回车并重启虚拟机。此时,虚拟机的桌面大小会根据窗口大小,调整分辨率。
  1. 选择 设备 > 共享粘贴板 > 双向 后,就可以在 Windows 上复制内容并在 Ubuntu 虚拟机中进行粘贴或者反向操作。

三、安装编译工具

注意:这里吃过亏,设置配置的编译环境是需要在ubuntu进行,否则会出现文件链接出现错误!因为之前 ESP8266 环境编译太久导致忘记了!环境跟源码是可以分开,在环境搭建好之后可以通过 WIN 共享来放置程序代码!

此时,我们还需要安装一些编译所必备的工具,才可以对涂鸦提供的 SDK 进行编译。
本文以 Samba 工具为例进行介绍。Samba 工具使我们能够在 Windows 下修改工程项目,在 Linux 下对修改后的工程进行编译,使用 Samba 工具提供的文件共享,也可以方便我们进行开发。
为什么不使用 VirtualBox 提供的共享文件夹功能而使用 Samba 工具来共享文件夹呢?因为 Linux 和 Windows 的文件系统是不一样的,如果使用 VirtualBox 上的共享文件夹,当你在 GitHub 上把 SDK 克隆到 VirtualBox 提供的共享文件夹中时,编译的时候可能会出现编译失败的问题。

第 1 步: 修改下载源

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

  1. 打开 Software&Updates。
  1. 单击Download from后的选项框,选择选项框内的Other…选项。
  1. 单击 Select Best Server,软件将自动为你选择最快的下载源。
  1. 等待系统自动选择完成后,单击 Choose Server。
  1. 单击 Close 后根据界面提示,再单击 Reload,等待系统刷新缓存完成。
  1. 系统刷新缓存完成后,Ubuntu 的软件下载源成功更改为国内源。

第 2 步:下载编译依赖工具

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

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

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

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

第 3 步: 安装 Samba

使用 Samba 在 Ubuntu 和 windows 之间进行文件共享。

  1. 在安装 Samba 之前,需要设置虚拟机的网络。先关闭虚拟机,然后按照下图中的步骤进行设置。
    (1)选择 设置 > 网络 > 网卡2。
    (2)在 网卡2 中选择 启动网络连接,连接方式选择 仅主机(Host-Only)网络。
    (3)单击 确认 完成设置。

注意:这里我使用的是桥接网卡模式,因为习惯使用这个方式,而且我的虚拟机也没网卡2

  1. 设置完成后打开虚拟机,输入下列命令:
    1
    ifconfig

    这个是查看网卡信息

输入ifconfig 命令后得到电脑的 IP 地址,如下图显示:

  1. 输出下列命令,开始安装 Samba。

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

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

    1
    sudo gedit /etc/samba/smb.conf

    在文件尾部加入下列字段,然后保存退出:

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

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

    1
    sudo service smbd restart
  6. 在 Windows 下,打开我的电脑,根据上面获取到的信息,按照下面图片的格式,将 IP 地址换成你 Ubuntu 虚拟机上的 IP 地址,填写在箭头 ② 的位置。如果忘记了虚拟机的 IP 地址,可以在 Ubuntu 上输入 ifconfig 命令进行查询。

    注意:这里建议修改成主机名字而不是IP地址,因网内路由分配是DNS随机分配IP地址,所以下次可能又要重新输入IP
    例如我的是: yichen-VirtualBox 那么设置连接后为:
    share (yichen-VirtualBox (yichen-VirtualBox server (Samba, Ubuntu)))

  1. 填入用户名和你设置的 Samba 密码。

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

  1. 至此,Samba 已经安装配置成功。

四、编译验证

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

方式一:GitHub 上获取 SDK 进行验证

我在 Github 上找不到 WBR3 类型的 rtl8720cf 芯片,所以使用的是方式二,即开头的下载方式

以 BK7231N 的 SDK 为例进行演示。

  1. 在 Ubuntu 虚拟机下,输入下列命令,获取 bk7231n 的 SDK:
    1
    2
    cd /home/share/samba/
    git clone https://github.com/tuya/tuya-iotos-embeded-sdk-wifi-ble-bk7231n.git
  2. 输入下列命令,开始编译 tuya_demo_template:
    1
    2
    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 进行验证(使用的是本方式)

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

详细步骤,可参考产品创建 内容。

将下载好的 SDK 复制到 Windows 和 Ubuntu 的共享文件夹中,在 Ubuntu 虚拟机中输入下列命令进行编译:

1
2
3
4
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 #输入该命令将会在所需相关资源下载完成后开始编译

说明:本文是收集参考涂鸦官方环境搭建文档,以方便查看


信息链接:

  1. 涂鸦蓝牙SDK开发系列教程——3.环境搭建
  2. 环境搭建(Windows)

=================我是分割线=================

欢迎到公众号来唠嗑: