使用AliOS Things3.0 快速構建用戶應用BlinkAPP

摘要

AliOS Things 3.0版本於9月27日在雲棲大會正式發佈,在新版本中帶來了全新的應用開發框架,幫助用戶快速構建本身的應用。使用戶能夠更專一於自身應用的開發。本文將已BlinkAPP爲例,爲你們演示如何快速使用應用開發框建立項目並完成應用代碼編寫。html

獲取源碼

你們能夠經過github和可視化裁剪工具獲取最新的AliOS Things3.0 源碼。ios

設置本地開發環境

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工具。git

升級aos-cube工具

打開vs code並啓動終端,在終端中輸入以下命令:github

pip install -U aos-cube

命令正確運行後,經過windows

pip list

命令,能夠看到aos-cube升級到了 0.3.7版本app

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. 右鍵單擊"個人電腦"在下拉菜單中選擇「屬性」
    1_
  2. 在彈出窗口中選擇「高級系統設置」
    2_
  3. 在系統屬性設置「高級」選項卡中,點擊「環境變量」按鈕
    3_
  4. 在彈出窗口中選擇「系統變量」下的「新建」按鈕
    4_
  5. 在彈出窗口中填寫環境變量路徑。這裏須要根據實際的AliOS Things 3.0源碼的存放路徑填寫
    5_

至此AliOS Things3.0的開發環境配置完畢,如今咱們能夠經過VS code來新建用戶應用工程,開始用戶應用編寫和調試了。url

新建項目

關閉VS code並從新打開,以使得VS code能夠獲取到正確的環境變量。
在VS code中點擊alios-studio提供的「+」按鈕新建項目(按鈕位於),工具會彈出爲項目命名的提示。
1_
將項目命名爲「blinkapp」並回車確認,接下來須要輸入項目存放的路徑。在此咱們選擇默認路徑,如須要能夠按實際狀況修改
2_
回車確認後,須要選擇用於運行當前APP的board硬件。在此咱們依然選擇develpoerkit開發板。此時,會自動生成相關工程,並在VS code中打開。app_main.c文件,就是用戶應用入口。
3_
一張動圖演示全流程
_spa

編寫應用代碼

在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鏈接,點擊「閃電」按鈕,將固件下載至開發板運行
2
以上就是一個基礎的給予AliOS Things3.0的應用開發過程。建立的應用單獨存在與一個獨立的文件夾中,能夠將應用拷貝至其餘具有想用AliOS Things3.0環境的開發機上進行繼續開發,實現代碼分享。接下來,你能夠試試建立一個本身的應用。


看見源碼:馬上體驗AliOS Things 3.0 !(當即瞭解

 

閱讀原文

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索