RT-Thread简介

RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过11年的累积发展,RT-Thread已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过2亿台,成为国人自主开发、国内最成熟稳定和装机量最大的开源RTOS。

RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

得益于RT-thread丰富的组件以及一系列好用的软件包,作为应用开发者,我们不必过度关心底层的实现,而可以将更多的精力放在应用实现上,我将分享的百度语音识别便是如此。

百度AI简介

语音识别服务是百度AI众多服务中的一项,应用该服务,你可以将语音识别为文字,适用于手机应用语音交互、语音内容分析、智能硬件、呼叫中心智能客服等多种场景。我分享的百度语音识别就是将该服务应用于STM32上的一个案例。

项目介绍

硬件:STM32 + 音频编解码芯片 + LCD + 常用外设(为了方便我直接使用正点原子的潘多拉开发板)

平台:RT-Thread + 百度AI

1.使用RT-Thread的 ‘stm32l475-atk-pandora’ BSP(若你使用的硬件跟我不一样,可以使用RT-Thread对应的BSP,或根据官方教程自行制作);

2.挂载elm FatFS文件系统,用于存放待识别音频;

3.初始化板载WIFI模块 AP6181 或 使用AT组件+ESP8266,使开发板具备网络功能;

4.使用Audio组件,实现录音功能,并将音频存入文件系统;

5.使用webclient软件包,将文件系统中的音频上传到百度AI服务端,识别后返回Json数据;

6.使用CJson软件包解析数据,根据解析出的数据作出响应动作(控制RGB灯);

7.将中文字库烧写进外挂的spi flash,使用SUFD+FAL软件包读写flash,实现LCD的中文显示。

因为项目的重点以及难点在于百度语音识别,所以接下来的系列文章,我将着重讲解上述的4-7点,而其他部分大家自行前往RT-Thread的文档中心学习。

百度语音识别服务使用流程

在项目开始之前,我觉得有必要带大家走一遍百度语音服务的调用流程,不然直接写代码,肯定懵逼一大片。其实这部分我之前在我的个人博客也有简单写过,顺手打波广告(lxzzzzzxl.github.io)我的个人博客,不过太久没去看发现很多图挂了,应该是之前使用的图床有问题。废话不多说:

百度语音识别简单来说就是百度AI通过API的方式给开发者提供一个通用的HTTP接口,开发者通过这个接口上传音频文件,返回识别结果;

首先我们要注册一个百度开发者账号,然后创建一个语音识别的应用:

1.搜索“百度AI”,进入如下页面,点击右上方控制台(未注册的需注册):

2.点击“语音技术”,进入如下页面,点击“创建应用”:

3.填写相关信息后点击创建,创建成功后可以在应用列表看到你新创建的应用:

语音识别过程

4.获取 Access Token:

(这里推荐一个软件:Postman,使用这个软件你可以在自己的PC上完整的体验整个百度语音识别过程)

向授权服务地址 https://aip.baidubce.com/oauth/2.0/token 发送请求(推荐使用POST),并在URL中带上以下参数:

grant_type: 必须参数,固定为client_credentials;

client_id: 必须参数,应用的API Key;

client_secret: 必须参数,应用的Secret Key;

使用浏览器,例:

https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHlLT0vuXV4&client_secret= 0rDSjzQ20XUj5iPQSzr5pVw2&

下图为使用Postman:

5.使用Access Token进行语音识别(Content-Type必填 / body里放的是你自己的音频文件,需与Content-Type对应,可以下载官方样例)

更多详细内容,大家参考百度AI文档中心的相关部分https://ai.baidu.com/docs#/ASR-API/77e2b22e ,相信各位看完文档再来看这部分会豁然开朗~

本次的介绍就到这里了,说实在的写博客写推文比敲代码难多了,本人水平有限,表达或许有些难以明白,望多见谅~~

手把手教你实现基于RT-Thread的百度语音识别(一)相关推荐

  1. 网络编程懒人入门(八):手把手教你写基于TCP的Socket长连接

    转自即时通讯网:http://www.52im.net/ 本文原作者:"水晶虾饺",原文由"玉刚说"写作平台提供写作赞助,原文版权归"玉刚说" ...

  2. 手把手教你:基于TensorFlow的语音识别系统

    系列文章 第十章.手把手教你:基于Django的用户画像可视化系统 第九章.手把手教你:个人信贷违约预测模型 第八章.手把手教你:基于LSTM的股票预测系统 目录 系列文章 一.项目简介 二.语音数据 ...

  3. 手把手教你:基于LSTM的股票预测系统

    系列文章 第七章.手把手教你:基于深度残差网络(ResNet)的水果分类识别系统 第六章.手把手教你:人脸识别的视频打码 第五章.手把手教你:基于深度学习的滚动轴承故障诊断 目录 系列文章 一.项目简 ...

  4. 基于rt thread smart构建EtherCAT主站

    我把源码开源到到了gitee,https://gitee.com/rathon/rt-thread-smart-soem 有兴趣的去可以下载下来跑一下 软件工程推荐用vscode 打开.rt thre ...

  5. 手把手教你:基于深度残差网络(ResNet)的水果分类识别系统

    系列文章 手把手教你:图像识别的垃圾分类系统 手把手教你:人脸识别考勤系统 手把手教你:基于粒子群优化算法(PSO)优化卷积神经网络(CNN)的文本分类 目录 系列文章 一.项目简介 二.水果分类结果 ...

  6. 手把手教你:基于Django的用户画像可视化系统

    系列文章 第九章.手把手教你:个人信贷违约预测模型 第八章.手把手教你:基于LSTM的股票预测系统 第七章.手把手教你:基于深度残差网络(ResNet)的水果分类识别系统 目录 系列文章 一.项目简介 ...

  7. 【手把手教你】基于均线排列的价格动量策略回测

    01 引言 动量策略是通过利用市场波动从现有趋势的延续中获利.简单来说,高买高卖,反之亦然("低买高卖"是均值回归策略思想,与动量策略相反).价值投资通常基于均值的长期回归,而动量 ...

  8. stm32g4 下载算法_手把手教你制作基于IAR、STM32H7的下载算法

    本文由作者『Lucas』原创并授权发布,地址: https://blog.csdn.net/lin_duo/article/details/110754189下载算法对于大部分工程师来说,只需要会使用 ...

  9. 手把手教你实现基于LSTM的情感分析(LSTM-based Sentiment) Classification

    首先推荐一个Jupyter环境,是由Google提供的colab(https://colab.research.google.com/),有免费的GPU可以使用 第一次使用需要在实验环境中下载相关的p ...

  10. 手把手教你开发基于深度学习的人脸识别【考勤/签到】系统

    人脸识别介绍 平台环境需求 技术点 系统流程 细节设计 人脸检测 人脸关键点定位 人脸特征提取 模型的训练 模型的部署 MySQL数据库的使用 MFC工程的搭建 软件使用 人脸识别介绍 人脸识别技术是 ...

最新文章

  1. 11月30日云栖精选夜读 | 用Python告诉你,现在的房租有多高?
  2. SSRS 2012 交互式报表 -- 层次性文档结构图
  3. Requests方法 -- 关联用例执行
  4. 【IPF2020】浪潮集团高级副总裁彭震:智算中心 筑基智慧世界
  5. MySQL(7) ---删除数据库
  6. 【Mac】mac 安装Axure RP 8 点不开 就一直跳-后闪退-报错Expected an Int64 but got a System.UInt64
  7. 此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭“的解决
  8. C# 调用控制台应用程序及传参
  9. echarts迁徙图 vue_vue中使用 echarts3.0 或 echarts2.0 (模拟迁徙图,折线图)
  10. java编码解码工具类
  11. Win10如何关闭自动更新
  12. ucos操作系统(1)——OSTCBY,OSRdyGrp,OSRdyTbl
  13. Leetcode 简单四 罗马数字转整数
  14. OSI七层——物理层介绍和安全
  15. 树莓派4B 声音传感器AO模块
  16. 爬取豆瓣电影动画排行榜
  17. 最全的数据分析平台整理
  18. 【步进电机】简单介绍
  19. 攻壳机动队2无罪:引文掉书袋
  20. 离心泵CAE_1_CFturbo离心泵水力设计

热门文章

  1. 入门 Python 要多久?
  2. 手机网页项目一些心得
  3. 上海国家会计学院和美国亚利桑那州立大学金融EMBA项目优势
  4. AUTOCAD(一)室内平面图绘制第二部分
  5. asp.net在线影城订票系统
  6. linux内核函数kmalloc,LINUX内核内存管理kmalloc,vmalloc
  7. JS实现快速排序(代码+讲解)
  8. 无垠的太空第三季在线观看_百度云迅雷下载
  9. PSO-CNN模型研究与实现-PSO优化模型内部超参数
  10. 什么样的机器翻译比Google还要占优? | 硬创公开课