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