一砌创、寫在前面过牙;
???? 自從引進(jìn)了 AI時(shí)代 這個(gè)詞語甥厦,我們都在考慮如何把現(xiàn)有的產(chǎn)品去和這個(gè)詞語打上關(guān)系!我記得去年時(shí)候寇钉,大學(xué)母校為了參加廣東省電子設(shè)計(jì)大賽而設(shè)計(jì)的一個(gè)AI語音項(xiàng)目刀疙,邀請我去做一些技術(shù)分析,那時(shí)候我對這個(gè)AI理解就是人工語音交互硬件設(shè)備扫倡!
???? 以此之后谦秧,公司就不斷做各種語音音響接入了,包括我業(yè)余時(shí)間做的項(xiàng)目撵溃,這里就分享給大家我對天貓精靈智能音響接入方式和常見的問題疚鲤!
???? 因?yàn)槲覀€(gè)人做過這五種方式對接,包括服務(wù)器缘挑、前端和設(shè)備端開發(fā)集歇,也算是比較熟悉了,今天周末有空整理下博文給大家语淘,竟然花了我整整半天時(shí)間編寫和排版配圖诲宇;
二、天貓精靈開放平臺(tái)惶翻;
???? 作為一個(gè)程序員姑蓝,要對接天貓精靈必須要知道 AliGenie 開發(fā)者平臺(tái),下面說的如何通過早期阿里小智吕粗、aliosthings纺荧、云云對接、藍(lán)牙 sig mesh和wifi直連等操作都是基于這個(gè)平臺(tái)操作的颅筋!
???? 然而宙暇,如果你是一個(gè)早起的開發(fā)者,要接入天貓精靈议泵,還會(huì)知道阿里云有這么一個(gè)產(chǎn)品“阿里小智”占贫,這個(gè)也是對接天貓精靈的。然而現(xiàn)在已經(jīng)基本沒人用了肢簿,也許是不怎么維護(hù)了或者其他原因,畢竟阿里現(xiàn)在也不推這個(gè)了蜻拨!
???? 但我還是會(huì)分享下目前對接天貓精靈智能音響的五種途徑池充。
AliGenie開發(fā)者平臺(tái)
???? AliGenie開發(fā)者平臺(tái)是阿里巴巴人工智能實(shí)驗(yàn)室(AI-Labs)面向軟硬件廠商和開發(fā)者推出的,將人工智能中ASR語音識(shí)別缎讼、NLP自然語言處理收夸、TTS語音合成等自然語言處理技術(shù)和能力對外共享的開放式平臺(tái)。
???? 平臺(tái)針對不同類型的開發(fā)者提供了豐富的開發(fā)工具血崭,協(xié)助開發(fā)者完成語音技能的開發(fā)卧惜、智能設(shè)備的接入厘灼、云端服務(wù)的接入等。依托強(qiáng)大的底層技術(shù)咽瓷、智能的算法引擎设凹、完善的云端服務(wù)和成熟的軟硬件標(biāo)準(zhǔn)系統(tǒng),AliGenie會(huì)持續(xù)不斷的將全面茅姜、易用的核心技術(shù)能力進(jìn)行輸出闪朱,為開發(fā)者帶去更多可能。
三钻洒、途徑1:早期阿里智能平臺(tái) ----- 阿里小智奋姿。
???? 先上一個(gè)最近微博看到的:
???? 當(dāng)我看見這個(gè),我內(nèi)心是平靜的素标,因?yàn)槲覍@個(gè)耳熟能詳了称诗,從2017年就開始弄這個(gè)了半年多了的確,阿里智能APP是好久沒更新了头遭,但是主功能的設(shè)備配網(wǎng)界面UI寓免、控制面板都是在云端編輯的,因?yàn)樗?ReactNative
這些優(yōu)秀的跨平臺(tái)的語言開發(fā)的任岸,也許這樣對于升級(jí)版本的操作不頻繁很有好處再榄!
- <font color=red size=5>簽約入駐:</font>和我們平時(shí)在其他官網(wǎng)開發(fā)接入某些產(chǎn)品一樣,都是需要入駐的享潜,但是明確指出這里必須是 企業(yè)性質(zhì)的支付寶賬號(hào)困鸥!個(gè)人開發(fā)者賬號(hào)不行哦!剑按!
- <font color=red size=5>簽約直連協(xié)議:</font>為什么要簽這協(xié)議疾就?因?yàn)榘⒗镏悄荛_放平臺(tái)是有多個(gè)協(xié)議的,有模組商簽訂協(xié)議艺蝴、方案商簽訂協(xié)議猬腰、直連模式協(xié)議和SDS
(smart device service)
協(xié)議,其中我們設(shè)備端接入有直連模式協(xié)議和SDS協(xié)議猜敢,那么下面都是講直連模式協(xié)議不收費(fèi)的(當(dāng)初我們都喜歡這方式不用買流量)姑荷,而SDS
單個(gè)設(shè)備收費(fèi)的,我之前用Android
對接接入過了缩擂,這種方式是支 SDK開發(fā)移動(dòng)端的(包括Android
和ios
)鼠冕;
- <font color=red size=5>產(chǎn)品配置:</font>這個(gè)流程其實(shí)沒什么好分享的,它已經(jīng)支持了很多設(shè)備端了胯盯,在新建產(chǎn)品時(shí)候注意下 無線模組信息 選擇懈费;可以看下圖!以及注意自己產(chǎn)品的技能博脑,比如色溫調(diào)節(jié)憎乙、開關(guān)亮度或者溫度調(diào)節(jié)等票罐,后面的設(shè)備端開發(fā)都是基于這個(gè)技能決定通訊協(xié)議,一旦決定下來泞边,有個(gè) TRD 表格该押,顧名思義就是設(shè)備屬性表,里面詳細(xì)地列出了協(xié)議的必須具備的字段和范圍繁堡;
- <font color=red size=5>測試并申請上架:</font>測試是最頭疼的沈善,下載測試版阿里智能APP,嚴(yán)格按照平臺(tái)給的測試標(biāo)準(zhǔn)椭蹄,測試基本功能是沒問題的闻牡,但是有另外一點(diǎn)需要測試:24小時(shí)聯(lián)網(wǎng)不掉線!這個(gè)測試點(diǎn)曾經(jīng)讓我頭疼幾天绳矩,公司為此特意申請一條網(wǎng)線去給 esp8266 不掉線罩润!測試完畢之后,后臺(tái)數(shù)據(jù)可以查詢翼馆!之后提交測試報(bào)告等資料割以,就會(huì)有專門的測試人員在釘釘上加您好友聯(lián)系你,遠(yuǎn)程測試看數(shù)據(jù)应媚!
- <font color=red size=5>上架:</font>測試通過之后严沥,就可以在天貓精靈阿里智能產(chǎn)品列表找到你的產(chǎn)品了,用戶就可以在瀏覽看到你的產(chǎn)品啦 中姜!注意一點(diǎn):未上架的產(chǎn)品是不能被天貓精靈語音發(fā)現(xiàn)和控制的消玄!
???? 新建產(chǎn)品:
???? 設(shè)備屬性查看:
???? 申請上架,通過之后丢胚,就可以天貓精靈語音控制了:
四翩瓜、途徑2:云云對接。
???? 因?yàn)槟壳坝行┥碳矣凶约撼墒斓闹悄苡布头?wù)器云端携龟,但是想把現(xiàn)成的產(chǎn)品對接到天貓精靈語音控制兔跌,所以才有這樣的云云對接的需求;總的來說峡蟋,就是 天貓精靈 ---> 天貓精靈服務(wù)器--->商家服務(wù)器--->商家智能設(shè)備
惯悠,這樣的流程棒厘!
????上圖可以看到希停,大多數(shù)交互邏輯都是在服務(wù)器進(jìn)行的拔莱,所以,服務(wù)器開發(fā)是業(yè)務(wù)的邏輯關(guān)鍵所在匿又,一般我們常見的服務(wù)器開發(fā)有php方灾、java建蹄、.net或近幾年流行的 node.js 碌更;而我本人是用php 開發(fā)的裕偿,大家可以去我的 CSDN博客看看一些筆記:
????我開始也是蒙著一頭霧水去學(xué)這個(gè)協(xié)議,百度啊搜狗啊痛单,愛奇藝嘿棘、優(yōu)酷網(wǎng)址搜索視頻學(xué)習(xí),東籌西集旭绒,終于跑通了鸟妙!也就認(rèn)識(shí)理解了!大家不懂的玩意挥吵,還是要多琢磨幾天重父,就懂了!還是應(yīng)了那句話“天道酬勤”:鲂佟房午!
????這協(xié)議其實(shí)已經(jīng)廣泛被應(yīng)用了,在我們使用一些網(wǎng)站登錄經(jīng)常遇到丹允,比如下面的迅捷畫圖網(wǎng)站:
????在代碼邏輯過程是:迅捷畫圖網(wǎng)站會(huì)提交一則消息到騰訊QQ授權(quán)中心網(wǎng)站的認(rèn)證中心郭厌,如果已經(jīng)在騰訊QQ網(wǎng)站后臺(tái)注冊了,就是展示給用戶一個(gè)登錄界面雕蔽,當(dāng)用戶操作輸入密碼或者其他方式登錄使得登錄成功折柠,則騰訊QQ授權(quán)中心網(wǎng)站就會(huì)攜帶當(dāng)前用戶的信息返回給迅捷畫圖網(wǎng)站!這樣就可以實(shí)現(xiàn) 迅捷畫圖網(wǎng)站不知道當(dāng)前QQ用戶登錄的賬號(hào)和密碼批狐,也可以獲取當(dāng)前QQ用戶的信息扇售,實(shí)現(xiàn)登錄!這就是 oauth2.0 的強(qiáng)大之處贾陷!
①:在私有云服務(wù)器已經(jīng)注冊了一個(gè)第三方的客戶端的信息(名字 + 密鑰)缘眶,第一步天貓精靈服務(wù)器會(huì)以oauth2.0標(biāo)準(zhǔn)協(xié)議攜帶這個(gè)名字向我們的服務(wù)器發(fā)起授權(quán)請求!
②:這時(shí)候髓废,就是我們服務(wù)器要做給用戶展示是否授權(quán)了巷懈,如果授權(quán)成功,就把這個(gè)授權(quán)碼+當(dāng)前的用戶信息保存在數(shù)據(jù)庫慌洪!顶燕,并且把授權(quán)碼回復(fù)給天貓精靈服務(wù)器!冈爹!
③:上步驟拿到這個(gè)授權(quán)碼是有有效時(shí)間的涌攻,就像我們買了的中了獎(jiǎng)的彩票一樣,不去兌換就會(huì)過期無法兌換現(xiàn)金频伤!而這個(gè)有效時(shí)間是我們私有服務(wù)器設(shè)置的恳谎,默認(rèn)是30秒!所以,天貓精靈服務(wù)器會(huì)在30秒內(nèi)請求我們提供的接口來獲取唯一票據(jù)憑證access_token!
-
④:當(dāng)我們私有服務(wù)器校驗(yàn)這個(gè)是在有效時(shí)間內(nèi)請求的話因痛,就會(huì)以oauth2.0標(biāo)準(zhǔn)協(xié)議發(fā)送分配一個(gè)唯一票據(jù)憑證access_token!給天貓精靈服務(wù)器婚苹,這時(shí)候,天貓精靈每次來發(fā)現(xiàn)鸵膏、控制和查詢設(shè)備都會(huì)攜帶這個(gè)access_token前來操作膊升!
當(dāng)然,這個(gè)access_token也是有有效時(shí)間的谭企,天貓精靈服務(wù)器推薦為 2天內(nèi)廓译!
???? 可以看看下面已經(jīng)上架的商家的產(chǎn)品:
五、途徑3:藍(lán)牙直連(sig mesh)债查。
????藍(lán)牙直連是指藍(lán)牙設(shè)備直連天貓精靈智能音箱非区,就好像是智能手機(jī)連接藍(lán)牙耳機(jī)一樣;可以對著天貓精靈智能音箱找隊(duì)友盹廷,它就會(huì)去發(fā)現(xiàn)和配對牙設(shè)備了院仿!
????藍(lán)牙m(xù)esh設(shè)備必須具備mesh協(xié)議里定義的Relay、Proxy功能速和,LPN和Friend功能可選歹垫。低功耗設(shè)備采用精靈低功耗(GLP)方案,LPN方案可選颠放。特殊產(chǎn)品會(huì)如果僅需支持部分功能將在產(chǎn)品軟件規(guī)范中明確說明具體需要支持的功能排惨。
???? 要求至少支持2個(gè)NetKey,總計(jì)10個(gè)AppKey碰凶。
????藍(lán)牙sig mesh是目前較為前沿的技術(shù)了暮芭,網(wǎng)上的資料也很少,我也弄過的這個(gè)協(xié)議欲低,不怎么熟悉因?yàn)槟芰τ邢拊辏詫W(xué)路上漫漫遠(yuǎn)長!這里分享個(gè)資料砾莱,紅旭團(tuán)隊(duì)將會(huì)出個(gè)sig mesh教程瑞筐,這讓我很期待,下面給個(gè)大綱:
???? 之前弄過TLSR8659
腊瑟、Realtek
等芯片聚假,不過都是封裝好的,文檔少闰非,其中的原理還是不熟透膘格!
???? 請登錄開放平臺(tái):https://iot.aligenie.com/home 查閱官方文檔為準(zhǔn)!
六财松、途徑4:WiFi直連(比如 esp8266)瘪贱。
???? WiFi直連,顧名思義就是WiFi設(shè)備直連天貓精靈智能音箱,這個(gè)和藍(lán)牙直連一樣菜秦,都是支持 :對著天貓精靈智能音箱找隊(duì)友其徙,它就會(huì)去發(fā)現(xiàn)和配對牙設(shè)備了!
???? 配網(wǎng)功能目前支持天貓精靈音響“找隊(duì)友”以及天貓精靈APP添加智能設(shè)備兩種方式喷户。通過天貓精靈或天貓精靈APP配網(wǎng)成功之后,Wi-Fi SDK會(huì)自動(dòng)連接精靈云服務(wù)访锻,連接精靈云服務(wù)成功之后褪尝,用戶便可感受智能家居體驗(yàn)了。
???? 請登錄開放平臺(tái):https://iot.aligenie.com/home 查閱官方文檔為準(zhǔn)期犬!
???? 也許因?yàn)樽约菏菢扶沃覍?shí)fans河哑,偶然的機(jī)會(huì)在天貓精靈IOT平臺(tái)看到支持esp8266直連天貓精靈,我開始是想以公司申請 SDK開發(fā)包龟虎,但覺得走流程太遠(yuǎn)了璃谨,于是乎自己個(gè)人名義申請?jiān)囅拢凑疽膊患庇美鹜祝瑳]想到佳吞,一下子通過了!真感謝樂鑫的支持C薨病底扳!
七、途徑5:aliosThings直連阿里飛燕平臺(tái)贡耽。
???? AliOS Things發(fā)布于2017年杭州云棲大會(huì)衷模, 是 AliOS 家族旗下的、面向IoT領(lǐng)域的蒲赂、高可伸縮的物聯(lián)網(wǎng)操作系統(tǒng)阱冶,于2017年10月20號(hào)宣布在github上開源。
???? 其支持接入阿里的飛燕平臺(tái)滥嘴,擁有從設(shè)備功能定義木蹬、開發(fā)調(diào)試、設(shè)備加密若皱、云端開發(fā)届囚、APP開發(fā)、運(yùn)營管理是尖、數(shù)據(jù)統(tǒng)計(jì)等意系,覆蓋從前期開發(fā)到后期運(yùn)營的全生命周期。最重要的是饺汹,支持接入多種物聯(lián)網(wǎng)平臺(tái)蛔添,包括阿里智能天貓精靈、亞馬遜云、Google Home
音箱控制迎瞧;
????前面已經(jīng)提到了夸溶,其支持的阿里飛燕平臺(tái),提供了從設(shè)備功能定義凶硅、開發(fā)調(diào)試缝裁、設(shè)備加密、云端開發(fā)足绅、APP開發(fā)捷绑、運(yùn)營管理、數(shù)據(jù)統(tǒng)計(jì)等氢妈,覆蓋從前期開發(fā)到后期運(yùn)營的全生命周期粹污。平臺(tái)具有高穩(wěn)定、高并發(fā)首量、高安全壮吩、強(qiáng)生態(tài)的特點(diǎn)。
綜上所述加缘,對于一些中小企業(yè)公司來說鸭叙,可以免去搭建硬服務(wù)器這塊硬傷,因?yàn)樽龊靡粋€(gè)服務(wù)器拣宏,考慮到均衡負(fù)載递雀、高并發(fā) ????的穩(wěn)定性,考慮到大數(shù)據(jù)統(tǒng)計(jì)蚀浆,以及全球部署缀程,維護(hù)起來都是很大的一筆費(fèi)用。
???? 因此市俊,接入阿里的飛燕平臺(tái)是個(gè)不錯(cuò)的選擇杨凑。其由我們的阿里云服務(wù)器支持,有我們的淘寶摆昧、支付寶等支持撩满,對于國內(nèi)確實(shí)是個(gè)不錯(cuò)的選擇第三方平臺(tái)。既然阿里飛燕平臺(tái)這么強(qiáng)大绅你,那么阿里也是提供了嵌入式開發(fā)系統(tǒng)Alios-Things伺帘,目前一直在增加支持更多的芯片,包括大家熟悉的 stm32忌锯、慶科的 3080伪嫁,當(dāng)然啦,還有樂鑫的 esp8266和esp32偶垮,都一直在適配中张咳。
????大家可以來我博客具體查閱學(xué)習(xí)帝洪!
- 公版App中,通過淘寶賬號(hào)登錄脚猾,成功綁定天貓精靈葱峡。
- 完成以上步驟后,您可以通過天貓精靈音箱控制您的設(shè)備了
七龙助、總結(jié)砰奕;
TOP.1
- 適合個(gè)人開發(fā)接入的有云對云對接和aliosThings接入控制智能硬件,包括esp8266等提鸟;
TOP.2
- 云對云對接需要熟悉服務(wù)器端開發(fā)以及設(shè)備端開發(fā)军援,弄熟整個(gè)通訊的流程尤其重要!
TOP.3
- Wi-Fi直連或藍(lán)牙 sig mesh sdk 直連需要向廠商申請沽一,意味著如果你和原廠商很熟,也可以個(gè)人開發(fā)漓糙!
另外铣缠,不要把我的博客作為學(xué)習(xí)標(biāo)準(zhǔn),我的只是筆記昆禽,難有疏忽之處蝗蛙,如果有,請指出來醉鳖,也歡迎留言哈捡硅!
- 玩轉(zhuǎn)
esp8266
帶你飛、加群付費(fèi)QQ
群盗棵,不喜的朋友勿噴勿加:434878850 - esp8266源代碼學(xué)習(xí)匯總(持續(xù)更新壮韭,歡迎star):https://github.com/xuhongv/StudyInEsp8266
- esp32源代碼學(xué)習(xí)匯總(持續(xù)更新,歡迎star):https://github.com/xuhongv/StudyInEsp32
- 關(guān)注下面微信公眾號(hào)二維碼纹因。歡迎歡迎喷屋!
<center>
<img src ="https://img-blog.csdnimg.cn/20190430143723867.png"/>
</center>