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、下载一键安装工具
- git代码下载
git clone https://gitee.com/alios-things/dev_tool.git - http方式下载
https://gitee.com/alios-things/dev_tool/repository/archive/master.zip
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 Feature和Install 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,用户只需最小化即可
- 一键安装演示视频
- MacOS版本:https://gitee.com/alios-things/dev_tool/blob/master/pic/dev_tool_osx.gif
- Ubuntu版本:https://gitee.com/alios-things/dev_tool/blob/master/pic/dev_tool_linux.gif
- Win10版本:https://gitee.com/alios-things/dev_tool/blob/master/pic/dev_tool_win.gif
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/