准备安装环境

更新时间:2023-12-07 03:07:53下载pdf

不同的开发框架开发环境有所不同。目前,TuyaOS 共有两种开发方式,一种是 Windows 主机搭载 Linux 虚拟机的开发方式,另外一种是纯 Windows 主机下的开发方式。本文将详细介绍两种开发方式的环境搭建过程。

Windows 搭载 Linux 虚拟机

安装 VirtualBox 虚拟机

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

    准备安装环境
  2. 打开下载完成的 VirtualBox 安装包,出现如下界面,单击 下一步

    准备安装环境
  3. 如果选择默认安装路径(默认在 C 盘),单击 下一步 即可。如果需要修改安装路径,单击 浏览 按钮,选择自定义的路径。为了避免出现某些不可预知的问题,建议不要包含中文路径。

    准备安装环境
  4. 在自定安装这一步,默认即可,单击 下一步 继续安装。

    准备安装环境
  5. 这一步骤将会提醒你在 VirtualBox 安装过程中网络可能会中断,单击 ,继续安装。

    准备安装环境
  6. 上述步骤配置完成后,单击 安装,开始安装软件。

    等待几分钟后 VirtualBox 便安装完成了。

安装 Ubuntu 系统镜像

下载系统镜像

进入 Ubuntu 官网,下载 Ubuntu 系统镜像。这里下载 Ubuntu 20.04 作为开发编译环境,等待下载完成。

准备安装环境

安装系统镜像

  1. 打开下载完成的 VirtualBox,单击 新建 创建虚拟机。

    准备安装环境
  2. 类型选择 Linux,版本为 Ubuntu 64 位,可以自定义名称和文件夹路径,之后单击 下一步

    准备安装环境
  3. 选择分配给虚拟机的内存大小。根据个人实际情况而定,内存分配 8GB 及以上(为了后续流畅使用 Tuya Wind IDE),之后单击 下一步

    准备安装环境
  4. 虚拟硬盘设置按默认就可以,单击 创建

    准备安装环境
  5. 虚拟硬盘文件类型设置按默认就可以,单击 下一步

    准备安装环境
  6. 选择 动态分配,单击 下一步

    准备安装环境
  7. 选择虚拟硬盘的大小,建议 50GB 起(为了后续流畅使用 Tuya Wind IDE),单击 创建

    准备安装环境
  8. 根据下图所框选顺序,单击 选择虚拟盘,选择下载完成的 Ubuntu 系统镜像,之后单击 启动 进行加载安装。

    准备安装环境
  9. 稍微等待一段时间后,虚拟机界面出现需要配置的选项。默认选择 English,单击 Install Ubuntu 进行安装。

    准备安装环境
  10. 下面还是选择默认的 English,单击右下角的 Continue。因为虚拟机界面问题没有显示完整,但是不影响安装,后续会把界面设置成全屏显示。

    准备安装环境
  11. 按下图标注,选择 Minimal installation 最小安装,取消 Download updates while installing Ubuntu 在安装过程中的下载更新,以加快系统镜像的安装速度。单击 Continue 继续安装。

    准备安装环境
  12. 单击 Install Now 进行安装即可。

    准备安装环境
  13. 这一步会弹出 将会对磁盘分区进行修改 的提示,单击 Continue

    准备安装环境
  14. 时区选择上海,单击 Continue

    准备安装环境
  15. 设置用户名和密码,第一行是用户名,第二行和第三行是自动生成,第四行和第五行是用户密码。设置完成后,单击 Continue 继续安装。

    准备安装环境

    之后便是安装过程,等待安装完毕。

  16. 出现下图界面说明安装好了,单击 Restart Now 重启虚拟机。

    准备安装环境
  17. 之后会出现如下界面,只需要按回车即可。

    准备安装环境
  18. 输入设定的密码,进入虚拟机桌面。

    准备安装环境
  19. 进入 Ubuntu 桌面,说明安装成功。

    准备安装环境

安装增强功能

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

  1. 单击 设备,单击 安装增强功能

    准备安装环境
  2. 会弹出如下图的界面,单击 Run,开始安装增强功能。

    准备安装环境
  3. 提示输入密码,单击 Authenticate

    准备安装环境
  4. 之后进入终端,会提示是否想要继续,输入 yes 按回车。

    准备安装环境
  5. 安装完成后会提示 Press Return to close this window…,按下回车将会关闭该窗口,重启虚拟机。此时,手动调整窗口大小,会发现虚拟机的桌面大小会根据窗口大小对分辨率进行调整。

    准备安装环境
  6. 最后,依次单击 设备 > 共享粘贴板 > 双向,就可以在 Windows 上复制后在 Ubuntu 上进行粘贴,或者在 Ubuntu 上复制后在 Windows 上进行粘贴。

    准备安装环境

安装工具

安装 samba 共享工具

为了能更好地进行开发,建议在虚拟机中安装 samba 工具。samba 工具使我们能够在 Windows 下对工程项目修改完成后,在 Linux 下对修改后的工程进行编译,使用 samba 工具提供的文件共享可以方便我们进行开发。

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

修改下载源

  1. 打开虚拟机进入桌面。在安装软件前,先将下载源修改为国内源,以加快下载软件的速度。

  2. 打开 Software & Updates

    准备安装环境
  3. 单击 Download from 后的选项框,选择选项框内的 Other… 选项。

    准备安装环境
  4. 单击 Select Best Server 按钮,将会自动为你选择最快的下载源。如果弹出窗口提示提示输入密码,输入设定的密码即可。

    准备安装环境
  5. 等待系统自动选择完成后,单击 Choose Server 按钮。

    准备安装环境
  6. 单击 Close 按钮,将会提醒你只有重新加载后设置才可以使用。

    准备安装环境
  7. 单击 Reload 按钮,等待系统刷新缓存完成。

    准备安装环境

    系统刷新缓存完成后,Ubuntu 的软件下载源修改成功。

修改网络设置,获取虚拟机 IP

在安装 samba 之前,需要设置虚拟机的网络。

  1. 关闭虚拟机,按照下图中的步骤进行设置。

  2. 依次单击 设置 > 网络 > 网卡 2,在网卡 2 中选择 启动网络连接,连接方式选择 仅主机(Host-Only)网络

  3. 单击 OK 完成设置。

    准备安装环境

获取虚拟机的网络 IP 地址,需要安装 net-tools,在 Ubuntu 桌面右键打开终端,输入如下命令进行安装。

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install net-tools

安装完成后,在终端中输入 ifconfig,下图中框选的即是虚拟机的 IP 地址,后面会用到。

准备安装环境

安装 samba

  1. 在终端中输入如下命令,开始安装 samba。可能会要求你输入密码,并且输出密码时终端上不会有显示,这是正常的,输入完毕后按回车即可。

    sudo apt-get update
    sudo apt-get install samba cifs-utils samba-common
    
  2. 系统会提示安装需要占用多少 MB 空间,问您是否要继续,输入 Y 按回车即可。

    后续安装软件遇到这种情况,都输入 Y 按回车即可。

  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.conf 文件后终端会打印出如下图警告,如下图,这个警告不会影响后续的操作,不必理会。

    准备安装环境
  7. 输入下列命令,添加指定用户至 smb 用户组,然后按照提醒设置 samba 密码,需要输入两次,记住这个密码,下一步骤会用到。

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

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

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

    准备安装环境
  10. 单击 完成

  11. 输入虚拟机用户名和设定的 samba 密码,单击 确定。此时,可以在 Windows 下访问使用 samba 创建的网络共享文件夹了。

    准备安装环境

安装 SSH 工具

虚拟机下安装 SSH 工具

Ubuntu 默认没有安装 SSH 服务,如果通过 SSH 远程连接到 Ubuntu,需要自己手动安装 ssh-server

  1. 判断虚拟机中是否安装 SSH 服务,可以通过如下命令进行:

    ps -e|grep ssh
    
    准备安装环境

    ssh-agent 表示 ssh-client 启动,sshd 表示 ssh-server 启动了。如果缺少 sshd,说明 SSH 服务没有启动或者没有安装。

  2. 安装命令。

    • 安装 ssh-client 命令:

      sudo apt-get install openssh-client
      
    • 安装 ssh-server 命令:

      sudo apt-get install openssh-server
      

    在终端中输入安装 ssh-server 命令,会要求输入密码。输入密码后回车即可。

  3. 安装完成后,启动服务,命令如下:

    sudo /etc/init.d/ssh start
    
  4. 再次输入检查 SSH 服务命令:

    ps -e|grep ssh
    
    准备安装环境

    可以看出 ssh 服务已经正常启动了,Ubuntu 下的 SSH 服务就安装好了。

Windows 下安装 ssh 工具

  1. 下载 SSH 服务包,下载下图中框选的文件。

    准备安装环境
  2. 将解压出的文件放置 C 盘根目录下。

  3. 在桌面左下角 开始 按钮上右键,选择以 Windows PowerShell(管理员)

    准备安装环境
  4. 在 PowerShell 中,依次输入下列命令进入 C:\OpenSSH-Win64 文件夹中。

    cd ../../
    cd OpenSSH-Win64
    
  5. 输入如下命令,安装 SSH 服务。

    powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
    
  6. 输入如下命令,在防火墙上添加 22 端口。

    netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
    
  7. 输入如下命令,开启 sshd 服务。

    net start sshd
    
    准备安装环境

    如上图提示,SSH 服务已经启动成功。

  8. (可选)如果需要在系统开启时自启动 SSH 服务,需要在 powershell 下执行如下命令:

    Set-Service sshd -StartupType Automatic
    

    到此,Windows 下的 SSH 服务就安装好了。

VS Code 安装 SSH 扩展

在 Windows 主机 + Linux 虚拟机开发环境下需要使用 SSH 远程连接服务,需要在 VS Code 中安装 Remote-SSH 插件。

打开 VS Code,在扩展搜索栏输入 SSH 按回车,安装 Remote - SSH 插件,安装后重启 VS Code。

准备安装环境

VS Code 远程连接虚拟机

当 Windows 和虚拟机都安装 SSH 工具后,在 Windows 下就可以使用 VS Code 远程连接到虚拟机了。上一步骤已经在 VS Code 中安装了 SSH 插件,这里直接打开 VS Code 即可。

  1. 单击 VS Code 左下角打开远程窗口。

    准备安装环境
  2. 单击 Connect to Host

    准备安装环境
  3. 单击 Add New SSH Host

    准备安装环境

    需要根据先前在虚拟机中安装 SSH 时设定的用户名和虚拟机的 IP 地址来设置,格式如下:

    ssh 帐号@IP
    

    例如,用户名为 q,IP 地址为 192.168.56.101,那么登录命令就应该是:

    ssh q@192.168.56.101
    
  4. 输入完成后按回车。如果忘记了虚拟机的 IP 地址,可以在虚拟机中打开终端输入 ifconfig 进行查询。

    准备安装环境
  5. 选择第一行即可,保存 SSH 的配置文件,这样下次打开连接就不需要重复输入了。

    准备安装环境
  6. 配置成功后右下角会弹窗提示,单击 Connect 进行连接。

    此时虚拟机应该是开启状态,否则会连接失败。

    准备安装环境
  7. 系统会提示需要输入密码,输入虚拟机的 登录密码 后按回车。

    准备安装环境

    如下图所示,左下角有虚拟机的 IP 地址,并且可以打开虚拟机中的文件,说明 SSH 连接成功。

    准备安装环境

配置 SSH
SSH 插件安装完成后,还需要简单配置一下。

  1. 单击 Open SSH Configuration File 打开 SSH 配置文件。

    准备安装环境
  2. 单击第一行默认保存的配置文件。

    准备安装环境
  3. 在尾行输入如下命令:

    LocalForward 127.0.0.1:8319 127.0.0.1:8319
    LocalForward 127.0.0.1:8320 127.0.0.1:8320
    
    准备安装环境
  4. 输入完成后,保存文件即可。

安装 pip3

  1. 需要在虚拟机中安装 pip3,打开虚拟机,在桌面右键打开终端,输入如下安装命令:

    sudo apt update
    sudo apt install python3.8 python3-pip python3-distutils build-essential lib32stdc++6
    
  2. 系统提示此操作后,将使用 170MB 的额外磁盘空间,输入 Y 按回车即可,等待安装完成。

    准备安装环境
  3. 安装 python3 后,在终端输入 python 后按回车。如果和下图一样打印出 python3 的版本,并且进入了python 编辑状态(Ctrl+Z 退出编辑状态),说明已安装完成。

    准备安装环境
  4. 如果提示 python not found 或其他错误提示,那么就需要创建一个指向 python3 的软链接,之后 python 命令默认使用 python3 作为编译器,命令如下:

    sudo ln -s /usr/bin/python3 /usr/bin/python
    
  5. 再次尝试输入 python,能够进入编辑状态说明创建成功了。

Windows 主机

相对于 Windows 主机 + Linux 虚拟机开发方式来说,Windows 下开发所需要的系统环境就会简单很多,只需要安装 python 3.8 即可。

  1. 先查看 Windows 系统是否安装 python 3.8。右键左下角的 开始 图标,打开 Windows PowerShell

    准备安装环境
  2. 输入 python 后按回车,可以看到是否安装 python。如下图,可以看到我已经安装了 python 3.7。

    准备安装环境
  3. 进入到 Python 官网下载 界面。由于 Python 版本众多,可以使用浏览的搜索功能快速定位,快捷键为 Ctrl + F。这里选择 Python 3.8.10 版本,64 位安装包,单击链接进行下载。由于网络问题下载时候可能会稍长,等待下载完成。

    准备安装环境 准备安装环境
  4. 下载完成后,打开安装包,按下图勾选上 Add Python 3.8 to PATH 选项,这样就不需要再手动添加 Python 路径到系统变量了,之后单击 Install Now 进行安装。

    准备安装环境
  5. 单击 Close 完成安装。

    准备安装环境
  6. 重新打开命令行窗口,验证 Python 是否安装完成。右键桌面 开始 图标,打开 Windows PowerShell,输入 python 按回车,可以看到已经变成 Python 3.8 版本,说明安装完成。

    准备安装环境