本章节主要介绍如何搭建涂鸦 Wi-Fi 和 Wi-Fi&Bluetooth LE 系列模组二次开发的编译环境。在 Windows 上使用 VirtualBox 虚拟机软件安装 Ubuntu,通过在 Ubuntu 上安装一些编译所需的工具,就可以在 Ubuntu 上对从 Github 或涂鸦 IoT 平台上获取到的涂鸦 SDK 进行编译了。
观前提醒:阅读完本章节大概需要9分钟,您也可以点击目录具体章节进行跳转。全文对如何搭建SDK模组二次开发环境作了较为详细的讲解,有需求的同学建议收藏。
1.进入VirtualBox 官网,点击红色框中的链接开始下载 VirtualBox 安装包。
2.进入Ubuntu 官网,下载 Ubuntu 系统镜像,这里下载的是 Ubuntu 20.04 作为开发编译环境。
VirtualBox 的安装十分简单,按照 VirtualBox 软件的提示步骤,就可以成功安装了。
1.双击下载好的virtualbox安装包,出现下图界面,点击“下一步”。
2.“安装功能”和“安装位置”。“安装功能”使用默认选项,一般不做改变。安装路径可以按照个人喜好进行设置。设置完成后点击”下一步”,继续安装。
如果你的电脑的C盘空间足够,选择默认目录安装即可。如果电脑C盘空间不太充足或不想安装在C盘,点击①箭头指向的“浏览”按钮对安装目录进行修改,修改完成后点击“下一步”。安装路径在选择时不建议安装路径中包含中文,避免在将来出现一些意想不到的情况。
3.在“自定安装”这一步,使用系统的默认选择即可,不用做任何改变。点击”下一步”,继续安装。
4.这一步骤将会提醒你在 VirtualBox 安装过程中网络可能会中断,点击”是”,继续安装。
5.上述步骤配置完成后,点击“安装”,开始安装软件。
6.等待几分钟后 VirtualBox 便安装完成了。点击“完成”运行 VirtualBox。
3.1 安装虚拟机
1.VirtualBox 安装完成后,点击“新建”,开始创建虚拟机。
2.名称输入Ubuntu,下面的类型和版本会自动填充为对应的选项,这里使用的 Ubuntu 镜像为 Ubuntu20.04,所以类型应为“Linux”,版本应为“Ubuntu(64-bit)”。
点击文件夹选择其它,将要创建的虚拟机选择到你想要放的位置。
3.为新创建的虚拟机分配合适的内存大小。
根据使用的电脑配置情况进行分配,当然分配的内存大一点虚拟机也会相对于流畅一点。我这里使用的电脑内存大小为16GB,在实际分配的时候为它分配4GB(4096MB)的内存大小。后续使用过程中如果有改变的需求,还可以对内存大小再次进行修改。
4.为将要创建的虚拟机分配合适的磁盘大小
根据自身电脑资源情况进行分配,我这里为它分配50G的磁盘大小。分配的磁盘空间大小在安装完成后也是可以修改的。
更改创建的磁盘文件所放置的文件夹,为虚拟机创建的磁盘大小设置为50GB.
5.虚拟机的资源分配完成后,就可以开始为虚拟机安装 Ubuntu 系统了。点击箭头①所指向光驱,选择下载完成的 Ubuntu 镜像,点击箭头③所指向的“启动”按钮。
6.安装 Ubuntu 时,建议这里的选择都设置为英文,避免设置为中文后在将来出现一些意想不到的问题。
7.这里我们设置为最小安装,取消在安装过程中的下载更新,以加快镜像的安装速度。
8.选择擦除磁盘并安装 Ubuntu,点击"Install Now"按钮,开始安装 Ubuntu。
9.这一步会弹出“将会对磁盘分区进行修改”的提示,点击”Continue“。
10.这一步是对时区的选择,默认为上海,可以不用做修改,点击"Continue"。
11.输入用户名和密码,按照自身喜好进行设置就好。
一定要牢记你设置的用户名和密码,在后面会经常需要你输入密码进行认证的。
12.完成以上步骤会提醒你重启电脑,点击重启后提醒你移除镜像安装光驱后,点击ENTER。等待一会发现光驱那里会变为没有盘片,这说明 VirtualBox 已经自动为你移除了光驱,点击一下虚拟机按下回车键“Enter”即可。(如果软件没有自动移除光驱镜像,手动移除后,点击一下虚拟机按下回车键等待虚拟机配置完成)。
13.等待虚拟机开机完成,输入密码,就进入到了 Ubuntu 的桌面,虚拟机的安装就完成。
Ubuntu 安装成功后,为了使我们能够更加方便的使用虚拟机,可以给虚拟机安装增强功能,安装成功后支持共享粘贴板内容、屏幕自动调整分辨率等功能。
1.在虚拟机界面,点击设备->安装增强工具。
2.在点击安装增强功能后,会弹出如下图的界面,点击Run,开始安装增强功能。
3.在增强工具安装完成后,将会提示Press Return to close this window...,按下回车将会关闭该窗口,重启虚拟机。你会发现虚拟机的桌面大小会根据窗口大小对分辨率进行调整。
4.最后依次点击设备->共享粘贴板->双向,就可以在 Windows 上复制后在 Ubuntu 上进行粘贴或者在 Ubuntu 上复制后在 Windows 上进行粘贴。
此时还不能对涂鸦提供的 SDK 进行编译开发,还需要安装一些编译所必备的工具才可以对涂鸦提供的 SDK 进行编译。
为了能更好帮助我们进行开发,建议安装 samba 工具。samba 工具使我们能够在 Windows 下对工程项目进行修改完成后,在 Linux 下对修改后的工程进行编译,使用 samba 工具提供的文件共享可以方便我们进行开发。
为什么不使用 VirtualBox 提供的共享文件夹功能而使用 samba 工具来共享文件夹呢?因为 Linux 和 Windows 的文件系统是不一样的,如果使用 VirtualBox 上的共享文件夹,当你在 GitHub 上把 SDK 克隆到 VirtualBox 提供的共享文件夹中时,编译的时候可能会出现编译失败的问题。
4.1 修改下载源
为了使下载软件的速度更快。在安装软件前,先将下载源修改为国内源,以加快下载软件的速度。
1.打开Software&Updates。
2.点击Download from后的选项框,选择选项框内的Other...选项。
3.点击箭头指向的Select Best Server按钮,将会自动为你选择最快的下载源。
4.等待系统自动选择完成后,点击箭头指向的Choose Server按钮。
5.点击箭头指向的 Close 按钮,将会提醒你只有重新加载后设置才可以使用。点击 Reload 按钮,等待系统刷新缓存完成。
6.系统刷新缓存完成后,Ubuntu 的软件下载源成功更改为国内源。
打开终端后,依次运行以下命令:
打开终端的方式:在虚拟机中右键,点击Open in Terminal就可以打开终端了。
在输入命令后,可能会提醒你输入密码。但是输入密码后终端并没有显示任何字符,不要慌,这是因为ubuntu不会显示用户输入的密码,所以正常输入密码后回车就可以了。
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 在 Ubuntu 和 windows 之间进行文件共享。
1.在安装 samba 之前我们需要对虚拟机的网络进行一些设置。先关闭虚拟机,然后按照下图中的步骤进行设置。依次点击设置->网络->网卡2,在网卡2中选择 启动网络连接,连接方式选择
仅主机(Host-Only)网络,点击确认完成设置。
2.设置完成后打开虚拟机,输入下列命令:
ifconfig
输入ifconfig
命令后得到电脑的IP地址,如下图显示:
3.输出下列命令,开始安装 samba :
sudo apt-get update
sudo apt-get install samba cifs-utils samba-common
4.samba安装完成后,我们需要创建 ubuntu 和 Windows 可以互相访问的共享目录,并将共享目录的权限设置为可读可写可执行,依次执行下列命令:
sudo mkdir -p /home/share/samba
sudo chmod 777 -R /home/share/samba
5.输入下列命令,然后对 samba 的配置进行修改:
sudo gedit /etc/samba/smb.conf
在文件尾部加入下列字段,然后保存退出:
[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 密码。
建议勾选“记住我的凭证”,避免每次打开共享文件夹都要填写账号密码。
10.至此,samba 已经安装配置成功。
通过上面的步骤,已经将虚拟机基本设置完成,但为了验证我们对虚拟机的设置是否成功,我们需要获取到涂鸦的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开发
,即可下载该模组的 SDK。
详细步骤可参考02.涂鸦 IoT 平台中的产品创建内容。
我们将下载好的 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 #输入该命令将会在所需相关资源下载完成后开始编译
戳我:更多物联网干货在这里!