1. 程式人生 > >esp8266對接天貓精靈(3)原理

esp8266對接天貓精靈(3)原理



這一篇文章主要講解伺服器端的設定,這裡我使用的是騰訊雲,當時學生價1塊錢一個月買的,現在的學生價漲到了10塊,為我當時的機智點贊。為什麼一定要使用伺服器呢,這個是因為天貓精靈協議的對接是雲伺服器與雲伺服器的對接並不支援與硬體裝置的直接對接,看一下天貓精靈的接入方式的簡介就可以知道了。

從圖中可以看到,使用者的語音指令通過天貓精靈上傳阿里雲語音伺服器通過解析後傳送響應的協議到第三方裝置控制雲(前提是要有第三方的授權),然後第三方的雲再與使用者的裝置進行溝通控制。這種控制方式我個人認為是很合理的,首先這是兩套獨立的系統,只是通過協議對接,相互不相影響,獨立性高,安全性高。阿里專注於做語音識別,語義分析等AI方面的事情,而第三方硬體廠商專注於做自己的硬體裝置,各歸其所,能把產品的效能發揮到極致。

在這再次宣告,我的目的是通過使用一定的方法達到我的目的,對於深層次的東西並沒有深究,由於涉及的東西過多,文章中如果出現錯誤,麻煩大神一定批評指正,謝謝。


在正式做之前我們先把這個原理捋一捋,原理清楚了就知道我們要做什麼了,下邊的一段內容主要是參考天貓精靈的官方開發文件。只擷取重點。首先我們要在天貓精靈的開發網站上釋出一項智慧家居的技能,最關鍵的是在技能釋出的時候的服務設定,這裡就明確要求了我們一定要有第三方授權協議的支援Oauth2。

當授權成功後,對接協議會利用POST傳送一條裝置探測資訊,我們需要按照協議的標準返回裝置資訊,具體協議文字如下。

所以這裡就需要使用https的post和相關協議解析等,另外對於相應的https協議要有簽名證書,自簽名的協議不可用,所以我們就要進行相關的SSL簽名證書的獲取。

當一切完事之後這個橋就算搭上了,也就是說你已經能拿到天貓精靈經過分析後的動作、裝置名等一系列的資訊了,剩下的事就是你的裝置與你的雲伺服器進行通訊的事了。我們就按照這個思路走下去。