1. 介绍
目前,多数无人机厂商提供了专供开发者使用的Mobile SDK开发包,方便开发者或使用者可以定制自己的App。本文使用的是大疆无人机Phantom 3 4K型号,使用了Mobile SDK for iOS平台的开发包。请注意并不是所有的无人机都提供并支持Mobile SDK开发包,详情请参考各无人机厂商网站上的信息。 IBM Bluemix 是一个供软件开发人员在云中快速创建、部署和管理应用程序的云平台,基于开源的Cloud Foundry、OpenStack、Docker等技术。IBM Bluemix提供了200多种即开即用的服务,覆盖了认知、移动App、一体化运维、Web和应用程序、网络、集成、大数据分析、安全、数据存储空间、业务分析、物联网等。这些服务大多数由IBM开发和维护,也有第三方、相关社区贡献的服务。
2. 运行架构
3. 详细实现步骤
a. 注册IBM Bluemix,Watson“语音转文本”服务 访问 IBM Bluemix网站 http://www.bluemix.net ,按提示进行免费注册您的账户。你有30天的试用期,无需提供信用卡。您可以访问 2 GB 的运行时和容器内存以运行应用程序,并可获得无限制的 IBM 服务和 API 以及赠送的技术支持。 注册成功后,您会在注册邮箱中收到一封确认电子邮件,确认后,恭喜你加入了IBM Bluemix。 用您的账号登录 IBM Bluemix网站 http://www.bluemix.net ,在“目录”中找到“语音转文本”服务,此服务支持流式音频和录制音频,支持中文普通话、英语、日文、阿拉伯文、西班牙文、葡萄牙文。然后创建此服务。
双击后,创建此服务实例
点击“创建”后,得到服务凭证如下:
记录下这些凭证信息。 b. 注册大疆无人机开发者账号,下载无人机Mobile SDK 访问大疆开发者论坛网站 http://forum.dev.dji.com/cn ,申请成为开发者。按提示注册成功后,请登录。在用户中心,创建一个您的应用。如下图:
“创建应用”时选择Mobile SDK类型,如下图,注意标识码是您创建的App的识别码。
创建成功后,根据提示请在激活邮件中激活你的应用。然后就可以得到App密钥:一串字符。 记录下您的App的标识码和APP密钥。 登录大疆的样例代码库网址 https://github.com/dji-sdk/Mobile-SDK-iOS ,下载样例库。有两个版本的,Objective-C和Swift,本文使用的是Swift版本的。 下载zip包加压后,点击目录中的项目文件即可在Xcode中打开此样例项目。然后编译运行App到iPhone手机或iPad上,打开无人机电源,打开无人机遥控器电源,然后查看App能否连接上并控制无人机。若没有问题,继续下一步。需要成功运行样例代码并连接上可控制无人机后才可以进行下一步操作。 c. 调用Bluemix“语音转文本”服务 因为在Swift样例库没有相关录制语音的代码,从 https://github.com/lfb-cd/recordDemo 网站上借鉴了该作者的代码。非常感谢作者的分享。 改写代码,在代码中使用您创建的IBM Bluemix“语音转文本”服务的凭证。录制完语音后调用 IBMBluemix“语音转文本”服务,结果返回对应文本,如从中文语音“起飞”到文本“起飞”,从英文“take off”到文本“take off ”。 下一步,将上述语音录制代码并入到大疆Mobile SDK样例项目中。首先在大疆Mobile SDK样例项目中配置正确的您的App的标识码和App密钥。 当选择语音类型后,开始录音,停止录音后,调用IBM Bluemix“语音转文本”服务,根据返回结果调用大疆Mobile SDK样例中对应API,即可实现语音控制无人机。 下图为部分代码示例:
d. 调试实测 上述步骤全部完成后,即可开始实测。 打开无人机电源,打开无人机遥控器电源,然后再运行App。 首先连接上无人机,打开语音控制,选择不同的语音类型,开始录音,停止录音来控制无人机起飞、降落、返航。 下图为App部分界面图:
4. 后续研究
更多控制指令,如前进多少米,后退、升高、下降、拍照、录像、定点巡航等。 图像识别,无人机在热点追踪或自动巡航过程中,识别出特定图像时执行特定动作(返航、或在app中报警提醒等) 热成像识别,无人机识别出热成像动物或人类时在app报警,并提供详细位置信息。用于搜救等工作。需要配置热成像摄像头。