1. 程式人生 > >Alios-Thins教程連載 ③ 圖文並茂教你使用樂鑫esp8266輕鬆連線阿里飛燕平臺,實現輕鬆對接天貓精靈 。(上篇)(附帶demo)

Alios-Thins教程連載 ③ 圖文並茂教你使用樂鑫esp8266輕鬆連線阿里飛燕平臺,實現輕鬆對接天貓精靈 。(上篇)(附帶demo)

  • 本博文目錄:

一、 前言;

     阿里巴巴出來的天貓精靈x1早已經出來一年多來了,今年還出來了方糖等智慧音箱,在去年時候,我還寫了esp8266如何直連阿里智慧平臺,那個是屬於直連模式;而這篇文章主要還是介紹如何介入阿里物聯網生活2.0,無非就是阿里智慧平臺的升級,我們也叫飛燕平臺;升級的內容也是很強大的,支援很多晶片,目前我看到都有20多種了,而且還有demo提供給我們;最重要的是,它是一條龍服務;

  1. 飛燕平臺的接入使用阿里巴巴提供開源的alios-things嵌入式系統,並且提供一個叫linkkitapp的程式碼工程示範。
  2. alios-things嵌入式系統由阿里巴巴日常維護和適配各大晶片模組廠商,並且個人技術愛好者也可以貢獻程式碼pull quest
    到倉庫,可謂是福音啊!
  3. 阿里伺服器的服務質量不容置疑,從UI到大資料都是一流的,有阿里伺服器的支撐,可以實現如下功能:
  4. 這麼強大,那肯定是收費的!!使用一碼一裝置,多少錢一個啟用碼自己查詢下吧!這樣保證了強大的安全性!
  5. 在前端部分提供了SDK包,支援自主開發APP,也可以支援公版APP,話說這個這真的是大大減少了入門門檻!
  6. 不足地方嘛!?部分晶片適配工作還沒完全成熟,需要大家一起去開發和適配!不過底層的東西都是已經適配好了,不必擔心!

這裡寫圖片描述

二、 飛燕平臺新建產品並配置控制面板;

①:登入後臺;

1、先登入官網飛燕平臺,新建專案,成功之後如下:

這裡寫圖片描述

2、專案裡面包括多個產品,我們需要新建一個產品《燈》,協議選擇iCA
,成功之後列表會有一個產品資訊列表:

這裡寫圖片描述

這裡寫圖片描述

3、新產品的建立之後,我們需要為他配置控制面板,我們選擇公版APP,之後點選設定面板:

這裡寫圖片描述

4、配置控制面板,下面幾個屬性是根據您定義什麼屬性自動生成的,編輯之後,記得儲存並且釋出到《智慧家居》:

這裡寫圖片描述

5、因為正式生產是一碼一裝置,阿里提供給我們50個測試裝置數量,這50個測試裝置需要手動去獲取裝置碼,之後成功之後,開啟這個裝置,會出現阿里分配給我們的資訊,注意這幾個引數後面我們會用到哦!

這裡寫圖片描述

這裡寫圖片描述

6、其他的什麼配網步驟,語言設定,我們先不管,我們到此為止,基本的產品新建就此弄好了!

三、 裝置端程式碼跑起;

       對於怎麼搭建alios-things的環境搭建以及怎麼燒錄韌體到esp8266,這裡我就不再累贅了!下面我們關注我們的核心工程<linkkitapp>;

  • 首先,我們必須要開啟AliOS-Things\framework\protocol\linkkit\iotkit\sdk-encap\imports的這個檔案iot_import_product.h,修改裡面的資訊:

    • 把我們專案的產品keysecret以及我們新建的測試產品的namesecret如下圖覆蓋:

這裡寫圖片描述

  • 然後,我們要知道阿里的配網流程和我們之前不一樣,先調取配網方法,再調取確認配網方法,以往我們是直接一個就可以了。具體的配網流程看這裡點我 。我這裡結合上篇的gpio的程式碼,實現按鍵確認配網。核心程式碼如下:
#define GPIO_INPUT_IO 5
 gpio_dev_t input;

static void gpio_enable_irq(){
    hal_gpio_clear_irq(&input);
}

static void gpio_isr_handler(){
    //for esp8266 ,need to disable interrupt
    hal_gpio_disable_irq(&input);
    printf("gpio_isr_handler()\n");
    do_awss_active();
    //delay 2s ,then enable interrupt
    aos_post_delayed_action(2000, gpio_enable_irq, NULL);
}


void aos_gpio_init(){

 /* input pin config */
 input.port = GPIO_INPUT_IO;
 /* set as interrupt mode */
 input.config = IRQ_MODE;
 /* configure GPIO with the given settings */
 hal_gpio_init(&input);

 /* gpio interrupt config  */
 hal_gpio_enable_irq(&input, IRQ_TRIGGER_FALLING_EDGE, gpio_isr_handler, (void *)GPIO_INPUT_IO);
}
  • 之後,我們編譯一下工程,列印資訊中可能有警告,可以忽略:
aos make linkkitapp@esp8266

這裡寫圖片描述

  • 最後,我們燒錄韌體,我的是 esp8266-12f模組:

這裡寫圖片描述

四、 下載APP

  • 第二步:我們需要手動為我們的產品設定二維碼,百度任意一個自動生成二維碼的網址,我這裡選擇草料二維碼,文字資訊是根據我們的專案和裝置名字生成,格式如下:

    • 比如我的專案的產品金鑰是siod5624,裝置名字是xuhongTest
http://www.taobao.com?pk=siod5624&dn=xuhongTest

這裡寫圖片描述

  • 第三步:app掃碼此二維碼。之後的你懂的!

五、 我們的裝置重新上電,開始配置;

  • linkkitapp工程在首次執行時候,是預設進去配網模式的 ,首次執行之後2秒內我們要按鍵一下表示進去確認配網!
    • 注意先讓手機開始搜尋裝置,之後裝置上電開啟,然後2秒後按鍵一下確認配網,串列埠先列印下:
chan 6
chan 9
chan 11
chan 12
chan 1
chan 6
chan 11
chan 1
chan 2
chan 3
chan 4
chan 5
chan 6
chan 7
chan 8
chan 9
chan 10
chan 11
chan 12
chan 13
chan 1
chan 2
chan 6
chan 9
chan 11
  • 然後,就會檢測到手機發來的訊號了,同時連線路由器,重啟系統,手機提示連線成功,開啟如下介面,是不是我們上面說的介面啊?

這裡寫圖片描述

這裡寫圖片描述