使用语音控制鸿蒙小车
之前我们已经有一篇文章讲了如何驱动鸿蒙小车,通过网络控制小车的运行。
基于鸿蒙系统 + Hi3861 的wifi小车,可以通过电脑、手机控制
这一篇我们来试点不一样的:使用语音控制鸿蒙小车。
附件提供可以直接烧录的鸿蒙镜像、修改后的手机java源码。
这里我们使用到的是讯飞的语音识别功能,大家可以打开这个网站,申请一个测试账户:
https://www.xfyun.cn/services/lfasr?ch=bd01-b&b_scene_zt=1&renqun_youhua=648371
一般来说我们申请体验包即可,(新用户礼包需要实名认证):
领取完免费使用后,我们创建新应用。
应用名称这些自己根据需求填写
提交后,我们单击应用,查看详情
我们下载Android SDK包。
Android SDK包的使用可以查看文档。
下载完后,我们在 IatDemo.java文件的 public void onResult(RecognizerResult results, boolean isLast) 函数中添加我们控制小车的代码,如图:
我这边会提供我修改后的 IatDemo.java文件 ,大家替换即可。
编译app,然后得到安装包:speechDemo-debug.apk 。安装到手机。
安装后,我们选择“立即体验语音听写”,然后单击开始,说出关键字“前进”“后退”“向左”“向右”,即可看到小车做出相应的动作
代码解析:
其中比较重要的是发送小车控制指令,指令我们采用的是json格式,大家也可以根据自己需求,修改其它指令。
void send_car(final String msg) { clientThread = new Thread(new Runnable() { @Override public void run() { JSONObject address = new JSONObject(); try { address.put("cmd", msg); address.put("mode", "step"); } catch (JSONException e) { e.printStackTrace(); } try { InetAddress targetAddress = InetAddress.getByName("192.168.1.103"); DatagramPacket packet = new DatagramPacket(address.toString().getBytes(), address.toString().length(), targetAddress, 50001); client.send(packet); } catch (IOException e) { e.printStackTrace(); } } }); clientThread.start(); } [点击并拖拽以移动]
作者:连志安
想了解更多内容,请访问:
51CTO和华为官方战略合作共建的鸿蒙技术社区
https://harmonyos.51cto.com

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
NGINX Service Mesh (NSM) -服务网格简介
译 者 :台慧敏 校 对 :林 静 原 文 :https://www.nginx.com/blog/introducing-nginx-service-mesh/amp/ 此版本 NGINX Service Mesh (NSM) 是一个高度集成的轻量级的服务网格的开发版本,它利用 NGINX Plus 支持的数据平面来管理 Kubernetes 环境中的容器流量。NSM 可以免费 下载。非常希望广大开发者们能在开发和测试环境中尝试一下,期待你们在 GitHub 仓库留下对 NSM 的反馈。 随着部署规模的扩大并且变得越来越复杂,微服务的落地也变得很有挑战。服务之间的通信错综复杂,在系统中调试问题可能会更加困难,并且服务增多意味着需要管理更多的资源。 NSM 通过使用户集中配置来解决以上挑战: 安全——如今安全比以往任何时候都更加重要,数据泄露每年可能使组织损失数百万美元的收入和声誉。NSM 确保所有通信均经过 mTLS 加密,因此网络上没有敏感数据可被黑客窃取。通过访问控制可以定义策略来控制哪些服务可以相互通信。 流量管理——在部署应用程序的一个新版本时,用户可能希望先限制新版本应用...
- 下一篇
九种开源的服务网格选型指南
哪种服务网格最适合你的企业?近年来,Kubernetes服务网格框架数量增加迅速,使得这成为一个棘手的问题。 下面将介绍9种较受欢迎的用以支撑微服务开发的服务网格框架,每种方案都给出了其适用场景。 什么是服务网格 服务网格近年来有很高的话题度,背后的原因是什么? 微服务已经成为一种灵活快速的开发方式。然而,随着微服务数量成倍数地增长,开发团队开始遇到了部署和扩展性上的问题。 容器和Kubernetes这样的容器编排系统 ,将运行时和服务一起打包进镜像,调度容器到合适的节点,运行容器。这个方案可以解决开发团队遇到的不少问题。然而,在这个操作流程中仍存在短板:如何管理服务间的通信。 在采用服务网格的场景下,以一种和应用代码解耦的方式,增强了应用间统一的网络通信能力。服务网格扩展了集群的管理能力,增强可观测性、服务发现、负载均衡、IT运维监控及应用故障恢复等功能。 服务网格概览 服务网格一直有很高的热度。正如Linkerd的作者William Morgan所提到的:“服务网格本质上无非就是和应用捆绑在一起的用户空间代理。” 此说法相当简洁,他还补充道,“如果你能透过噪音看清本质,服务网格能给...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范