1. 介紹
目前,多數(shù)無(wú)人機(jī)廠商提供了專供開(kāi)發(fā)者使用的Mobile SDK開(kāi)發(fā)包,方便開(kāi)發(fā)者或使用者可以定制自己的App。本文使用的是大疆無(wú)人機(jī)Phantom 3 4K型號(hào),使用了Mobile SDK for iOS平臺(tái)的開(kāi)發(fā)包。請(qǐng)注意并不是所有的無(wú)人機(jī)都提供并支持Mobile SDK開(kāi)發(fā)包,詳情請(qǐng)參考各無(wú)人機(jī)廠商網(wǎng)站上的信息。 IBM Bluemix 是一個(gè)供軟件開(kāi)發(fā)人員在云中快速創(chuàng)建、部署和管理應(yīng)用程序的云平臺(tái),基于開(kāi)源的Cloud Foundry、OpenStack、Docker等技術(shù)。IBM Bluemix提供了200多種即開(kāi)即用的服務(wù),覆蓋了認(rèn)知、移動(dòng)App、一體化運(yùn)維、Web和應(yīng)用程序、網(wǎng)絡(luò)、集成、大數(shù)據(jù)分析、安全、數(shù)據(jù)存儲(chǔ)空間、業(yè)務(wù)分析、物聯(lián)網(wǎng)等。這些服務(wù)大多數(shù)由IBM開(kāi)發(fā)和維護(hù),也有第三方、相關(guān)社區(qū)貢獻(xiàn)的服務(wù)。
2. 運(yùn)行架構(gòu)
3. 詳細(xì)實(shí)現(xiàn)步驟
a. 注冊(cè)IBM Bluemix,Watson“語(yǔ)音轉(zhuǎn)文本”服務(wù) 訪問(wèn) IBM Bluemix網(wǎng)站 http://www.bluemix.net ,按提示進(jìn)行免費(fèi)注冊(cè)您的賬戶。你有30天的試用期,無(wú)需提供信用卡。您可以訪問(wèn) 2 GB 的運(yùn)行時(shí)和容器內(nèi)存以運(yùn)行應(yīng)用程序,并可獲得無(wú)限制的 IBM 服務(wù)和 API 以及贈(zèng)送的技術(shù)支持。 注冊(cè)成功后,您會(huì)在注冊(cè)郵箱中收到一封確認(rèn)電子郵件,確認(rèn)后,恭喜你加入了IBM Bluemix。 用您的賬號(hào)登錄 IBM Bluemix網(wǎng)站 http://www.bluemix.net ,在“目錄”中找到“語(yǔ)音轉(zhuǎn)文本”服務(wù),此服務(wù)支持流式音頻和錄制音頻,支持中文普通話、英語(yǔ)、日文、阿拉伯文、西班牙文、葡萄牙文。然后創(chuàng)建此服務(wù)。
雙擊后,創(chuàng)建此服務(wù)實(shí)例
點(diǎn)擊“創(chuàng)建”后,得到服務(wù)憑證如下:
記錄下這些憑證信息。 b. 注冊(cè)大疆無(wú)人機(jī)開(kāi)發(fā)者賬號(hào),下載無(wú)人機(jī)Mobile SDK 訪問(wèn)大疆開(kāi)發(fā)者論壇網(wǎng)站 http://forum.dev.dji.com/cn ,申請(qǐng)成為開(kāi)發(fā)者。按提示注冊(cè)成功后,請(qǐng)登錄。在用戶中心,創(chuàng)建一個(gè)您的應(yīng)用。如下圖:
“創(chuàng)建應(yīng)用”時(shí)選擇Mobile SDK類(lèi)型,如下圖,注意標(biāo)識(shí)碼是您創(chuàng)建的App的識(shí)別碼。
創(chuàng)建成功后,根據(jù)提示請(qǐng)?jiān)诩せ钹]件中激活你的應(yīng)用。然后就可以得到App密鑰:一串字符。 記錄下您的App的標(biāo)識(shí)碼和APP密鑰。 登錄大疆的樣例代碼庫(kù)網(wǎng)址 https://github.com/dji-sdk/Mobile-SDK-iOS ,下載樣例庫(kù)。有兩個(gè)版本的,Objective-C和Swift,本文使用的是Swift版本的。 下載zip包加壓后,點(diǎn)擊目錄中的項(xiàng)目文件即可在Xcode中打開(kāi)此樣例項(xiàng)目。然后編譯運(yùn)行App到iPhone手機(jī)或iPad上,打開(kāi)無(wú)人機(jī)電源,打開(kāi)無(wú)人機(jī)遙控器電源,然后查看App能否連接上并控制無(wú)人機(jī)。若沒(méi)有問(wèn)題,繼續(xù)下一步。需要成功運(yùn)行樣例代碼并連接上可控制無(wú)人機(jī)后才可以進(jìn)行下一步操作。 c. 調(diào)用Bluemix“語(yǔ)音轉(zhuǎn)文本”服務(wù) 因?yàn)樵赟wift樣例庫(kù)沒(méi)有相關(guān)錄制語(yǔ)音的代碼,從 https://github.com/lfb-cd/recordDemo 網(wǎng)站上借鑒了該作者的代碼。非常感謝作者的分享。 改寫(xiě)代碼,在代碼中使用您創(chuàng)建的IBM Bluemix“語(yǔ)音轉(zhuǎn)文本”服務(wù)的憑證。錄制完語(yǔ)音后調(diào)用 IBMBluemix“語(yǔ)音轉(zhuǎn)文本”服務(wù),結(jié)果返回對(duì)應(yīng)文本,如從中文語(yǔ)音“起飛”到文本“起飛”,從英文“take off”到文本“take off ”。 下一步,將上述語(yǔ)音錄制代碼并入到大疆Mobile SDK樣例項(xiàng)目中。首先在大疆Mobile SDK樣例項(xiàng)目中配置正確的您的App的標(biāo)識(shí)碼和App密鑰。 當(dāng)選擇語(yǔ)音類(lèi)型后,開(kāi)始錄音,停止錄音后,調(diào)用IBM Bluemix“語(yǔ)音轉(zhuǎn)文本”服務(wù),根據(jù)返回結(jié)果調(diào)用大疆Mobile SDK樣例中對(duì)應(yīng)API,即可實(shí)現(xiàn)語(yǔ)音控制無(wú)人機(jī)。 下圖為部分代碼示例:
d. 調(diào)試實(shí)測(cè) 上述步驟全部完成后,即可開(kāi)始實(shí)測(cè)。 打開(kāi)無(wú)人機(jī)電源,打開(kāi)無(wú)人機(jī)遙控器電源,然后再運(yùn)行App。 首先連接上無(wú)人機(jī),打開(kāi)語(yǔ)音控制,選擇不同的語(yǔ)音類(lèi)型,開(kāi)始錄音,停止錄音來(lái)控制無(wú)人機(jī)起飛、降落、返航。 下圖為App部分界面圖:
4. 后續(xù)研究
更多控制指令,如前進(jìn)多少米,后退、升高、下降、拍照、錄像、定點(diǎn)巡航等。 圖像識(shí)別,無(wú)人機(jī)在熱點(diǎn)追蹤或自動(dòng)巡航過(guò)程中,識(shí)別出特定圖像時(shí)執(zhí)行特定動(dòng)作(返航、或在app中報(bào)警提醒等) 熱成像識(shí)別,無(wú)人機(jī)識(shí)別出熱成像動(dòng)物或人類(lèi)時(shí)在app報(bào)警,并提供詳細(xì)位置信息。用于搜救等工作。需要配置熱成像攝像頭。