摘要
涂鸦IoTOS embedded SDK是涂鸦 IoTOS 的重要组成部分,通过良好的设计,为客户提供了统一的开发接口,丰富的开发套件以及自助化定制功能,屏蔽了物联网行业的碎片化特征,可以应用于工业物联网、车联网、安防监控、户外出行、智能家居等行业的物联网应用开发。
涂鸦IoTOS embedded SDK具有以下特点:
- 弹性裁剪
涂鸦IoTOS embedded SDK提供了丰富的开发套件,涵盖了物联网操作系统内核、通用物联网功能、不同领域的物联网技术栈,开发者可以根据自己的产品的需求进行选择对应的解决方案,有能力的开发者,可以在线按需进行深度的定制。
- 跨平台
涂鸦IoTOS embedded SDK设计层面支持了跨硬件平台、操作系统的特性,可以在任意的硬件芯片和系统上进行移植,极大的提高了开发者的开发效率。
- 安全隐
涂鸦IoTOS embedded SDK提供了安全数据存储、安全网络通信、身份验证、安全启动、安全升级等特性,并严格遵守全球各地的安全、隐私政策,有效的保障产品的安全、隐私特性。
- 丰富生态
涂鸦智能和各大芯片原厂进行了密切的合作,导入了100+款供开发者选择,同时所有使用涂鸦IoTOS 开发的产品都能够进行互联互通,场景联动,Powered by Tuya已经形成了完整的物联网产业生态。
环境安装
涂鸦SDK需要安装linux开发环境,本文在Windows上安装Ubuntu系统,在Ubuntu上安装一些开发和编译所必须的工具,然后通过编译获取到的SDK中已有demo对环境搭建是否成功进行验证。
如果小伙伴电脑上已经有了ubuntu或者其他环境,可以跳过下面章节,跳到应用部分。
软件下载
本次讲解的是使用VirtualBOX安装虚拟机,当然也可以使用VMWARE。
进入VirtualBox 官网,点击红色框中的链接开始下载 VirtualBox 安装包
进入Ubuntu 官网,下载 Ubuntu 系统镜像,这里下载的是 Ubuntu 20.04 或者其他版本作为开发编译环境
虚拟机安装
VirtualBox安装
VirtualBox 的安装十分简单,按照 VirtualBox 软件的提示步骤,就可以成功安装了。
- 双击下载好的virtualbox安装包,出现下图界面,点击“下一步”。
- “安装功能”和“安装位置”。“安装功能”使用默认选项,一般不做改变。安装路径可以按照个人喜好进行设置。设置完成后点击”下一步”,继续安装。
如果你的电脑的C盘空间足够,选择默认目录安装即可。如果电脑C盘空间不太充足或不想安装在C盘,点击①箭头指向的“浏览”按钮对安装目录进行修改,修改完成后点击“下一步”。安装路径在选择时不建议安装路径中包含中文,避免在将来出现一些意想不到的情况。
- 在“自定安装”这一步,使用系统的默认选择即可,不用做任何改变。点击”下一步”,继续安装。
- 这一步骤将会提醒你在 VirtualBox 安装过程中网络可能会中断,点击”是”,继续安装。
- 上述步骤配置完成后,点击“安装”,开始安装软件。
- 等待几分钟后 VirtualBox 便安装完成了。点击“完成”运行 VirtualBox。
ubantu安装
- VirtualBox 安装完成后,点击“新建”,开始创建虚拟机。
- 名称输入Ubuntu,下面的类型和版本会自动填充为对应的选项,这里使用的 Ubuntu 镜像为 Ubuntu20.04,所以类型应为“Linux”,版本应为“Ubuntu(64-bit)”。
点击文件夹选择其它,将要创建的虚拟机选择到你想要放的位置。
- 为新创建的虚拟机分配合适的内存大小。
注:根据使用的电脑配置情况进行分配,当然分配的内存大一点虚拟机也会相对于流畅一点。我这里使用的电脑内存大小为16GB,在实际分配的时候为它分配4GB(4096MB)的内存大小。后续使用过程中如果有改变的需求,还可以对内存大小再次进行修改。
- 为将要创建的虚拟机分配合适的磁盘大小
注:根据自身电脑资源情况进行分配,我这里为它分配50G的磁盘大小。分配的磁盘空间大小在安装完成后也是可以修改的。
更改创建的磁盘文件所放置的文件夹,为虚拟机创建的磁盘大小设置为50GB.
更改创建的磁盘文件所放置的文件夹,为虚拟机创建的磁盘大小设置为50GB.
- 虚拟机的资源分配完成后,就可以开始为虚拟机安装 Ubuntu 系统了。点击箭头①所指向光驱,选择下载完成的 Ubuntu 镜像,点击箭头③所指向的“启动”按钮。
- 安装 Ubuntu 时,建议这里的选择都设置为英文,避免设置为中文后在将来出现一些意想不到的问题。
- 这里我们设置为最小安装,取消在安装过程中的下载更新,以加快镜像的安装速度。
- 选择擦除磁盘并安装 Ubuntu,点击"Install Now"按钮,开始安装 Ubuntu。
- 这一步会弹出“将会对磁盘分区进行修改”的提示,点击”Continue“。
- 这一步是对时区的选择,默认为上海,可以不用做修改,点击"Continue"。
- 输入用户名和密码,按照自身喜好进行设置就好。
注:一定要牢记你设置的用户名和密码,在后面会经常需要你输入密码进行认证的。
- 完成以上步骤会提醒你重启电脑,点击重启后提醒你移除镜像安装光驱后,点击ENTER。等待一会发现光驱那里会变为没有盘片,这说明 VirtualBox 已经自动为你移除了光驱,点击一下虚拟机按下回车键“Enter”即可。(如果软件没有自动移除光驱镜像,手动移除后,点击一下虚拟机按下回车键等待虚拟机配置完成)。
- 等待虚拟机开机完成,输入密码,就进入到了 Ubuntu 的桌面,虚拟机的安装就完成。
安装增强工具
Ubuntu 安装成功后,为了使我们能够更加方便的使用虚拟机,可以给虚拟机安装增强功能,安装成功后支持共享粘贴板内容、屏幕自动调整分辨率等功能。
- 在虚拟机界面,点击设备->安装增强工具。
- 在点击安装增强功能后,会弹出如下图的界面,点击Run,开始安装增强功能。
- 在增强工具安装完成后,将会提示Press Return to close this window...,按下回车将会关闭该窗口,重启虚拟机。你会发现虚拟机的桌面大小会根据窗口大小对分辨率进行调整。
- 最后依次点击设备->共享粘贴板->双向,就可以在 Windows 上复制后在 Ubuntu 上进行粘贴或者在 Ubuntu 上复制后在 Windows 上进行粘贴。
安装编译工具
此时还不能对涂鸦提供的 SDK 进行编译开发,还需要安装一些编译所必备的工具才可以对涂鸦提供的 SDK 进行编译。
为了能更好帮助我们进行开发,建议安装 samba 工具。samba 工具使我们能够在 Windows 下对工程项目进行修改完成后,在 Linux 下对修改后的工程进行编译,使用 samba 工具提供的文件共享可以方便我们进行开发。
为什么不使用 VirtualBox 提供的共享文件夹功能而使用 samba 工具来共享文件夹呢?因为 Linux 和 Windows 的文件系统是不一样的,如果使用 VirtualBox 上的共享文件夹,当你在 GitHub 上把 SDK 克隆到 VirtualBox 提供的共享文件夹中时,编译的时候可能会出现编译失败的问题
1、修改下载源
为了使下载软件的速度更快。在安装软件前,先将下载源修改为国内源,以加快下载软件的速度。
- 打开Software&Updates。
- 点击Download from后的选项框,选择选项框内的Other...选项。
- 点击箭头指向的Select Best Server按钮,将会自动为你选择最快的下载源。
- 等待系统自动选择完成后,点击箭头指向的Choose Server按钮。
- 点击箭头指向的 Close 按钮,将会提醒你只有重新加载后设置才可以使用。点击 Reload 按钮,等待系统刷新缓存完成。
- 系统刷新缓存完成后,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
使用 samba 在 Ubuntu 和 windows 之间进行文件共享。
- 在安装 samba 之前我们需要对虚拟机的网络进行一些设置。先关闭虚拟机,然后按照下图中的步骤进行设置。依次点击设置->网络->网卡2,在网卡2中选择 启动网络连接,连接方式选择
仅主机(Host-Only)网络,点击确认完成设置。
- 设置完成后打开虚拟机,输入下列命令:
输入ifconfig命令后得到电脑的IP地址,如下图显示:
- 输出下列命令,开始安装 samba :
sudo apt-get update
sudo apt-get install samba cifs-utils samba-common
- samba安装完成后,我们需要创建 ubuntu 和 Windows 可以互相访问的共享目录,并将共享目录的权限设置为可读可写可执行,依次执行下列命令:
sudo mkdir -p /home/share/samba
sudo chmod 777 -R /home/share/samba
- 输入下列命令,然后对 samba 的配置进行修改:
sudo gedit /etc/samba/smb.conf
在文件尾部加入下列字段,然后保存退出:
[share]
path = /home/share/samba
available = yes
browseable = yes
public = no
writable = yes
- 输入下列命令,添加指定用户至 smb 用户组,然后按照提醒设置你 samba 的密码:
sudo smbpasswd -a xxxx #(xxxx 为当前登录用户名,我这里xxxx就应该是y)
- 输入下列命令,重启 samba:
sudo service smbd restart
- 在 Windows 下,打开我的电脑,根据上面获取到的信息,按照下面图片的格式,将IP地址换成你 Ubuntu 虚拟机上的 IP 地址,填写在箭头②的位置:
如果不记得了你虚拟机的 IP 地址可以在 Ubuntu 上输入ifconfig命令进行查询。
- 填入用户名和你设置的 samba 密码。
建议勾选“记住我的凭证”,避免每次打开共享文件夹都要填写账号密码。
编译验证
以 BK7231N 的 SDK 为例进行演示。
- 在 Ubuntu 虚拟机下,输入下列命令,获取 bk7231n 的 SDK:
cd /home/share/samba/
git clone https://github.com/tuya/tuya-iotos-embeded-sdk-wifi-ble-bk7231n.git
- 输入下列命令,开始编译 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
- 编译成功则说明上述操作均已成功完成,编译成功如下图所示:
至此,我们就搭建起了涂鸦的SDK开发环境,具体如何使用,我们下章节继续介绍