Alios-Thins教程連載 ③ 圖文並茂教你使用樂鑫esp8266輕鬆連線阿里飛燕平臺,實現輕鬆對接天貓精靈 。(上篇)(附帶demo)
阿新 • • 發佈:2019-02-14
- 本博文目錄:
一、 前言;
阿里巴巴出來的
天貓精靈x1
早已經出來一年多來了,今年還出來了方糖等智慧音箱,在去年時候,我還寫了esp8266
如何直連阿里智慧平臺,那個是屬於直連模式;而這篇文章主要還是介紹如何介入阿里物聯網生活2.0,無非就是阿里智慧平臺的升級,我們也叫飛燕平臺;升級的內容也是很強大的,支援很多晶片,目前我看到都有20
多種了,而且還有demo
提供給我們;最重要的是,它是一條龍服務;
- 飛燕平臺的接入使用阿里巴巴提供開源的
alios-things
嵌入式系統,並且提供一個叫linkkitapp
的程式碼工程示範。 - 該
alios-things
嵌入式系統由阿里巴巴日常維護和適配各大晶片模組廠商,並且個人技術愛好者也可以貢獻程式碼pull quest
- 阿里伺服器的服務質量不容置疑,從
UI
到大資料都是一流的,有阿里伺服器的支撐,可以實現如下功能: - 這麼強大,那肯定是收費的!!使用一碼一裝置,多少錢一個啟用碼自己查詢下吧!這樣保證了強大的安全性!
- 在前端部分提供了
SDK
包,支援自主開發APP
,也可以支援公版APP
,話說這個這真的是大大減少了入門門檻! - 不足地方嘛!?部分晶片適配工作還沒完全成熟,需要大家一起去開發和適配!不過底層的東西都是已經適配好了,不必擔心!
二、 飛燕平臺新建產品並配置控制面板;
①:登入後臺;
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
,修改裡面的資訊:- 把我們專案的產品
key
和secret
以及我們新建的測試產品的name
和secret
如下圖覆蓋:
- 把我們專案的產品
- 然後,我們要知道阿里的配網流程和我們之前不一樣,先調取配網方法,再調取確認配網方法,以往我們是直接一個就可以了。具體的配網流程看這裡點我 。我這裡結合上篇的
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
- 然後,就會檢測到手機發來的訊號了,同時連線路由器,重啟系統,手機提示連線成功,開啟如下介面,是不是我們上面說的介面啊?