- 博客(22)
- 收藏
- 关注
原创 【Storage存储测试】07-WPF 通过 WMI + NVMe SMART 实现 SSD 规格自动验证
本文介绍了在WPF产线测试中实现SSD规格自动验证的方案。通过WMI查询Win32_DiskDrive获取磁盘基本信息(型号、序列号、固件版本、容量),并采用5%容差处理容量验证。同时利用NVMe SMART接口读取通电时长和次数,排查翻新盘问题。方案采用MVVM架构,核心包括DiskInfoReader工具类封装WMI查询、NvmeSmartReader处理NVMe命令、以及本地JSON配置管理。关键技术点包括:WMI查询、NVMe SMART数据结构解析、5%容量容差处理和不区分大小写的固件版本比对。
2026-05-10 15:55:39
517
原创 【内存测试】06-WPF 读取 SMBIOS 实现内存规格自动检测
在产线测试中,内存(RAM)的规格验证是不可或缺的一环。一台出厂设备的内存大小是否符合订单规格(8GB/16GB/32GB)?内存频率是否达到设计标准(4800MHz/5600MHz)?每个 DIMM 插槽是否都能被系统识别?这些问题如果靠人工目测,既费时又容易出错。本文介绍如何在 WPF 中通过 **Windows SMBIOS 固件接口**自动读取内存规格,并与预设的配置参数进行对比,实现全自动的内存规格验证。Demo 中用本地 JSON 文件替代生产线 MES 系统,任何人都可以直接跑起来调试。
2026-05-10 15:19:53
532
原创 【键盘测试】05-WPF 可视化键盘布局配置 + 全局钩子按键检测实战
WPF键盘测试方案摘要 本文介绍了一套基于WPF的可视化键盘测试方案,专为笔记本电脑产线测试设计。该方案通过三种方式解决特殊按键检测难题:(1) ScanCode检测:通过全局钩子获取硬件扫描码,可检测FN键等无VirtualKey定义的按键(2)Windows消息监听:捕获厂商定制键发送的私有消息 (3)组合键判断:维护已按下键集合来检测组合键 系统采用MVVM架构,包含可视化配置界面,支持拖拽布局和三种检测方式的动态切换。
2026-05-10 14:33:58
618
原创 【CPU测试】04-WPF 实现 CPU 卡频检测:PerformanceCounter + Prime95 压力测试方案
WPF实现CPU卡频检测方案 摘要:本文介绍了一种基于WPF的CPU卡频检测方案,用于产线测试中识别CPU频率被锁定的硬件异常。通过PerformanceCounter实时采样CPU频率,结合Prime95压力测试,在满载状态下判断CPU是否突破基础频率。方案包含电源模式切换(使用powercfg命令)、PerformanceCounter初始化、频率实时监控等核心模块,采用MVVM架构设计,实现非阻塞的逐秒轮询检测。该方案能有效发现温控降频或EC限频导致的性能问题,确保出厂设备CPU性能达标。
2026-05-05 22:38:52
356
原创 【音频测试】03-WPF 实现声道自动验证 + Whisper 语音识别录音检测
本文介绍了一种基于WPF的自动化音频测试方案,用于产线功能测试中的声道验证和语音识别检测。方案通过NAudio库控制声道播放(使用WaveChannel32的Pan属性),利用mciSendString API实现录音功能,并集成Whisper语音识别模型进行内容验证。测试流程包括:1)设置系统最大音量;2)在指定声道播放随机数字音频;3)操作员选择听到的数字验证声道;4)麦克风录制操作员朗读内容并通过Whisper识别判断结果。
2026-05-05 22:28:50
339
原创 【蓝牙测试】01-WPF 调用 32feet.NET + WinRT 实现蓝牙扫描与开关控制
本文介绍了使用 WPF 开发蓝牙功能测试工具的方法,重点结合 32feet.NET 和 WinRT API 实现蓝牙扫描与开关控制。文章首先明确了产线蓝牙测试的核心需求:自动检测蓝牙芯片是否正常工作。然后详细讲解了 Windows 蓝牙编程的基础概念,包括经典蓝牙与低功耗蓝牙的区别、两套蓝牙 API 的特点与配合使用方式。在技术实现部分,文章展示了 MVVM 分层架构设计,并提供了核心代码实现,包括蓝牙状态获取、开关控制以及设备扫描功能。
2026-05-05 16:57:17
460
原创 【系列导读】00-WPF 产测工具架构设计:MVVM 模式详解与框架搭建
本文介绍了基于WPF的产线测试工具开发中MVVM架构的设计与实现。主要内容包括:(1)产测工具选用WPF的原因:界面定制自由、Windows API集成紧密、MVVM架构成熟。(2)MVVM核心概念解析:数据绑定机制、INotifyPropertyChanged接口、ICommand命令绑定
2026-05-05 16:19:12
353
原创 AI 最大的谎言:它从来就不是“平权工具“
新的工具、新的环境摆在面前,你去了解它、掌握它、让它为你所用,你就能活得更好。他是那种比较踏实的学习方式:遇到不懂的,查百度,看视频教程,做题,一步一步来。里面不是一张表,是多张表:一张记录每个人的险种明细,一张汇总家庭总保费,还有年度费用同比增长这种需要公式的地方,公式全都给你写好了,你打开就能用。试用期快结束的时候,我大概统计了一下,我的工作产出大概是他的三到五倍。因为我之前对AI的用法,一直是这样的:AI给我建议和思路,然后我自己去建表、自己填参数、自己写公式。给出来的东西,说实话挺拉的。
2026-02-26 20:47:32
336
原创 用户信息列表管理系统(黑马小项目)
一、项目场景:开发一个简单的用户信息列表管理系统,可用于对用户信息进行增删改查操作。以下展示展示改系统的功能效果图:(1)服务器启动时,有一管理员登录页面,需要登录成功后才能进入用户信息系统:(2)当登录成功之后就会进入查询用户信息界面(index.js)中(3)点击“查询所有用户信息”,进入用户信息管理列表,就可以查看用户信息功能了。(4)在改表中,有以下几个功能:①可通过条件查询筛选出需要的用户信息②可以在该系统中“添加联系人”和“删除选中的联系人”③可以在该系统中单个修改和
2021-11-08 09:55:02
4054
原创 黑马旅游网项目中“点击更换验证码中遇到的问题”
黑马旅游网项目中“点击更换验证码中遇到的问题”项目场景:问题描述和分析:解决方案:项目场景:项目场景:在编写黑马用户管理项目中的登录功能更换验证码时遇到的点击更换问题问题描述和分析:用checkCodeServlet制作的验证码不能被点击更新,原因是js中编写的refreshCode()函数不能被调用。//js中refreshCode()代码<script type="text/javascript"> //切换验证码 function refres
2021-11-01 16:26:25
773
1
转载 git clone 错误
错误原因:在网上搜索了一下,可能是代理的问题fatal: unable to access 'https://github.com/frida/frida.git/': Failed to connect to 127.0.0.1 port 1087: Connection refused或者fatal: unable to access 'https://github.com/frida/frida.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL i
2021-07-31 15:27:35
330
原创 基于jquery开发的todolist待办事列表清单项目
目录前提:一、项目介绍:二、todolist项目分析三、todolist核心功能实现四、完整的jquery代码:五、注意事项六、代码仓库七、参考资料:前提:这里只介绍jquery所实现的操作部分,页面的html和css部分这里就不在详细介绍,需要看源码的伙伴可以到底部中的项目仓库链接中获取。一、项目介绍:文本框里面输入内容,按下回车,就可以生成待办事项。点击待办事项复选框,就可以把当前数据添加到已完成事项里面。点击已完成事项复选框,就可以把当前数据添加到待办事项里面。但是本页面内容刷新页面不
2021-07-31 15:12:05
878
1
转载 将本地项目上传到码云gitee,只需这几步,每个步骤都有图文
1,首先在码云上新建一个项目,如下图所示2,本地新建一个文件夹3,进入新建的文件夹,点击鼠标右键,选择git bash here然后在窗口输入 git init 这时候文件夹会多出一个.git文件夹,看不到文件夹的,点击鼠标右键选择“显示不显示隐藏的文件”就可以看到这个文件夹了4,进入刚刚在码云新建的项目里,复制框框里的路径,选HTTPS5,然后在回到本地新建的文件夹里继续操作git输入git remote add origin + 你刚刚在码云复制的那行路径6,继续输入 git
2021-06-02 15:30:40
247
原创 物联网入门实践项目:通过ESP8266-nodeMCU点亮小灯的三种方式
一、基础版点亮小灯(1)介绍: 通过Arduino点亮ESP8266开发板中自带的小灯,实现控制小灯的亮灭。(2)硬件搭建: ESP8266通过连接数据线插入电脑的USB接口中,如图所示:(3)软件程序:#include<ESP8266WiFi.h>#include<ESP8266WiFiMulti.h>#include<ESP8266WebServer.h>ESP8266WiFiMulti wifiMulti; //建立ESP8266Wi
2021-06-01 23:01:27
5278
4
原创 ESP8266 – WiFiClient库 – readStringUntil()
定义:readStringUntil函数可用于从设备接收到的数据中读取信息。读取到的数据信息将以字符串形式返回。该函数在满足以下任一条件后都会停止函数执行并返回。当函数读取到终止字符后,会立即停止函数执行。此时函数所返回的字符串为”终止字符”前的所有字符信息。语法client.readStringUntil(terminator)参数terminator: 终止字符。用于设置终止函数执行的字符信息。设备在读取数据时一旦读取到此终止字符,将会结束函数执行。允许使用char类型。返回值接收
2021-05-28 23:04:40
3447
1
原创 51单片机实现流水灯左移、右移、先左移后右移程序
知识点回顾<<:左移符号.>>:右移符号~:取反符号思路:a = 0x01<<1;就是a的结果等于0x01左移一位。需要注意的是,左移是指二进制移位,移位后低位(或高位)是要补0的。举个左移流水灯的例子,要使流水灯向左依次流动,则有代码:下面展示一些 内联代码片。// 左移时流水灯P0口设置,cnt为从0开始逐渐递增的左移的位数,//等下会贴一整段代码P0 = ~(0x01 << cnt);我们来解析一下这个代码的意思,先从括号里面看.
2021-01-13 17:31:31
64164
5
原创 STM32按键输入实验主函数中的代码错误
错误主要原因LED0、LED1和BEEP显示无定义解决方法(1)没有对LED0、LED1和BEEP进行全局变量的定义。要想定义他们,首先要进入sys.h头文件中查看地址映射读写寄存器状态值(2)然后打开STM32芯片手册找出三者输出所对应的GPIO口①LED0对应的为PB5:②LED0对应的为PE5:③BEEP对应的为PB8:(3)然后在led.h和beep.h的头文件中加入全局变量的定义:(4)最后编译一下就不会报错了注意:(1)不同的芯片,LED0、LE.
2021-01-09 00:09:06
1740
5
原创 关于FLYMCU串口下载和STLINK(JLINK)驱动在STM32开发板中下载代码的问题
一、关于使用FLYMCU下载代码到STM32开发板中(1)首先,先将开发板插上电源,并且连接USB 232口到电脑上,打开电源开关。(2)安装 CH340G 的驱动。安装成功后可以在 此电脑->属性->设备管理器中打开来看端口处是否有USB串口注意:①必须先连接开发板且打开电源后再来下载安装CH340,否则会出现安装失败的错误。②安装成功后由于电脑的不同可能出现不一样的串口,如我的电脑是COM4,其他人可能是CMO3或CMO5等,这个不影响。③如按以上步骤没有找到串口,则重启一.
2021-01-06 16:06:05
8043
2
原创 关于Spring Starter Project没有显示在选项中的问题的原因及解决方法
原因一:下载Spring Tool Suit时没有下载对应的版本查看自己eclipse版本是多少,help–>About Eclipse如图,eclipse的版本为4.6.3在spring官网上下载对应的插件(4.6.3),然后导入到eclipse中点击找到对应的插件Spring 官网右键点击zip,然后复制出官网路径如下https://download.springsour...
2019-08-27 16:12:22
2398
原创 java面向对象三大特性(封装丶继承丶多态),以及重写和重载的理解
一. 封装(1)什么是封装?封装就是将类中的属性私有化,提供公有的方法(get和set方法)访问私有属性,使得外部类通过get和set的方法来获取和设置私有属性的值。代码实现:public class Person{ //将类的属性私有化 private String name; private int age; //提供get和set的方法来调用私有的属性 public ...
2019-08-17 15:50:55
1045
原创 java实现一个基于文本界面的项目——客户信息管理系统
一.项目介绍1.简介:这是一个基于文本界面的简单项目,用于存储客户信息的一个简单系统2.需要用到的知识:(1)对象数组的创建和数组的初始化(2)类和对象(属性,方法和构造器的调用)(3)四种权限修饰符的理解和this指针的运用(4)类的封装(5)多对象的协同工作3.功能:主要功能是:添加丶修改丶删除丶查询。是一个项目所必需的4种功能。二.项目展示1.菜单主界面:2...
2019-08-12 20:57:14
2888
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅