[文章]OpenHarmony轻量系统开发【14】使用语音控制鸿蒙小车

阅读量0
0
3
摘要:本文简单介绍如何使用语音控制鸿蒙小车
适合群体:适用于润和Hi3861开发板
文中所有代码仓库:https://gitee.com/qidiyun/hihope-3861-smart-home-kit

14.1 讯飞语音识别
之前我们已经有一篇文章讲了如何驱动鸿蒙小车,通过网络控制小车的运行。
基于鸿蒙系统 + Hi3861 的wifi小车,可以通过电脑、手机控制

这一篇我们来试点不一样的:使用语音控制鸿蒙小车。
附件提供可以直接烧录的鸿蒙镜像、修改后的手机java源码。
另外11月28号深圳鸿蒙沙龙会议~~希望大家都能来参加~~到时候会给大家分享小车的开发流程。
【线下沙龙】轻松掌握HarmonyOS多场景开发

这里我们使用到的是讯飞的语音识别功能,大家可以打开这个网站,申请一个测试账户:
https://www.xfyun.cn/services/lf ... enqun_youhua=648371
一般来说我们申请体验包即可,(新用户礼包需要实名认证):

  

领取完免费使用后,我们创建新应用。

应用名称这些自己根据需求填写


提交后,我们单击应用,查看详情


我们下载Android SDK包。

Android SDK包的使用可以查看文档。
下载完后,我们在 IatDemo.java文件的 public void onResult(RecognizerResult results, boolean isLast)  函数中添加我们控制小车的代码,如图:
我这边会提供我修改后的 IatDemo.java文件 ,大家替换即可。


编译app,然后得到安装包:speechDemo-debug.apk 。安装到手机。
安装后,我们选择“立即体验语音听写”,然后单击开始,说出关键字“前进”“后退”“向左”“向右”,即可看到小车做出相应的动作




代码解析:
其中比较重要的是发送小车控制指令,指令我们采用的是json格式,大家也可以根据自己需求,修改其它指令。
  1. void send_car(final String msg)
  2. {
  3.   clientThread = new Thread(new Runnable() {
  4.    @Override
  5.    public void run() {
  6.     JSONObject address = new JSONObject();
  7.     try {
  8.      address.put("cmd", msg);
  9.      address.put("mode", "step");
  10.     } catch (JSONException e) {
  11.      e.printStackTrace();
  12.     }

  13.     try {
  14.      InetAddress targetAddress = InetAddress.getByName("192.168.1.103");
  15.      DatagramPacket packet = new DatagramPacket(address.toString().getBytes(), address.toString().length(), targetAddress, 50001);
  16.      client.send(packet);
  17.     } catch (IOException e) {
  18.      e.printStackTrace();
  19.     }
  20.    }
  21.   });
  22.   clientThread.start();
  23. }
复制代码

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友