购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.5.1 开发环境搭建

我们依然选择图1.1.12所示的HaaS为JavaScript的硬件开发环境。

软件开发环境选择Visual Studio Code + alios-studio,在1.3和1.4节中我们已经介绍了Visual Studio Code和alios-studio的安装,相关内容请参考以上章节的介绍。这里仅介绍JavaScript轻应用固件的部署。

在alios-studio扩展插件的蓝色工具条中单击“+”按钮,开始创建项目,这个步骤一共四步,第一步选择要创建的解决方案的类型,我们选择“轻应用案例”(如图1.5.1所示)。

● 图1.5.1 创建项目-选择解决方案

选择完毕后,进入下一步开始选择开发板,我们选择“haas100 board configure”(如图1.5.2所示)。

● 图1.5.2 创建项目-选择开发板

选择开发板完毕后,下一步需要输入解决方案的名称,可以直接采用默认名称“test_amp_demo”,然后按“Enter”键进入下一步。最后一步是输入工作区路径,设定好工作区路径后,按“Enter”键,则alios-studio自动从云端下载相关内容,我们只需要等待即可(如图1.5.3所示)。

创建工程完毕后,单击alios-studio工具条上的“√”,编译刚刚创建的工程,然后等待编译成功。编译成功后,首先通过USB线把HaaS100连接到PC机,USB驱动安装完毕后,会在PC机上虚拟出一个串口,单击蓝色工具条上的 (Burn刻录)按钮,把轻应用的固件刻录到HaaS100开发板。

● 图1.5.3 创建项目-创建工程

1. JavaScript轻应用程序说明

最简单的轻应用必须由两个文件组成,必须放在项目的根目录,分别是app.js,这是轻应用的入口文件;另外一个文件是app.json,这是轻应用的全局设置文件,比如常见的硬件接口配置都会放入这个配置文件。

一个最简单的app.js代码,只需要一句代码即可:

而标准格式的app.js则是如下的代码:

App()必须在app.js中调用,且只能调用一次。onLaunch、onError和onExit等回调函数,是相应的事件监听函数,globalData里则存放着全局数据。

最简单的app.json文件的配置如下:

我们仅填写了轻应用的版本和调试信息输出级别。

2. JavaScript轻应用开发部署环境

打开Visual Studio code,首先进入扩展商场,然后输入haas-studio进行搜索,搜索到对应扩展插件后直接安装即可(如图1.5.4所示)。

● 图1.5.4 安装haas-studio扩展插件

需要注意的是haas-studio扩展和alios-studio扩展有冲突,如果之前安装过alios-studio扩展,务必先禁用,才能正常使用haas-studio扩展(如图1.5.5所示)。

● 图1.5.5 HaaS Studio开发环境

HaaS Studio开发环境可以开发三种类型的应用:C/C++、JavaScript和Python,我们选择JavaScript轻应用进行开发。单击“创建JavaScript工程”,在弹出的对话框中填写如下信息(如图1.5.6所示)。

● 图1.5.6 创建JavaScript工程

默认创建了一个Hello World的示例代码,会每隔一秒在控制台中输出一句Hello World及当前时间(如图1.5.7所示)。

● 图1.5.7 Hello World示例工程

单击工具条上的 刻录按钮,进行JavaScript轻应用刻录。需要注意如下事项,模式选择本地更新,波特率为1500000Baud,引擎选择为quickjs,此外就是根据提示,需要按HaaS 100开发板上的复位按钮进行一次复位,则JavaScript应用就会自动刻录到开发板。

注意

命令行方式刻录JavaScript轻应用:

(1)下载命令行工具amp.exe(阿里云官方文档:IoT物联网操作系统> HaaS JavaScript轻应用使用文档>快速开始>开发环境>命令行工具)

(2)QuickJS引擎命令:amp. exe serialput. \ app COM1 -m quickjs -e 0 -b 1500000

(3)DukTape引擎命令:amp. exe serialput . \ app COM1 -b 115200

3.终端调试环境配置

打开一个串口调试工具,串口设置为HaaS100在PC机上虚拟出的串口,波特率设置为1500000Baud。连接串口成功后,就可以看到图1.5.7所示的示例代码的执行输出(如图1.5.8所示)。

● 图1.5.8 Hello World示例输出 KR1cH3+1EjpBInZ9Sfwa2PAv+Hq7R0K/NfjJQcYrsR1aUsFPUING4E+VppwNhR4I

点击中间区域
呼出菜单
上一章
目录
下一章
×