使用AliOS Things 3.0快速构建用户应用 BlinkAPP

摘要

AliOS Things 3.0版本于9月27日在云栖大会正式发布,在新版本中带来了全新的应用开发框架,帮助用户快速构建自己的应用。使用户可以更专注于自身应用的开发。本文将已BlinkAPP为例,为大家演示如何快速使用应用开发框创建项目并完成应用代码编写。

获取源码

大家可以通过github和可视化裁剪工具获取最新的AliOS Things3.0 源码。

设置本地开发环境

AliOS Things 3.0 支持用户APP存放路径与源码分离,所以用户可以单独管理应用源码。在使用前需要对开发用环境进行相关设置。本文以windows 10环境和vs code为例,进行演示。
如果你是初次使用AliOS Things,那么可以按照如下链接中的方式,安装AliOS Things相关开发环境。
https://dev.iot.aliyun.com/doc/detail/aliosthings?spm=a2c56.pc_iot_community_doc_center.0.0.445452065LQ8gd#dev_byaosstudio.html
如果之前已经安装过AliOS Things的开发环境,那么你需要升级aos-cube和vs code中的alios-studio工具。

升级aos-cube工具

打开vs code并启动终端,在终端中输入如下命令:

pip install -U aos-cube

命令正确运行后,通过

pip list

命令,可以看到aos-cube升级到了 0.3.7版本

Package                       Version
----------------------------- ----------
aos-cube                      0.3.7

升级alios-studio插件

打开vs code的“扩展”菜单,在菜单的搜索栏输入“alios-studio”,即可找到最新的alios-studio插件,版本为 0.11.6。VS code会提示“需要重新加载”,点击后会自动更新,如果之前没有安装过请点击“安装”。

设置环境变量

前面提到,AliOS Things3.0支持用户应用和OS源码分开保存,为了使工具在编译时能顺利找到源码,需要将源码存放路径加入到环境变量中。在windows环境下设置方式如下。

  1. 右键单击"我的电脑"在下拉菜单中选择“属性”
    使用AliOS Things 3.0快速构建用户应用 BlinkAPP
  2. 在弹出窗口中选择“高级系统设置”
    使用AliOS Things 3.0快速构建用户应用 BlinkAPP
  3. 在系统属性设置“高级”选项卡中,点击“环境变量”按钮
    使用AliOS Things 3.0快速构建用户应用 BlinkAPP
  4. 在弹出窗口中选择“系统变量”下的“新建”按钮
    使用AliOS Things 3.0快速构建用户应用 BlinkAPP
  5. 在弹出窗口中填写环境变量路径。这里需要根据实际的AliOS Things 3.0源码的存放路径填写
    使用AliOS Things 3.0快速构建用户应用 BlinkAPP

至此AliOS Things3.0的开发环境配置完毕,现在我们可以通过VS code来新建用户应用工程,开始用户应用编写和调试了。

新建项目

关闭VS code并重新打开,以使得VS code可以获取到正确的环境变量。
在VS code中点击alios-studio提供的“+”按钮新建项目(按钮位于),工具会弹出为项目命名的提示。
使用AliOS Things 3.0快速构建用户应用 BlinkAPP
将项目命名为“blinkapp”并回车确认,接下来需要输入项目存放的路径。在此我们选择默认路径,如需要可以按实际情况修改
使用AliOS Things 3.0快速构建用户应用 BlinkAPP
回车确认后,需要选择用于运行当前APP的board硬件。在此我们依然选择develpoerkit开发板。此时,会自动生成相关工程,并在VS code中打开。app_main.c文件,就是用户应用入口。
使用AliOS Things 3.0快速构建用户应用 BlinkAPP
一张动图演示全流程
使用AliOS Things 3.0快速构建用户应用 BlinkAPP

编写应用代码

在app_main.c中添加代码,实现两个任务分别以不同的频率点亮LED1和LED2

/*
 * Copyright (C) 2015-2017 Alibaba Group Holding Limited
 */

#include <stdio.h>

#include <aos/kernel.h>

#include <aos/hal/gpio.h>   // 引入gpio的支持

#define LED1_PIN    22      // LED1=PB6 1x16+6
#define LED2_PIN    67      // LED2=PE3 4x16+3

gpio_dev_t led1,led2;

void led_init()
{
    int ret = -1;
    /* gpio port config */
    led1.port = LED1_PIN;
    /* set as output mode */
    led1.config = OUTPUT_PUSH_PULL;

    /* gpio port config */
    led2.port = LED2_PIN;
    /* set as output mode */
    led2.config = OUTPUT_PUSH_PULL;
    /* configure GPIO with the given settings */
    ret = hal_gpio_init(&led1);
    ret = hal_gpio_init(&led2);
}

static void led1_task(void *paras)
{
    while (1)
    {
        hal_gpio_output_toggle(&led1);  // led1反转
        aos_msleep(200);                // 任务挂起200ms
    }
    
}

static void led2_task(void *paras)
{
    while (1)
    {
        hal_gpio_output_toggle(&led2);  // led2反转
        aos_msleep(500);                // 任务挂起500ms
    }
    
}
/**********************user code*************************/
int application_start(int argc, char *argv[])
{
    /*add your code*/
    led_init();                                         // LED IO初始化
    aos_task_new("led1_task", led1_task, NULL, 128);    // 新建LED1闪烁任务
    aos_task_new("led2_task", led2_task, NULL, 128);    // 新建LED2闪烁任务

    while(1) {
        /*add your code*/
        printf("Blink APP is running\r\n");

        aos_msleep(1000);
    };
}

点击VS code状态栏中的“√”按钮,进行编译。编译完成后,将开发板与PC连接,点击“闪电”按钮,将固件下载至开发板运行
使用AliOS Things 3.0快速构建用户应用 BlinkAPP
以上就是一个基础的给予AliOS Things3.0的应用开发过程。创建的应用单独存在与一个独立的文件夹中,可以将应用拷贝至其他具备想用AliOS Things3.0环境的开发机上进行继续开发,实现代码分享。接下来,你可以试试创建一个自己的应用。


关联内容

1、看见源码:立刻体验AliOS Things 3.0 !(立即了解
2、阿里云AIoT产品布局(立即了解
3、免费试用AIoT应用开发工具(立即了解

觉得还不错的话,请为AliOS Things 3.0一颗STAR吧

上一篇:DIY物联网应用 1-学习计划


下一篇:【Oracle】Oracle 11gR2发布11.2.0.3 Patchset补丁集