1.3.3 Device Agent本地客户端
更新时间:2019-02-27 17:38:48
Device Agent简介
Hacklab IDE device agent是一个运行在本地开发机、将物理开发板通过浏览器连接到云端IDE开发环境的后台程序,接下来文档中的device agent就是指这个后台程序。
上图是云端IDE、Device Agent和设备之间运行时的关系示意,Device Agent和设备通过设备的串口进行通讯。Device Agent内置连接认证机制,确保每个用户的Device Agent只能连接到自己的云端IDE工作空间。
我们提供了可运行在64位Windows, Mac以及Linux上的Device Agent程序。接下来就介绍如何快速在本地机器上快速运行 Device Agent.
快速开始
下载Device Agent
访问Hacklab,用阿里云账号登陆成功后可以在IDE的状态栏上看到如下的Device Agent下载按钮,点击下载,IDE会根据你所使用的系统自动下载对应的版本的Device Agent程序。
注意:从0.9.0版本开始,每个用户下载的Device Agent包中包含该用户对应IDE实例的唯一认证信息,因此请勿将该压缩包发送给其他人,该Device Agent只能由用于连接用户自己的IDE。
下载完毕后解压缩下载到本地的zip包。
启动Device Agent之前,打开IDE,查看其中的Device View (可通过菜单View中的Device进入),会看到如下界面:
表示当前并无远程的Device Agent连接到IDE中。
启动运行Device Agent
解压后Device Agent目录如下(以Windows为例):
接下来让我们运行Device Agent。
由于启动脚本使用相对路径调用Device Agent可执行程序,执行以下命令时,当前工作目录应当为agent解压后的根目录。
- Linux/Mac用户:在Terminal中执行
$ cd <agent path>
# Mac
$ ./run-mac.sh
# Linux上为了访问硬件,可能需要以sudo权限运行该脚本
$ ./run-linux.sh
- Windows用户: 在命令行中执行以下命令,或者也可直接双击
run-win.bat
批处理文件来启动。
cd <agent path>
.run-win.bat
Device Agent运行窗口将会运行,如下图所示(以Windows为例):
再次查看IDE中的Device View,本地设备管理Tab中状态已经从等待远程Device Agent连接变成已连接状态,如果本地开发机上还没有开发板接入,会显示如下:
连接开发板
将自己的开发板通过串口连接到开发机上,之后IDE中会显示该开发板信息,如下图例中所示:
你可以将开发板从本地开发机USB上做插拔操作测试一下,云端IDE现在可以实时检测到本地开发机上的设备连接状态了。
开发板的驱动程序根据使用的开发板需要提前安装,并且确保在使用IDE前,开发板本身已经能通过OS提供的功能查询到,Mac/Linux用户可以
ls /dev
检查,Windows用户通过设备管理器查看COM串口设备。
定制Device Agent显示名
Device Agent启动,开发板连接到IDE后,默认每个设备的Hostname显示Agent所在的主机名。为了方便开发者起一个对自己有意义的Agent名,例如在办公室运行的开发机上Agent启动后叫office
,家里的机器Agent启动后显示home
,可以通过将定制的agent名称参数--name xxxx
保存在启动脚本中。
以Windows上的启动脚本run.bat为例,本地编辑改文件,将定制名称参数增加到启动命令后即可:
:: Copyright (C) 2017-present Alibaba Group Holding Limited
start "Hacklab Agent" .hacklab-agent-win-x64.exe start --name office
Device Agent连接Secret重置功能
用户通常不需要关心连接认证secret的,但是如果用户自己的device agent文件发生泄漏等,可以通过Hacklab菜单中提供的Reset Agent Secret功能重置连接认证信息。在重置之后,原有的Agent已经无法通过重置前的认证信息连接IDE,需要重新下载新的Device Agent。