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