AliOS Things Docker版开发环境(适合初学者)

1、Docker版开发环境介绍

Docker版AliOS Things开发环境包含2部分:

  • 在宿主机(即你正在使用的电脑)上运行的脚本,可以从gitee下载,详见下文的“下载一键安装工具”章节。目录结构如下所示:
dev_tool

├── dev_tool_linux.sh         # 一键安装脚本,Ubuntu版本

├── dev_tool_osx.sh           # 一键安装脚本,MacOS版本

├── dev_tool_win.bat          # 一键安装脚本,Win10版本

├── README.md                 # 说明文档

├── pic                       # 说明文档中使用的图片

├── aos_burn_tool             # aos烧录工具

└── utilities                 # 其它脚本和工具

 

  • docker容器,由上述的一键安装脚本安装。容器安装启动后,用户可以使用宿主机上的浏览器以HTTP方式连接容器,查看docker容器内的代码,也可以编辑、编译代码和烧录固件。安装好的docker容器,包含以下内容:
├──ubuntu 20.04               #容器系统    

├──sshd                       #远程连接服务工具

├──aos-cube                   #AliOS Things的集成开发工具

├──dev_3.1.0_haas             #AliOS Things的dev_3.1.0_haas分支源代码

└──code-server               #网页版的Visual Studio Code
  • 开发环境的逻辑框图如下图所示。

 

2、安装

2.1、下载一键安装工具

2.2、一键安装

进入dev_tool目录cd dev_tool,根据电脑的系统,执行相应的脚本:

MacOS: bash ./dev_tool_osx.sh -i

Ubuntu: bash ./dev_tool_linux.sh -i

Win10: .\dev_tool_win.bat -i

安装脚本将完成以下工作,整个安装过程大概需要5~30分钟,取决于系统配置和网速,安装过程中,需要用户输入密码

  • 安装docker软件及其依赖的工具
  • 下载包含AliOS Things开发工具的docker镜像rtos:v0.1
  • 使用rtos:v0.1创建一个docker容器,并下载AliOS Things的dev_3.1.0_haas分支源代码至容器中的/workspace/AliOS-Things目录
  • 在docker容器中安装code-server及AliOS Studio,作为AliOS Things开发的Web IDE

若安装失败,可再次执行该命令重新安装。

Win系统注意事项

  • 如果从Docker官网下载Docker安装文件很慢,可使用命令.\dev_tool_win.bat -m 代替.\dev_tool_win.bat -i。该命令将从阿里云镜像站点下载安装文件并安装。使用此命令可能会下载到非最新版本的镜像。
  • 一些额外的人工操作,请根据下图提示选择

出现提示Installing Docker Desktop,请确保选择Enable Hyper-V Windows FeatureInstall required Windows components for WSL2,然后点击“OK”按钮开始安装docker。

安装完成以后,点击“Close and Restart”按钮,重启电脑。重启电脑完成之后,需要再次输入“一键安装”的命令,继续安装

出现提示类似Python 3.9.1(64-bit) Setup的python安装页面,请确保选择Add Python 3.9 to PATH,然后点击“Install Now”按钮开始安装python。

MacOS系统注意事项

  • Installing Cask docker阶段,会停顿较长时间,请耐心等待
  • 如果从Docker官网下载Docker安装文件很慢,可使用命令bash ./dev_tool_osx.sh -m代替bash ./dev_tool_osx.sh -i。该命令从阿里云镜像站点下载安装文件并安装。使用此命令可能会下载到非最新版本的镜像。
  • 一些额外的人工操作,请根据下图提示选择

出现提示 “Docker”是从互联网下载的App。您确定要打开它吗?,请点击 “打开”按钮

出现提示 "Docker Desktop needs privileged access",请点击“OK”按钮

出现提示“Docker”正在尝试安装新帮助程序工具,请输入密码,并点击“安装帮助程序”按钮

出现提示 “Docker”想要访问桌面文件夹中的文件 类似的弹窗,请点击“好”按钮

若直接弹出docker软件的页面,表示用户第一次安装docker,用户只需最小化即可

  • 一键安装演示视频

3、 开发使用

3.1、登录code-server

一键安装成功后,将自动打开浏览器,进入到登录code-server页面

密码获取方式

  • 成功登录网页后,系统已自动复制密码到剪切板,只需要在密码框中点击鼠标右键,然后在菜单中选择“粘贴”,点击“SUBMIT”,登录server
  • 在执行“一键安装”脚本的终端窗口,搜索关键字password,如下图所示password:<password>,复制密码

 

建议用户尽快修改密码。修改密码方式如下:

MacOS: bash ./dev_tool_osx.sh -p

Ubuntu: bash ./dev_tool_linux.sh -p

Win10: .\dev_tool_win.bat -p

 

3.2、配置和编译

使用预装在code-server上的AliOS Studio插件,选择app和board,然后点左下角的“√”号编译。

  • 点击左下角的框helloworld@developerkit,在随后的弹窗中选择app helloworld_demo

  • 选择开发板型号haaseduk1

  • 点击下面的 “√”号,进行编译

   

  • 编译成功后,在out/helloworld_demo@haaseduk1/binary目录下可以看到生成的elf文件和bin文件

3.3、烧录固件

  • 点击下方状态栏中的⚡️标志

   

  • 根据提示选择相应的串口,即可进行烧录。串口配置信息将保存在代码根目录下的.aos_config_burn文件中。若后续串口有变化,可删除该文件后,再烧录。
  • 切回到原先的终端(启动IDE所属命令行的终端)中可查看烧录的详细日志。如果日志中出现Please reboot the board manually.或者听到每秒钟1声beep,请按复位键手动复位开发板
  • 烧录成功后的提示信息如下图所示

​​​​​​​

  • 如果烧录过程中提示Communicated with host pc is failed. Please start flash programmer in host pc.,则需要使用下文所述的“再次打开docker”,该命令会在后台启动一个烧录监控程序;然后再重新烧录。

4、 再次打开docker

安装成功后,docker容器将在后台运行。如果下次重新开机后,可使用-s参数,运行安装脚本,重新打开docker。

MacOS: bash ./dev_tool_osx.sh -s

Ubuntu: bash ./dev_tool_linux.sh -s

Win10: .\dev_tool_win.bat -s

 

5、 SSH连接

对于不习惯使用Web IDE的开发人员,也可以通过ssh方式连接docker,进入容器内部查看代码,编译版本,烧录固件。

  • 使用命令docker ps -a查看docker是否处于运行状态,如下图所示:
    STATUS:运行状态,UP正常启动状态,其他状态表示容器运转不正常,参考“再次打开docker”章节中所述的方法重新打开
    PORTS:端口映射状态,容器中22端口对应宿主机64028端口

  • 使用SSH方式连接:

        方式1:命令行ssh -p <port> [email protected],其中port为宿主机端口号,如下图所示

  • 方式2:vscode+ssh remote插件,若已经在宿主机(即用户正在使用的电脑)上安装了vscode和ssh remote插件,请修改~/.ssh/config文件中,增加如下4行,配置完成后,通过ssh code-server登录容器。

Host code-server

 User root

 HostName 127.0.0.1

 Port 64028 #请根据docker ps命令查找22对应的端口号填写

 

6、删除docker镜像

删除AliOS Things的docker镜像rtos:v0.1及其相应的容器,请执行如下命令

MacOS: bash ./dev_tool_osx.sh -r

Ubuntu: bash ./dev_tool_linux.sh -r

Win10: .\dev_tool_win.bat -r

 

7、卸载docker工具

MacOS: bash ./dev_tool_osx.sh -u

Ubuntu: bash ./dev_tool_linux.sh -u

Win10: .\dev_tool_win.bat -u

注意:该命令将删除宿主机上所有docker镜像,请谨慎使用。

 

8、开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

猜你喜欢

转载自blog.csdn.net/HaaSTech/article/details/114283824