自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(240)
  • 收藏
  • 关注

原创 树莓派上遇到插入耳机后显示“无输入设备”问题

摘要:树莓派插入耳机显示“无输入设备”的常见解决方案包括:1)通过桌面设置或终端命令切换音频输出到3.5mm接口;2)检查声卡驱动(aplay/alsamixer);3)测试音频输出并指定声卡;4)调整PulseAudio配置或禁用HDMI音频;5)检测硬件接触/兼容性。若问题依旧,需更新系统或检查日志,硬件损坏时可改用USB声卡。

2025-06-04 22:19:53 341

原创 在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备的简明指南:支持USB麦克风(即插即用)、3.5mm接口(需配置)或HDMI捕获卡。关键步骤包括:1)连接设备后通过arecord -l检测;2)使用alsamixer配置输入音量;3)测试录音。推荐USB麦克风方案最简便,遇到问题时检查驱动权限或更换接口。专业用户可通过GPIO连接I2S麦克风。

2025-06-04 22:03:31 677

原创 PCM(Pulse - Code Modulation)数据格式和Opus 数据格式

PCM(脉冲编码调制)是一种无损的模拟信号数字编码方法,通过采样和量化将模拟信号转换为数字形式,具有高保真度但数据量大的特点,适用于专业音频录制和高质量音频传输。LINEAR PCM是其基本形式,而μ-law和A-law PCM通过非线性量化减少数据量。Opus是一种高效、低延迟的开源音频编码格式,结合了多种先进技术,在低比特率下仍能保持良好音质,适用于实时通信(如VoIP)和流媒体服务。相比MP3,Opus压缩效率更高;相比PCM,Opus数据量更小但略有音质损失,广泛应用于Zoom、Spotify等。

2025-05-27 08:27:08 417

原创 使用虚拟python环境访问树莓派GPIO引脚出现 `RuntimeError: No access to /dev/mem. Try running as root!`

当程序访问/dev/mem设备文件时出现权限错误,可通过以下方式解决:1) 以root权限运行VS Code或特定脚本;2) 谨慎修改设备文件权限;3) 检查代码是否必须访问硬件资源,考虑使用模拟器或用户空间驱动替代。更安全的长期方案包括将用户加入特权组、配置udev规则或使用Linux Capabilities授权特定权限。嵌入式开发建议优先采用硬件厂商提供的用户空间工具库。

2025-05-23 21:52:16 460

原创 Teensy LC 一款由 PJRC 公司开发的高性能 32 位微控制器开发板

Teensy LC 是 PJRC 公司推出的一款高性能 32 位微控制器开发板,搭载 ARM Cortex-M0+ 处理器,运行频率为 48MHz,提供 62KB Flash 内存和 8KB RAM。该开发板具备丰富的接口,包括 27 个数字 I/O 引脚、13 个模拟输入引脚和 11 个电容感应引脚,支持触摸传感功能。其强大的通信能力包括 USB、串行通信、SPI 和 I2C 接口,适用于多种外设连接。Teensy LC 支持 Arduino IDE 和 Teensyduino 编程环境,提供丰富的库函数

2025-05-23 08:58:42 558

原创 PAM8403 一款由 NCP推出的微型 D 类音频功率放大器

PAM8403 是一款由 NCP 于 2014 年推出的微型 D 类音频功率放大器,具有以下特点:

2025-05-08 06:57:13 785

原创 视频转GIF

注意:转换后的GIF文件可能会比较大,如果原视频很长或者分辨率很高,你可能需要调整这些参数来控制输出文件的大小。以下是一个使用 Python 将视频转换为 GIF 的脚本,使用了。_path 变量为你自己的输入和输出文件路径。

2025-05-04 21:24:38 655

原创 基于 ESP32 和 GC9D01 0.71寸TFT屏幕的逼真眼睛与写轮眼动态显示

近期,我利用 ESP32 和 GC9D01 0.71’'TFT 进行了一次有趣的显示项目开发,成功实现了在该小尺寸屏幕上绘制逼真眼睛和写轮眼的效果。

2025-05-04 20:23:53 867 3

原创 GC9D01 和 GC9A01两种TFT 液晶显示驱动芯片

GC9D01 和 GC9A01 都是晶门科技(Galaxy Core)推出的 TFT 液晶显示驱动芯片,以下是对它们的对比:

2025-05-02 17:13:51 262

原创 LCD(Liquid Crystal Display)屏幕和TFT(Thin Film Transistor)屏幕两种常见的显示技术

LCD(Liquid Crystal Display)屏幕和TFT(Thin Film Transistor)屏幕是两种常见的显示技术,它们在工作原理、显示效果和应用场景上有一些区别。

2025-05-02 12:09:38 395

原创 开发板型号 ESP32-DevKitC-32模块型号 ESP32-WROOM-32 和主控芯片 ESP32-D0WDQ6-V3

以下是关于开发板型号 ESP32-DevKitC-32、模块型号 ESP32-WROOM-32 和主控芯片 ESP32-D0WDQ6-V3 的详细介绍:

2025-05-01 22:08:55 762

原创 国内外学习 ESP32 基于 MicroPython 的相关网站

汇集了 ESP32、ESP8266、MicroPython 相关的资料、教程和最新资讯等,有丰富的教程和项目案例供学习交流,如 ESP32 系列教程、精华项目汇总等。:部分博主会分享自己在学习 ESP32 和 MicroPython 过程中的经验和见解,包括环境搭建、固件编译、编程技巧等内容,对深入学习有一定帮助。:其 ESP32 MicroPython 上手指南等文档,详细介绍了从硬件准备、环境搭建到基本编程操作等方面的内容,适合初学者系统学习。

2025-04-24 07:31:44 414

原创 树莓派系统中设置固定 IP

这些方法可以满足在基于 Ubuntu 的树莓派系统中设置固定 IP 地址的需求,你可以根据具体情况选择合适的方法进行操作。修改完成后保存并退出编辑器。

2025-04-20 11:52:14 776

原创 局域网下ESP32-S3 LED灯的UDP控制

在局域网下通过IP地址控制ESP32-S3上的LED,可以使用UDP或TCP协议。以下是一个基于UDP协议的完整示例,包括ESP32-S3的服务器代码和一个简单的Python客户端代码。

2025-04-12 22:01:35 422

原创 ESP32S3 链接到 WiFi

通过以上步骤,你可以成功让 ESP32 连接到 WiFi 并进行网络通信。如果需要更复杂的网络功能(如 HTTP 请求或 TCP 通信),可以参考 MicroPython 的官方文档或相关教程。连接成功后,可以使用网络调试助手或简单的 UDP 示例代码测试网络连接。,让 ESP32 连接到无线路由器。在本例中,我们将使用。

2025-04-11 23:38:09 929

原创 Python和MicroPython的解释器区别

Python和MicroPython的解释器是不同的实现,分别针对不同的应用场景。如果您需要在微控制器上运行Python代码,应该使用MicroPython解释器;如果您在桌面或服务器上开发,应该使用Python解释器。

2025-04-08 07:34:48 503

原创 ESP32-S3 使用Micropython的微控制器的固件安装说明

以下固件适用于大多数基于 ESP32-S3 的开发板,包括 4MiB 或 8MiB 闪存的 WROOM 和 MINI 模块。无法自动检测到串口,或者您的电脑连接了多个 Espressif 设备,请使用。:蓝牙低功耗(BLE)、外部闪存、外部 RAM、WiFi。从以下选项中下载适用于您开发板的。将固件部署到开发板,从地址。替换为您从页面下载的。您安装的程序可能名为。)将固件刷入开发板。

2025-04-07 01:12:59 1199

原创 用Python 还是C\C++ 开发嵌入式物联网项目

如果你的项目对性能、实时性或资源占用有较高要求,选择 C++。如果你的项目对性能要求不高,更注重开发效率和快速迭代,选择 Python。如果你不确定,可以先用 Python 快速验证想法,再根据需求决定是否切换到 C++。无论选择哪种语言,都可以结合两者的优势。例如,用 Python 开发上层逻辑,用 C++ 开发底层硬件驱动,通过接口(如 Ctypes 或 Pybind11)进行交互。

2025-04-07 00:24:06 664

原创 ES8388和ES8311音频编解码器芯片对比

ES8388和ES8311都是音频编解码器芯片,它们在音频处理方面具有不同的特性和应用领域。

2025-04-05 11:13:18 596

原创 ES8311是一款高性能、低功耗的单声道音频编解码器芯片

ES8311的引脚定义和电气特性详细描述了其在不同工作模式下的性能和连接方式,包括模拟输入/输出、数字接口、电源管理等。

2025-04-05 11:12:35 567

原创 蓝牙版本历史

ESP32-S3支持的是蓝牙5.0版本。它支持低功耗蓝牙(Bluetooth Low Energy,BLE),并且通过了蓝牙5.0认证。,它在低功耗设备的通信效率、安全性和范围方面进行了显著改进。截至2023年,蓝牙的最新版本是。

2025-04-05 10:07:44 793

原创 低功耗蓝牙(Bluetooth Low Energy,简称BLE)和传统蓝牙(Classic Bluetooth)

低功耗蓝牙适合功耗敏感、数据量小、传输频率低的设备,而传统蓝牙适合需要高带宽、持续连接的应用场景。两者在实际应用中可以互补,许多现代设备(如智能手机)同时支持低功耗蓝牙和传统蓝牙,以满足不同的需求。

2025-04-05 10:01:05 722

原创 ESP32选取开发架构如何选取:ESP-IDF 框架和 Arduino 框架

如果你的项目需要高性能、低功耗、复杂的硬件控制和实时性,ESP-IDF 是更好的选择。如果你更注重快速开发、易用性和丰富的社区支持,Arduino 则更适合。

2025-04-05 09:15:52 670

原创 GATT(Generic Attribute Profile)是蓝牙低功耗(Bluetooth Low Energy,简称BLE)协议栈中的一个核心协议

GATT 是蓝牙低功耗通信的核心协议,它通过服务、特性和描述符的层次结构,提供了一种标准化的方式来组织和访问设备上的数据。GATT 的灵活性和标准化特性使其成为物联网设备(如传感器、可穿戴设备等)通信的首选协议。

2025-04-04 22:12:32 473

原创 A2DP(Advanced Audio Distribution Profile)是蓝牙协议栈中用于音频传输的一个标准化协议

A2DP协议允许音源设备(Source,简称SRC)通过蓝牙将高质量的立体声音频流传输至接收设备(Sink,简称SNK),如蓝牙耳机、蓝牙音箱等。

2025-04-04 21:13:52 768

原创 小智机器人的代码流程

将小智机器人的代码流程梳理为以下几个主要步骤。

2025-04-02 00:19:45 749 1

原创 小智机器人关键函数解析:MqttProtocol::SendAudio()对输入的音频数据进行加密处理,通过UDP发送加密后的音频数据

函数的主要功能是对输入的音频数据进行加密处理,然后通过UDP(User Datagram Protocol)发送加密后的音频数据。

2025-03-31 00:42:35 1418

原创 小智机器人关键函数解析:MqttProtocol::OpenAudioChannel()通过MQTT协议打开一个音频通道,从服务器接收加密音频数据,解密后通过回调函数处理音频数据

这段代码定义了 MqttProtocol 类中的 OpenAudioChannel 方法,其主要功能是通过MQTT协议打开一个音频通道,从服务器接收加密音频数据,解密后通过回调函数处理音频数据。这段代码定义了类中的方法,其主要功能是通过MQTT协议打开一个音频通道,从服务器接收加密音频数据,解密后通过回调函数处理音频数据。

2025-03-31 00:37:05 345

原创 小智机器人关键函数解析,Application::MainLoop() 用于持续监听事件组中的事件,并根据不同的事件触发相应的操作

是类的一个成员函数,它实现了一个无限循环,用于持续监听事件组中的事件,并根据不同的事件触发相应的操作。事件组使用 FreeRTOS 的函数来等待事件的发生。函数通过监听事件组中的事件,根据不同的事件触发相应的操作,实现了音频输入、输出和任务调度的功能。使用互斥锁确保了在多线程环境下对任务列表的安全访问。

2025-03-31 00:01:06 514

原创 小智机器人相关函数解析,BackgroundTask::Schedule (***)将一个回调函数添加到后台任务队列中等待执行

函数的主要功能是将一个回调函数添加到后台任务队列中等待执行。在添加任务之前,会检查当前活跃任务的数量和系统的可用内存,若活跃任务过多且内存不足会输出警告信息。添加任务后,会通知所有等待的线程有新任务加入。

2025-03-30 23:06:56 511

原创 小智机器人关键函数解析,Application::InputAudio()处理麦克风音频数据输入的函数

定义了类的成员函数InputAudio,该函数不接受参数,返回类型为void,用于处理音频输入。

2025-03-30 18:37:18 673

原创 小智机器人关键函数解析,Application::OutputAudio()处理音频数据的输出的函数

函数主要负责处理音频数据的输出,通过扬声器播放音频。它会检查音频解码队列的状态,根据不同情况决定是否输出音频、是否禁用输出设备,并且会对音频数据进行解码和重采样处理,最后将处理后的音频数据发送到音频编解码器进行输出。:更新最后输出音频的时间。:将队列头部的音频数据(OPUS 格式)移动到opus变量中。:从队列中移除头部元素。:解锁互斥锁,允许其他线程访问。

2025-03-30 18:31:10 803

原创 小智机器人中的部分关键函数,FreeRTOS中`xEventGroupWaitBits`函数的详细解析

中等待指定的位被设置。可灵活实现任务间的事件通知与同步。以下是对FreeRTOS中。返回事件组在函数返回时的。

2025-03-30 18:15:25 261

原创 小智物联网开发:为小智安装“机械臂“(其实就是加个舵机进行语音控制)

小智物联网开发是一个专注于打造智能、便捷生活体验的创新项目。它以ESP32开发板为核心,融合了先进的语音识别、人工智能以及物联网技术,旨在为用户提供一个可定制化的智能助手解决方案。通过简单的硬件搭建和软件配置,用户能够轻松实现智能家居控制、语音交互等多种功能,让科技真正融入日常生活。小智物联网开发以其强大的功能、开放的架构和低成本的优势,为物联网爱好者和开发者提供了一个广阔的创作平台。通过简单的硬件搭建和软件配置,我们能够轻松打造出属于自己的智能生活助手,让科技真正融入日常生活。

2025-03-23 19:57:16 2119 27

原创 ESP32S3基于FreeRTOS实时操作系统控制舵机

定义一个日志标签TAG,用于在日志输出中标识该代码模块。500250090901100000020000和:定义舵机控制所需的最小和最大脉冲宽度(单位:微秒)。和:定义舵机的最小和最大转动角度。:定义连接到PWM信号线路的GPIO引脚编号。:定义PWM定时器的分辨率(1MHz,即每个时钟周期为1微秒)。:定义PWM定时器的周期(20000个时钟周期,即20ms)。

2025-03-23 16:07:08 1083

原创 xEventGroupWaitBits是 FreeRTOS 中用于等待事件组中某些位被设置的函数

是 FreeRTOS 中用于等待事件组中某些位被设置的函数。它允许任务在指定的事件位满足条件时被唤醒,否则任务将进入阻塞状态,直到超时或事件位满足条件。

2025-03-18 00:40:19 337

原创 FreeRTOS 是一款专为微控制器设计的开源实时操作系统(RTOS)

FreeRTOS 是一款专为微控制器设计的开源实时操作系统(RTOS)。它为开发者提供了一套基础的实时操作系统功能,使得开发者能够更高效地管理和调度嵌入式系统中的任务和资源。

2025-03-18 00:29:09 883

原创 HuskyLens:让AI视觉开发更简单

HuskyLens以其简单易用、功能强大和灵活的连接方式,为AI视觉开发提供了一种全新的解决方案。无论是教育领域的教学实践,还是机器人开发中的创新应用,HuskyLens都能发挥重要作用。如果你正在寻找一款简单易用且功能强大的AI视觉传感器,HuskyLens绝对值得你尝试!

2025-03-17 23:51:35 498

原创 I2C屏幕和SPI屏幕

特性I2C屏幕SPI屏幕引脚数量少多通信方式半双工全双工速度慢快复杂性简单复杂应用场景低分辨率、低刷新率高分辨率、高刷新率选择哪种接口取决于具体需求:如果追求简单性和低功耗且对速度要求不高,可以选择I2C;如果需要高性能和高分辨率显示,则更适合选择SPI。

2025-03-12 01:00:20 582

原创 小智聊天机器人协议代码段解析(分析传入的音频数据)

这段代码是一个C++程序的一部分,主要用于处理传入的JSON数据,并根据JSON中的字段执行不同的操作。代码使用了cJSON库来解析JSON数据,并通过回调函数的方式处理不同类型的消息。

2025-03-11 01:08:53 1334

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除