AliOS Things 物联网开发上手|学习笔记

简介: 快速学习 AliOS Things 物联网开发上手

开发者学堂课程【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、开发环境的类型

image.png

对于常见的开发环境,一般有两种类型,一种是命令行式的开发环境,该种类型的开发环境需要开发者打开命令行终端,编写命令,然后进行代码的下载、编译、烧录等,另一种开发环境则是图形化的开发环境,可以通过鼠标点击一些按钮就可以很方便地创建工程。

图形化的集成开发环境更加容易使用,故推出了一款图形化的集成开发环境Haas Studio。

image.png

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)提供了快速开始页面,可以选择开发语言、查看帮助文档、创建项目以及打开之前的项目。

image.png

点击创建项目按钮,会弹出创建工程向导。可以填写项目名称,选择工作区路径,根据自身的硬件年类型选择现成的解决方案。在创建项目过程中,可以在解决方案的代码基础上进行修改,加快开发进度。

(2)还提供组件管理页面,可以查看当前工程当中已安装的组件以及未安装的组件。如果想要安装相关组件,可以直接点击安装按钮将组件安装到工程当中去,也可以查看提供的所有的软件积木,并进行安装。点击安装按钮之后会提示是否确认安装组件,包含有组件的介绍,组件的说明,点击确认,组件即可安装到当前工程中。

image.png

(3)还提供了解决方案中心,在解决方案中心里可以查看不同的语言分别提供了哪些不同性能的解决方案,可以根据自身兴趣或与自己项目比较接近的解决方案,直接创建工程。创建完工程之后,基于工程,再进行自己的二次开发。

image.png

(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 快速开始页面。可以看到其支持多种语言开发,下方会有创建工程的入口。

image.png

如果不希望一开启 VS Code 就打开快速开始页面,可以点对勾取消。

此外还有一些路径也可以进入快速开始页面,可以点击侧边栏H按钮,点击快速开始进入创建功能页面;也可以点击状态栏心型按钮直接进入快速开始页面。

在快速开始页面可以看到一些帮助文档,直接进入查看说明文档,并且在说明文档中可以直接创建项目:定义项目名称、选择工作区路径、选择硬件类型及解决方案进而创建项目。

image.png

在组件管理页面,展示了提供的各类组件。以下以 C 语言为例:首先打开该 C 语言工程,点击“H”按钮及“组建管理”查看 C 语言工程的组件管理,可以看到它会直接检测到 C 语言工程中已经安装和未安装的组件。如果想要安装对应的组件,可以点击“安装”按钮,确认安装。

image.png

解决方案中心可以查看所有的解决方案,从其中的帮助文档可以直接进入对应的帮助文档界面。

接下来以C语言项目开发为例演示如何创建 C 语言工程。

(2)C 语言开发

打开 VS code,在这里我们选择从解决方案中心开始进入创建工程页面。

image.png

解决方案中心展示了各种语言对应的解决方案,可以根据个人兴趣或者项目要求挑选进行开发,课上以 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 轻应用开发十分地方便快捷,具体体现在创建对应工程、代码格式检查、一键推等过程的便捷性。

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
XML 存储 Unix
DBus类型系统以及在Qt和C++ 中的使用(一)
DBus类型系统以及在Qt和C++ 中的使用
1200 0
|
编译器 C语言 C++
【C语言】malloc()函数详解(动态内存开辟函数)
【C语言】malloc()函数详解(动态内存开辟函数)
3450 2
|
6月前
|
人工智能 自然语言处理 监控
系统提示词工程师学习路径报告
本报告聚焦系统提示词工程师职业,介绍其职责与学习路径。该职业负责为AI系统设计、优化指令,涉及需求拆解、模型优化、跨领域适配及伦理把控。 学习路径分四阶段:1 - 3个月构建基础,了解AI模型、语言学及工具使用;3 - 6个月深化核心技能,掌握提示设计、评估体系与领域知识;6 - 12个月开展工程实践,进行系统集成与可解释性研究;1 - 2年探索进阶方向,如多模态提示、自优化系统。 此外,报告推荐专业工具、测试集等学习资源,建议定期实操、研阅论文、参与社区,建立“提示模式库”,紧跟行业趋势,以培养专业系统提示词工程师。
389 4
|
5月前
|
人工智能 前端开发 机器人
10个优质独立开发者社区
以下是我整理的10个优质独立开发者社区,都是自己平时经常逛或参与过的,分类整理方便不同需求的开发者参考
1430 7
|
11月前
|
机器学习/深度学习 人工智能 搜索推荐
Ingredients:无需额外训练的多ID视频生成框架,通过多张人物照片生成定制视频
Ingredients 是一款基于多ID照片与视频扩散Transformer相结合的定制视频生成框架,能够生成高质量、身份一致且内容灵活的视频。
459 19
Ingredients:无需额外训练的多ID视频生成框架,通过多张人物照片生成定制视频
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
558 2
|
缓存 网络安全 Android开发
|
安全 Linux 测试技术
|
存储 C语言
C语言:函数指针
C语言:函数指针
238 0
|
JSON 小程序 数据格式
uni-app 使用vscode开发uni-app
uni-app 使用vscode开发uni-app
801 0

相关产品

  • 物联网平台