开发者学堂课程【AliOS Things 物联网开发教程:AliOS Things 物联网开发上手】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/835/detail/13990
AliOS Things 物联网开发上手
内容介绍:
一、一站式集成开发环境 Haas Studio
这节课主要学习的内容是 AliOS Things 物联网开发上手,主要介绍 Haas Studio 集成开发环境,并借助于该开发环境帮助大家快速上手 AliOS Things 物联网开发。
本节课是是 AliOS Things 物联网开发训练营的第二节课,通过上节课的学习,我们已经对 AliOS Things 操作系统有了一定程度的了解。
本节课程主要以实际操作为主要内容,一步步带领大家上手 AliOS Things 物联网开发。
本次课程主要分为以下几部分内容,第一部分介绍一站式集成开发环境Haas Studio;第二部分学习设备上云的案例,并且通过云端控制设备上的 Led 灯,然后自行上手体验 AliOS Things 物联网的开发;第三部分介绍进阶案例——通过手机控制设备上的 Led 灯。
一、一站式集成开发环境 IDE
1、开发环境的类型
对于常见的开发环境,一般有两种类型,一种是命令行式的开发环境,该种类型的开发环境需要开发者打开命令行终端,编写命令,然后进行代码的下载、编译、烧录等,另一种开发环境则是图形化的开发环境,可以通过鼠标点击一些按钮就可以很方便地创建工程。
图形化的集成开发环境更加容易使用,故推出了一款图形化的集成开发环境Haas Studio。
Haas Studio 是阿里云 IoT 团队为了让开发者更易上手 Haas 开发推出的“一站式”集成开发环境。
2、Haas Studio 开发环境的特点
(1)它是图形化的,使用十分方便,无需记命令也不用敲代码,可以做到一键下载、一键编译、一键收录;
(2)是“一站式”的集中开发环境,支持多种语言的开发;
(3)支持编写代码下载调试。Haas Studio 是基于 VS Code 开发的,可以下载VS Code,在插件市场搜索 Haas Studio,进行安装。VS Code 是微软推出的一款代码编辑器,它支持各种组件,使得代码编辑更为便捷。
(4)Haas Studio 不但可以编辑代码,而且可以很方便的进行项目的开发和调试。
3、Haas Studio 的功能
(1)提供了快速开始页面,可以选择开发语言、查看帮助文档、创建项目以及打开之前的项目。
点击创建项目按钮,会弹出创建工程向导。可以填写项目名称,选择工作区路径,根据自身的硬件年类型选择现成的解决方案。在创建项目过程中,可以在解决方案的代码基础上进行修改,加快开发进度。
(2)还提供组件管理页面,可以查看当前工程当中已安装的组件以及未安装的组件。如果想要安装相关组件,可以直接点击安装按钮将组件安装到工程当中去,也可以查看提供的所有的软件积木,并进行安装。点击安装按钮之后会提示是否确认安装组件,包含有组件的介绍,组件的说明,点击确认,组件即可安装到当前工程中。
(3)还提供了解决方案中心,在解决方案中心里可以查看不同的语言分别提供了哪些不同性能的解决方案,可以根据自身兴趣或与自己项目比较接近的解决方案,直接创建工程。创建完工程之后,基于工程,再进行自己的二次开发。
(4)帮助文档界面,提供了很多帮助文档的链接,可以根据需求点击查看相关的帮助文档。
4、实战演示
(1)Haas Studio 的安装与使用
①Haas Studio 的安装
打开 VS Code 的官方网站,下载 VS Code 软件,也可以打开登录页面,选择自己对应的操作系统下载不同的版本。通过观察页面也可以看到 VS Code 是支持多平台的,因此,Haas Studio 也是支持多平台开发的。VS Code 的下载过程不进行演示,直接打开安装好的 VS Code,打开插件市场,搜索 Haas 即可找到Haas Studio,点击安装。安装完成后,重启 VS Code。
②Haas Studio 的功能
打开 VS Code 之后,会自动弹出 Haas Studio 快速开始页面。可以看到其支持多种语言开发,下方会有创建工程的入口。
如果不希望一开启 VS Code 就打开快速开始页面,可以点对勾取消。
此外还有一些路径也可以进入快速开始页面,可以点击侧边栏H按钮,点击快速开始进入创建功能页面;也可以点击状态栏心型按钮直接进入快速开始页面。
在快速开始页面可以看到一些帮助文档,直接进入查看说明文档,并且在说明文档中可以直接创建项目:定义项目名称、选择工作区路径、选择硬件类型及解决方案进而创建项目。
在组件管理页面,展示了提供的各类组件。以下以 C 语言为例:首先打开该 C 语言工程,点击“H”按钮及“组建管理”查看 C 语言工程的组件管理,可以看到它会直接检测到 C 语言工程中已经安装和未安装的组件。如果想要安装对应的组件,可以点击“安装”按钮,确认安装。
解决方案中心可以查看所有的解决方案,从其中的帮助文档可以直接进入对应的帮助文档界面。
接下来以C语言项目开发为例演示如何创建 C 语言工程。
(2)C 语言开发
打开 VS code,在这里我们选择从解决方案中心开始进入创建工程页面。
解决方案中心展示了各种语言对应的解决方案,可以根据个人兴趣或者项目要求挑选进行开发,课上以 helloworld_demo 为例,点击“创建工程”按钮,自动跳转到创建工程页面,解决方案选择默认方式,硬件类型选择 haas100系列,工作区路径可以根据个人需求自行设定,也可以输入路径名字,点击立即创建,“请确认功能信息”点击确认。待 C 语言工程的代码下载完成之后,VS code 会重新打开一个窗口,其中正是下载的 C 语言,如下:
Copyright [c] 2015- 2020 Alibaba Group Holding limited
#include "aos/init.h"
#include "board.h"
#include <aos/errno.h>
#include<aos/kernel.h>
#include <k_api.h>
#include <stdio.h>
#include <stdlib.h>
int application_start(int argc, char *argv [ ] )
{
int count = 0;
printf( "nano entry here!\r\n")I;
while (1) {
printf("hello world! Count $d\r\n",count ++);
sos_ asleep(10000);
}
}
它实现的功能是每隔十秒循环打印 hello world 的信息,可以修改参数,修改之后,点击下面的对勾(一键编译)编译项目代码。
代码编译完成后,需要把编译好的代码烧录到 Haas100的板中。首先,给 Haas100上电,通过 USB 接口连接计算机,点击“烧录”按钮,选择对应的串口(如3)。
代码烧录完成后系统重新启动,点开串口调入终端,选择连接的串口号、波特率,可以看到打开的串口终端里正在打印信息,且打印的速度是之前代码中设置的,即每隔一秒打印一次 HelloWorld。
通过 IDE 可以十分方便地创建工程、编译、烧录代码,还可以通过串口终端进行代码调试。
通过 IDE 可以看到 Haas Studio 是一种一站式的集成开发环境,有了这种一站式的集成开发环境,可以使得操作更加方便快捷,开发者更易上手。
(3)Python 轻应用开发
打开 Haas 快速开始页面,点击 Python 轻应用开发创建 Python 轻应用的项目。
同理,点击“创建项目”,“工作区路径”中输入 Python 轻应用的工作路径,“硬件类型”选择 Haas EDUK1,“解决方案”选择 python_gpio,点击“立即创建”,确认工程信息,下载 Python 轻应用的代码,如下:
# -•-coding: UTF-8 -•-
import utime
from driver import GPIO
# 初始化GPIO 类
gpio=GPIO()
leds=("led1", "led2", "led3",“led4","led5")
for i in range(5):
for led in leds:
#open 函数支特的参数列表: led1, ted2, led3, led4, led5
gpio.open(led)
#点亮led
gpio. write(0)
utime.sleep_ms(200)
#熄灭led
gpio.write(1)
utime.sleep_ms(200)
gpio.close()
代码下载完毕后,可以基于现有的实例对代码进行修改,而无需从零开始,使得开发更加便捷方便。修改结果如下:
# -•-coding: UTF-8 -•-
import utime
from driver import GPIO
# 初始化GPIO 类
gpio=GPIO()
leds=("led_r", "led_g", "led_b")
for i in range(50):
for led in leds:
#open 函数支特的参数列表: led_r, led_g, led_b
gpio.open(led)
#点亮led
gpio. write(0)
utime.sleep_ms(200)
#熄灭led
gpio.write(1)
utime.sleep_ms(200)
gpio.close()
Python 的编译其实是对 Python 整个代码的语法的检查,而该种语言对缩进的要求较高,如果缩进错误或者发生其他错误系统即会检查出问题。因此在下载代码之前要先进行编译以保证代码逻辑的正确性。
打开 Haas EDU K1,通过 USB 连接计算机,并把 Python 轻应用的代码下载到Haas EDU K1,点击“烧录”按钮,可以选择“本地更新”或“在线更新”,由于此时是通过 USB 连接的,是本地更新,选择对应的端口、波特率,重启Haas EDU K1,显示 Haas EDU K1 代码烧录成功。
此时 Haas EDU K1 的灯在不停闪烁,即达到了实验要达到的效果。通过 IDE 进行Python 轻应用开发十分地方便快捷,具体体现在创建对应工程、代码格式检查、一键推等过程的便捷性。








