当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]半焊板,传感器粘在任何移动的东西上——每一个原型都是从混乱和希望开始的。你的想法看起来很有希望,但甚至在你开始之前,获取实时传感器数据就成了主要的障碍。突然间,您被埋没在嵌入式C驱动程序、破碎的日志和神秘的bug中,只是试图回答:“传感器实际感知到什么?”灵感的火花在繁琐的设置墙后消失了。

边缘AI听起来很有趣……直到数据捕获成功?我们听到了!MicroPython与DEEPCRAFT™Studio的集成使其变得前所未有的简单。

半焊板,传感器粘在任何移动的东西上——每一个原型都是从混乱和希望开始的。你的想法看起来很有希望,但甚至在你开始之前,获取实时传感器数据就成了主要的障碍。突然间,您被埋没在嵌入式C驱动程序、破碎的日志和神秘的bug中,只是试图回答:“传感器实际感知到什么?”灵感的火花在繁琐的设置墙后消失了。

通过我们的DEEPCRAFT™MicroPython集成,数据捕获变得非常简单。在您的主板上运行一个MicroPython脚本,将数据无线传输到您的主机。在主机端,DEEPCRAFT的捕获服务器处理其余的-实时日志记录,时间戳,并格式化您的数据,准备直接进入DEEPCRAFT™工作室进行培训。没有笨拙的司机。没有损坏的csv。只有干净的、带有时间戳的数据——就像你想象的那样。从传感器到数据集,它比以往任何时候都更流畅。下面是工作流的样子:

Capture Server提供了多个接口,但这种集成侧重于通过Wi-Fi使用TCP无线传输传感器数据,使整个管道既灵活又不需要电缆。

让我们开始看看这有多简单。我们将以音频数据流作为应用程序示例来讲解这个Protip。如果您需要复习PDM麦克风,我们已经在这篇文章中为您介绍了。

硬件设置

你所需要的只是CY8CKIT-062S2-AI套件。该套件有两个内置的IM72D128数字麦克风。本套件中连接PDM-PCM总线的引脚有:

•CLK: p104

•数据:P10_5

软件设置

步骤1。安装

1. 首先,您需要在PSOC™设备上运行MicroPython固件。在这里找到设置的所有细节。

2. 按照Capture Server文档中提供的说明克隆并设置Capture Server存储库。

3. 克隆您将找到数据获取脚本的GitHub存储库。

步骤2。在设备上启动传感器数据采集

1. 一旦克隆了GitHub存储库,在任何MicroPython支持的IDE(如thony)中打开该位置。选择所有源并通过点击“上传至/”将其复制到设备。

将它们成功复制到设备后,您应该看到以下屏幕。

2. 现在在你的MicroPython设备上打开config.py,添加你的网络凭据并保存在设备上。

3. 打开data_acquisition.py脚本并单击play按钮。

步骤3:运行Capture Server

1. 从命令提示符终端导航到克隆的Capture Server存储库的根目录。您必须已经在名为captureserver的文件夹中。然后转到examples/generic文件夹。

2. 将参数替换为实际参数后,执行如下命令执行Capture Server:

注意,这里的参数也应该与数据采集脚本中的传感器配置值相匹配。以PDM麦克风配置为例:

•ip-address:是设备的ip地址,您将在运行data_acquisition.py脚本时在终端中看到打印输出。

•数据格式:.wav(音频数据)

•数据类型:h(短)

•每包样品:512个。每个包中样本的大小也与缓冲区大小相似)

•特点:1(无)的功能)

•采样率:16000(传感器可接受采样率)

因此,data_acquisition.py中相应的配置看起来像:

有关每个参数的解释,请查看Capture Server文档。根据上述参数值,命令如下:

成功运行Capture Server后,您将看到开始录制、停止录制和退出的选项,如下所示:

完成后,记录的数据将存储在上面提到的输出目录中。

步骤4:导入DEEPCRAFT™Studio

1. 启动DEEPCRAFT™Studio并创建一个新项目或打开一个现有项目。转到DATA选项卡,单击Add DATA按钮,并选择包含捕获的.wav或. DATA文件及其相应标签文件的输出目录。

2. 选择输出目录后,DEEPCRAFT™Studio将自动将音频/数据文件及其相应的标签文件导入到新的数据会话中。

3. 创建数据会话后,您的数据集将在DEEPCRAFT™Studio中访问,准备进行预处理,标记和训练机器学习模型。

就像这样,你的传感器数据就在工作室里了——马上就可以训练了。

代码的解释

想知道引擎盖下面是什么吗?下面将深入介绍在硬件的文件系统上运行的Python脚本。

1. 从必需的导入开始。

•struct:用于在通过TCP发送之前将缓冲区数据打包成二进制格式。

•network_utils:模块处理Wi-Fi连接。

•tcp_server:设置一个TCP套接字来监听传入的连接。

•pdm_pcm:音频传感器模块;这可以根据需要与其他传感器交换。

2. 连接到Wi-Fi,使用设备的IP地址设置TCP服务器,并等待Capture server(在您的主机上)连接。

3. 初始化传感器以及存储传感器数据的缓冲区。还要准备数据流的格式。

•init():初始化传感器(例如,设置时钟,配置总线)。

•get_buffer():准备一个缓冲区来保存采样数据。

•get_format():返回端序(<或>)和数据格式(h, h等)。

•full_format:用于struct。将原始样本转换为二进制包。

4. 等待Capture Server连接。只有在运行Capture Server脚本后,才会通过打印IP地址显示已连接。

5. 完成所有设置后,开始将数据捕获到缓冲区中,将其转换为所需的格式并通过TCP发送。

6. 然后关闭连接并释放所有资源。

使用其他传感器

使用不同的传感器?其实也很简单!

转到添加您自己的传感器部分来集成您的自定义传感器并开始流式传输。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭