【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音控制-单片机环境搭建

AAC编解码器在实时通信中的性能对比与应用选择 本文深入分析了AAC编解码器在实时通信中的性能优化,重点对比了faac、faad2与fdk-aac三大开源方案在WebRTC场景下的表现。通过实测数据揭示其在延迟、音质和资源消耗等关键指标的差异,并提供场景化选型建议与调优技巧,帮助开发者提升实时音视频通信质量。 阅读详情

严格来说 ,Java后端不需要知道嵌入式团队如何开发,我们只需懂些概念,能在联调时候好沟通理解就行。

学习参考  https://www.dzkfw.com.cn/jichu/Arduino/10321.html  

ESP32小白入门:开发环境搭建与Hello World实现

本文专为ESP32新手设计,核心目标是让你快速搞定开发环境搭建,并写出第一个极简的Hello World程序(串口打印)。全程避开复杂术语,步骤清晰可复制,为后续开发ESP32与Java平台交互程序打下基础。

一、核心准备:需要的硬件与软件

1.1 硬件(必备,新手推荐套装)

  • ESP32开发板:新手优先选「ESP32-WROOM-32」(最通用,性价比高,网上教程最多);

  • USB数据线:需支持数据传输(注意:部分充电线仅能充电,不能传数据,优先用原装线);

  • 电脑:Windows系统(本文以Windows 10/11为例,macOS步骤类似,差异处会标注)。

1.2 软件(免费,直接下载安装)

  • Arduino IDE:ESP32最主流的入门开发工具,图形化操作,无需手动配置编译环境;

  • ESP32 USB驱动:部分电脑识别不到ESP32,需安装驱动(下文会提供下载地址和安装方法)。

二、第一步:搭建开发环境(核心步骤)

2.1 安装Arduino IDE

  1. 下载软件:打开Arduino官网(https://www.arduino.cc/en/software/),找到「Windows Installer」(Windows系统),点击下载(无需注册,直接下载); 注:macOS用户下载「macOS Disk Image」。

  1. 安装软件:

    1. 双击下载的安装包,选择「I Agree」(同意协议);

    2. 默认勾选「Arduino IDE」「USB Driver」,点击「Next」;

    3. 选择安装路径(新手默认C盘即可,无需修改),点击「Next」;

    4. 点击「Install」开始安装,等待2-3分钟,最后点击「Finish」完成。

  2. 验证安装:双击桌面「Arduino」图标,能正常打开软件(出现蓝色背景的编辑界面),说明安装成功。

2.2 给Arduino IDE添加ESP32开发板支持

Arduino IDE默认不支持ESP32,需要手动添加ESP32的开发板库,步骤如下:

  1. 打开Arduino IDE,点击顶部菜单栏「File」(文件)→「Preferences」(首选项);

  2. 在弹出的窗口中,找到「Additional Boards Manager URLs」(附加开发板管理器网址),在输入框中粘贴以下链接,点击「OK」: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

  3. 点击顶部菜单栏「Tools」(工具)→「Board」(开发板)→「Boards Manager...」(开发板管理器);

  4. 在搜索框中输入「ESP32」,找到「esp32 by Espressif Systems」,点击「Install」(安装); 注:安装过程需要下载文件(约200MB),受网络影响可能需要几分钟,耐心等待,不要关闭窗口。

  5. 安装完成后,点击「Close」关闭开发板管理器。

2.3 安装ESP32 USB驱动(关键!避免电脑识别不到开发板)

如果电脑无法识别ESP32,必须安装驱动;若能识别,可跳过此步骤。

  1. 下载驱动:打开链接(https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers),找到「Windows」版本,点击下载;

  2. 安装驱动:

    1. 双击下载的驱动安装包,点击「Next」;

    2. 勾选「I accept the terms in the License Agreement」,点击「Next」;

    3. 点击「Install」,等待安装完成,最后点击「Finish」。

2.4 连接ESP32开发板到电脑

  1. 用USB数据线连接ESP32开发板和电脑的USB接口;

  2. 观察开发板:开发板上会亮一盏红色电源灯,说明供电正常;

  3. 在Arduino IDE中选择开发板和端口:

    1. 点击「Tools」(工具)→「Board」(开发板)→找到「ESP32 Arduino」,选择「ESP32 Dev Module」(新手默认此选项,通用);

    2. 点击「Tools」(工具)→「Port」(端口),选择对应的COM口(比如「COM3」「COM4」,新手可以先记住这个端口号,后面要用); 注:如果看不到COM口,大概率是驱动没装对,重新安装步骤2.3的驱动即可。

三、第二步:编写第一个Hello World程序(极简版)

我们写一个「串口打印Hello World」的程序——ESP32通过串口向电脑发送“Hello World! ESP32 Ready!”,这是最基础的验证程序,能直接确认环境是否正常。

3.1 新建程序文件

打开Arduino IDE,点击顶部菜单栏「File」(文件)→「New」(新建),会出现一个空白的编辑界面(默认有setup()和loop()两个函数,这是Arduino程序的固定结构)。

3.2 编写代码(直接复制粘贴即可)

删除编辑界面中的默认代码,粘贴以下代码,代码中有详细注释,新手不用纠结细节,先跑通再说:

 
// 程序启动时执行一次(初始化配置)
void setup() {
  // 初始化串口通信,波特率115200(必须和后面串口监视器的波特率一致)
  Serial.begin(115200);
  delay(1000); // 延迟1秒,让ESP32完成初始化(避免数据发送不完整)
}

// 程序启动后循环执行(核心逻辑)
void loop() {
  // 串口打印Hello World
  Serial.println("Hello World! ESP32 Ready!");
  delay(2000); // 延迟2秒,每隔2秒打印一次
}

3.3 上传程序到ESP32

  1. 点击Arduino IDE右上角的「上传」按钮(图标是→,向右的箭头);

  2. 观察上传过程:底部状态栏会显示“Uploading...”(上传中),开发板上的蓝色灯会快速闪烁,这是正常现象;

  3. 上传成功:状态栏会显示“Done uploading.”(上传完成),没有红色错误提示,说明程序上传成功。

3.4 查看运行结果(验证程序是否生效)

我们通过Arduino IDE的「串口监视器」查看ESP32发送的Hello World信息:

  1. 点击Arduino IDE右上角的「串口监视器」按钮(图标是🔍,放大镜);

  2. 在串口监视器窗口中,设置「Baud Rate」(波特率)为115200(必须和程序中Serial.begin(115200)的数值一致,否则会出现乱码);

  3. 观察窗口:每隔2秒会显示一行「Hello World! ESP32 Ready!」,说明程序运行成功!

四、新手常见问题排查(避坑指南)

  • 问题1:上传程序时提示「No such port」(没有这个端口)? 解决:重新安装步骤2.3的USB驱动,或更换USB数据线、USB接口,再重新选择端口。

  • 问题2:串口监视器显示乱码? 解决:波特率设置错误!确保串口监视器的波特率是115200,和程序中Serial.begin(115200)一致。

  • 问题3:上传程序失败,提示「Failed to connect to ESP32」? 解决:上传时按住ESP32开发板上的「BOOT」键,直到状态栏显示“Uploading...”再松开,大概率能解决。

  • 问题4:程序上传成功,但串口监视器没有内容? 解决:检查USB数据线是否支持数据传输(换一根原装线),或在程序setup()函数中增加delay(2000)(延迟2秒)。

五、后续衔接:为ESP32与Java平台交互打基础

搞定这个入门程序后,后续开发与Java平台交互的程序(比如MQTT通信、数据上报),都是在这个环境基础上扩展:

  • 后续只需在Arduino IDE中安装额外的库(比如MQTT库),就能实现ESP32与Java平台的通信;

  • 串口打印是调试核心手段,后续遇到交互问题,都可以用Serial.println()打印数据,排查问题。

总结:新手入门的核心是先跑通“环境搭建→程序上传→查看结果”的闭环,本文的Hello World程序虽然简单,但已经覆盖了ESP32开发的基础流程,接下来就可以逐步学习更复杂的功能了!

基于 YOLOv26 的 PCB 板缺陷检测:工业级视觉实战 本文提出了一种基于YOLOv26的PCB板缺陷检测系统,通过深度学习技术实现对PCB板缺陷的自动化检测。系统能够识别短路、开路、焊点不良等8种常见缺陷,具有高精度、多类别分类和实时推理等优势。文章详细介绍了系统架构,包括数据采集、预处理、YOLOv26模型检测和后处理模块。在代码实现部分,给出了环境配置、数据预处理与增强的具体方法,使用Albumentations库进行图像增强处理。该系统为电子制造业提供了高效、准确的PCB质量检测解决方案,显著提升了检测效率和准确性。 阅读详情

相关推荐

Vivado新手避坑指南:搞懂Generate Output Products和Create HDL Wrapper到底在干啥

本文深入解析Vivado设计流程中的Generate Output Products和Create HDL Wrapper两大关键步骤,帮助新手理解其核心功能与操作要点。通过详细讲解文件生成类型、关键选项设置及常见问题解决方案,指导开发者正确使用这两个功能,避免设计流程中的常见错误,提高FPGA开发效率。

weixin_29207149的博客 311

【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音控制

摘要: 本文详细介绍了微信小程序与Spring Boot后端交互的实现过程,聚焦智能语音控制场景。从环境配置、核心代码编写到常见问题解决,提供新手友好指南。后端采用Spring Boot构建统一RESTful接口,处理语音指令并返回设备状态;小程序端实现录音、语音识别及指令传输。重点解决跨域、枚举序列化、字段匹配等典型问题,附完整代码与效果图,帮助开发者快速实现端到端联调。

Coder_Boy_的博客 1277

MySQL常见面试题汇总(建议收藏!!!)

目录一、索引相关(1)什么是索引?(2)索引是个什么样的数据结构呢?(3)为什么使用索引?(4)Innodb为什么要用自增id作为主键?(5)Hash 索引和 B+ 树索引有什么区别或者说优劣呢?(6)什么是聚簇索引(6)非聚簇索引一定会回表查询吗?(6)聚簇索引和非聚簇索引的区别(6)MyISAM和InnoDB实现B+树索引方式的区别是什么?(6)MySQL中有四种索引类型,可以简单说说吗?(6)覆盖索引是什么?(6)联合索引是什么?为什么需要注意联合索引中的顺序?(6)创建的索引有没有被使用到?或者说怎

蔡政洁的博客 7万+

【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音开关

本文介绍了微信小程序实现智能设备语音控制的全过程,重点针对新手开发者可能遇到的问题提供解决方案。文章从开发环境搭建、百度语音识别API申请等准备工作开始,详细讲解了页面布局设计、样式美化、核心功能实现步骤,包括语音录制、百度API调用、设备控制逻辑等关键环节。作者特别强调了开发过程中常见的"坑"(如音频参数不匹配、Token获取失败等问题)及其解决方法,提供了完整的代码示例和配置说明,帮助初学者快速实现智能家居语音控制功能。

Coder_Boy_的博客 1398

Android定位权限全解析:从基础配置到后台持续定位的完整解决方案

本文全面解析Android定位权限体系,从基础配置到后台持续定位的完整解决方案。涵盖LocationManager和FusedLocationProviderClient等主流API的对比选型,详细讲解动态权限申请、精确定位与模糊定位的智能切换,以及Android 10+的后台定位适配策略。帮助开发者构建兼顾精准度与电量友好的定位方案,适用于导航、运动轨迹记录等多种场景。

weixin_29310605的博客 608

睿思综述智能体:100篇高质量文献一键生成万字长文,还能联网PubMed,科研效率拉满!

对一个主题进行文献综述,是日常科研人绕不过去的工作,无论是写论文前言,综述论文,或者基金申请书的立项依据,需要根据主题,从海量文献中提取相关信息,梳理出清晰的逻辑线,再组织成流畅的文字。4 一键生成万字全文:大纲确认后,它会基于对所有论文的深度理解,逐个章节进行详细撰写,最终生成一篇逻辑连贯、内容翔实、引用规范的万字综述长文,并直接保存为Word(.docx)文件。3 智能撰写大纲:你可以提供自己的大纲,也可以让它根据所有文献内容,智能生成一个逻辑清晰的综述大纲,并支持你在此基础上修改。

dinaxuejie的博客 821

【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音控制-单片机交互

摘要 企业级物联网开发中,ESP32和STM32是主流单片机选型,分别适用于消费级和工业级场景。Java后端与设备交互应采用"边缘网关+MQTT"分层架构,通过标准化主题和JSON格式实现数据上传与指令下发。关键措施包括设备认证、TLS加密、QoS保障和异常处理。传统C51系列由于性能不足、缺乏通信能力和安全特性,无法满足企业级需求。相比之下,ESP32/STM32在运算性能、联网能力、外设资源和开发支持方面具有显著优势,更适合现代物联网应用开发。

Coder_Boy_的博客 821

lift off工艺为什么常用蒸发的方式镀膜?

电子束蒸发中,蒸发物质从源头直接升华并沿直线路径沉积到晶圆上,它可以避免金属在掩模侧壁的覆盖,只在表面进行沉积。在镀膜结束后,在进行光刻胶剥离时,去胶液无法与光刻胶接触反应,导致光刻胶剥离很困难。欢迎加入我的半导体制造知识星球社区,目前社区有1900人左右。我观察到晶圆厂中lift off工艺,镀膜都是用的电子束蒸发的方式,很少有用磁控溅射的方式,为什么?需要增加撕胶工序,将胶面上覆盖的膜层撕掉,使光刻胶露出,这样才容易剥离。上图为磁控溅射的膜层截面图,去胶液很难突破侧壁膜层,进行反应。

1685

【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音控制-Java部分核心逻辑

核心目标:定义与ESP32完全对齐的Java数据模型(DTO),确保JSON序列化/反序列化无偏差,这是双方交互的基础。

Coder_Boy_的博客 920

人工智能学习之机器人路径规划优化

A* AStar 人工智能 机器人路径规划优化

RongLin02的博客 7073

PLC1200使用CB1241RS485通讯模块做从站进行Modbus Rtu通信

添加新设备(PLC)->设备和网络管理->点击PLC->看到硬件目录选择通信板->点到点->CB1241(RS485)->看到6ES7241-1CH30-1XB0选择添加,如图。指向Modbus保持寄存器数据块的指针 我这里指向了自定义的DB块数据中一个INT数组。在通信->通信处理模块->MODBUS(选择不带RTU的通信指令块)注意:接线时,TRA接485调试模块的B- TRB接调试模块的A+组态后的硬件标识符 270 对应自己组态后自动生成的。1:事务完成,且无任何错误。波特率对应自己使用的。

swmyaopeng的博客 2万+

【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音控制-单片机交互代码

ESP32单片机与Java评估业务平台的交互逻辑,核心是通过“MQTT协议为基础、安全认证为保障、标准化数据为载体”,实现“平台决策-设备执行-数据反馈-评估优化”的业务闭环。本文梳理的交互架构、核心流程与代码实现,不仅适用于ESP32与Java平台的交互场景,也为其他物联网设备与后端评估平台的标准化交互提供了可复用的实践方案。后续可进一步优化方向:引入边缘计算(ESP32端预处理数据)降低平台压力,采用MQTT over TLS协议提升传输安全性。

Coder_Boy_的博客 739

Open3D 机载点云电力线提取【2025最新版】

传统方法实现的机载点云电力线分割提取。博客长期更新,本文最新更新时间为:2025年3月23日。

点云侠的博客 4468

【STM32】 ADC 完全指南:从模拟信号采样量化到五大架构原理

本文系统介绍ADC核心概念与五大主流架构。模拟信号具时间与幅值连续性,需经采样(满足奈奎斯特准则防混叠)、量化(引入±1/2LSB误差,SNR≈6.02N+1.76dB)、编码三步转为数字信号。重点解析Flash(并行高速但受限于比较器数量)、SAR(逐次逼近,低功耗适合MCU如STM32)、双积分(高精度抗工频,用于万用表)、流水线(高速吞吐)及Σ-Δ(高分辨率,靠过采样与噪声整形)五类架构原理、优缺点与应用场景。强调分辨率≠精度,选型本质是速度、精度、功耗与面积的权衡。

专注后端与底层技术,分享实战干货与学习笔记,梦想进入字节跳动,步履不停,热爱不止。 500

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

TMS320F28335 学习笔记(二):系统时钟、PLL 与看门狗

本文系统介绍F28335的时钟架构与看门狗应用,涵盖外部晶振、PLL倍频生成系统时钟(SYSCLKOUT)、高速/低速外设时钟分频配置,以及看门狗的启用、关闭与喂狗机制。强调时钟配置准确性对延时、PWM、通信等外设的重要性,指出常见错误如晶振不匹配、未等待PLL锁定、随意修改PLL或喂狗周期过长等问题,并提供初始化框架与验证方法,帮助开发者正确配置时钟系统,确保程序稳定运行。

2403_83044722的博客 326

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

嵌入式:2.STM32底层基础(存储、寄存器、时钟、总线、GPIO、寄存器点灯)

存储系统用来存放程序、数据、设备状态,核心三大作用:存放程序代码、保存运行时数据(全局、局部、栈、堆)、数据持久化(比如W25Q64 Flash,可以搭配文件系统)。

2401_86731574的博客 365

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

从寄存器层面重学STM32(7)——定时器

本文系统梳理了STM32定时器的架构与工作原理,以时基单元为核心,涵盖计数模式、预分频、影子寄存器及定时周期计算。重点解析输出比较(PWM生成)与输入捕获(脉冲测量)机制,阐明CCR与CNT比较逻辑及波形生成流程。深入探讨通用定时器的从模式(如编码器、触发、门控等)与主模式(TRGO同步),明确主从定时器间信号传递关系。结合寄存器配置(CR1、SMCR、CCMR、CCER等),总结定时器在中断、DMA、PWM输出、信号捕获中的应用,实现精准定时与事件控制。

2403_88517351的博客 309

K210+STM32+LVGL:手搓边缘AI智能安防监控网关

在传统的物联网或嵌入式毕设中,“智能安防”往往沦为“温湿度+蜂鸣器”的简单堆砌。由于单片机(如STM32)算力有限,无法在本地运行复杂的视觉AI模型,导致很多项目只能在云端处理图像,带来高延迟和隐私风险。本文将分享一个真正的边缘计算安防网关项目。我们采用“K210视觉协处理 + STM32F407主控 + LVGL高颜值UI”的分布式架构,完美解决了单芯片算力不足的痛点。项目不仅实现了明火与陌生人脸识别,还加入了多源传感器融合、5秒智能防抖、以及硬件与UI的双向闭环控制,是一套工业级标准的开源方案。

199

STM32 等精度频率计实测:测频法测周法中界频率、双定时器同步闸门与±1误差消除落地

频率测量是电子测量中最基础也最容易做糙的功能:直接数脉冲的测频法在低频段误差爆炸,测周期的测周法在高频段被标准时钟精度拖垮,两者误差曲线存在一个交叉点——中界频率。本文基于STM32F103C8T6,先用TIM3输入捕获分别实现测频法与测周法并实测出各自误差曲线,推导出中界频率约632Hz的分界点;随后针对闸门与被测信号不同步引入的±1误差,升级为TIM3作门控计数器、TIM2作标准时钟的双定时器同步闸门方案,把1kHz~1MHz全频段相对误差从最大0.5%压到0.02%以内;最后落地工程界通用

LCG米的博客 481

【官方原创】LAT1721 使用STM32CubeIDE 调试STM32N6 XIP应用的一种方法

本文我们以STM32Cube_FW_N6_V1.3.0包中Template_FSBL_XIP为例,介绍一种使用STM32CubeIDE在DEV模式下直接调试应用的方法,不需要切换Boot模式。

2501_92678806的博客 562

水深水位传感器(STM32)

本文介绍基于STM32F103C8T6的水深水位传感器实验,采用HS-S37A模块通过导电原理实现水位检测。传感器输出模拟电压,经ADC采集后在OLED显示实时数据。程序通过多次采样求平均值,提升测量稳定性。适用于花盆积水、漏水报警等场景,适合教学与物联网开发。项目代码完整,含初始化、读取与显示功能,资料可于文末获取。

qq_44016222的博客 137

【电路笔记 STM32】RTC配置:晶振选择+闹钟Configuration+中断设置

【电路笔记 STM32】RTC配置:晶振选择+闹钟Configuration+中断设置

ResumeProject的博客 407

STM32移植FreeRTOS(Cmake+CubeMX)

说明:基于STM32F103C8T6最小系统开发板。

2402_84642203的博客 164

STM32 电流采样为什么在开关沿抖:低边电阻、PWM 触发与 ADC 窗口

给 F103 驱动板加电流环时,采样值总在开关沿乱跳,改 PID 和加滤波都没用。这篇从示波器波形讲起,说明低边采样电阻、运放、PWM 触发与 ADC 注入组怎样对齐,以及采样窗口和 RC 滤波为什么不能互相替代。

Sakura_j_h_的博客 148

STM32智能窗户防控系统 云平台

本系统基于STM32F103C8T6,集成温湿度、光照、烟雾、雨滴、人体红外传感器,通过OLED显示数据,支持手动与自动模式。自动模式下依优先级控制步进电机开窗(三档)、风扇通风及蜂鸣器报警;支持阈值调节、ESP8266接入机智云平台,实现远程监控与控制。配备按键与APP双端操作,具备云端数据同步与高清演示视频,功能完整,适用于智能安防场景。

送外卖的工程师 352

HAL库之GPIO(STM32 HAL库学习笔记)

本文系统讲解STM32 HAL库下GPIO的使用,涵盖引脚分布、复用与重映射、四种输出(推挽/开漏)及输入模式,结合闪灯与按钮实验,阐明配置流程。强调通过CubeMX生成工程后,在USERCODE区域编写代码,避免被覆盖;推挽输出适合驱动LED,开漏需外接上拉;输入模式依信号特性选上拉/下拉或浮空。掌握基础后可拓展至中断、PWM等高级应用。

xiaolitongxue222的博客 267
上一篇: 【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音控制-单片机交互代码
下一篇: 【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音控制-Java部分核心逻辑
Coder_Boy_
博客等级 码龄10年 2804粉丝 819原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder_Boy_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值