零基础搭建AIGlasses智能导航眼镜:盲道识别+语音交互完整指南
零基础搭建AIGlasses智能导航眼镜盲道识别语音交互完整指南1. 引言想象一下你正在一条陌生的街道上行走周围的环境对你来说完全陌生。你需要找到正确的方向避开障碍物安全地穿过马路。对于大多数人来说这可能需要依赖手机导航或者路标但对于视障人士来说这却是一个巨大的挑战。传统的导航方式往往无法提供足够的环境感知能力特别是在复杂的城市环境中。盲道虽然为视障人士提供了基础指引但在实际使用中盲道被占用、中断或者设计不合理的情况时有发生。过马路时红绿灯的提示音也不是每个路口都有配备。今天我要介绍的AIGlasses智能导航眼镜正是为了解决这些问题而生。这不是一个遥不可及的概念产品而是一个你可以亲手搭建、真实可用的智能导航系统。它集成了AI视觉识别、语音交互和实时导航功能能够识别盲道、检测红绿灯、寻找物品并通过语音与用户进行自然对话。最棒的是你不需要任何硬件开发经验也不需要复杂的编程知识。只要跟着这篇指南从零开始你就能搭建出一套完整的智能导航系统。无论你是想为视障亲友制作一个实用的辅助工具还是想探索AI在可穿戴设备上的应用这篇文章都会给你一个清晰的路径。2. 系统概览AIGlasses能做什么在开始动手之前我们先来了解一下这个系统到底能做什么。AIGlasses智能导航眼镜的核心功能可以分为四个主要模块每个模块都针对特定的导航需求。2.1 盲道导航系统这是系统的核心功能之一。通过摄像头实时捕捉前方路面图像系统能够准确识别盲道的位置和走向。当用户走在盲道上时系统会通过语音提示引导方向向左转当检测到盲道向左转弯时向右转当检测到盲道向右转弯时直行当盲道保持直线前进时前方障碍物请注意当盲道上出现障碍物时这个功能特别适合在复杂的城市环境中使用比如商场、地铁站、人行道等地方。系统不仅能够识别标准的盲道砖还能处理一些非标准的盲道设计。2.2 过马路辅助过马路对视障人士来说是一个高风险的行为。AIGlasses通过双重检测来确保安全斑马线识别系统会引导用户对准斑马线的中心位置红绿灯状态检测实时识别交通信号灯的颜色状态当系统检测到绿灯时会通过语音提示“绿灯可以通行”。整个过程完全自动化用户只需要按照语音提示操作即可。2.3 物品查找功能“我的钥匙放在哪里了”“那瓶水在什么地方”这些日常的寻找物品需求对视力受限的人来说可能很困难。AIGlasses的物品查找功能可以识别常见的物品并通过语音引导用户找到它们。使用方法很简单用户只需要说出“帮我找一下红牛”或者“找一下AD钙奶”系统就会开始搜索。当摄像头捕捉到目标物品时会通过语音提示物品的方向和距离比如“物品在你的左前方大约2米处”。2.4 实时语音交互除了特定的导航指令系统还支持自然的语音对话。你可以像和朋友聊天一样与系统交流“帮我看看这是什么”拍照识别物体“这个东西能吃吗”物品咨询“现在几点了”一般询问“今天的天气怎么样”信息查询系统基于阿里云的DashScope多模态大模型能够理解图像和语音的联合输入给出智能的回复。这意味着它不仅是一个导航工具还是一个随时可用的AI助手。3. 环境准备你需要准备什么在开始搭建之前我们需要准备一些必要的资源。别担心大部分都是免费的或者成本很低。3.1 阿里云DashScope API Key必需这是系统的“大脑”所有的语音识别和AI对话功能都依赖它。没有这个API Key系统就无法理解你说的话也无法进行智能回复。为什么需要API Key语音识别ASR将你说的话转换成文字AI对话理解你的指令并提供智能回复多模态交互支持图像语音的联合输入如何获取访问阿里云DashScope控制台https://dashscope.console.aliyun.com/注册或登录阿里云账号新用户有免费额度进入“API-KEY管理”页面点击“创建新的API-KEY”复制生成的Key格式类似sk-xxxxxxxxxxxxxxxxxxxxxx费用说明新用户通常有足够的免费额度供测试使用具体额度可以在控制台查看。对于个人使用和小规模测试免费额度完全够用。3.2 硬件设备可选但推荐如果你想获得完整的体验特别是实时视频流和语音输入功能建议准备以下硬件核心硬件ESP32-CAM模块用于采集实时视频画面市场价格约30-50元USB麦克风用于采集语音指令普通电脑麦克风即可扬声器或耳机用于播放AI的语音回复如果没有硬件怎么办完全没问题系统提供了完整的浏览器测试模式。即使没有任何硬件你也可以上传本地视频文件进行盲道检测测试查看系统运行状态和日志测试API配置是否正确体验Web界面的所有功能在浏览器中打开系统后你会看到右下角有一个系统状态面板显示✅ 服务运行状态✅ API配置状态✅ 模型加载情况盲道/红绿灯/物品识别✅ 音频文件数量✅ 摄像头连接状态这意味着你可以先通过软件测试确认系统运行正常后再决定是否购买硬件。4. 快速开始10分钟搭建完整系统现在让我们开始动手搭建。整个过程分为几个简单的步骤即使你是完全的初学者也能轻松完成。4.1 第一步启动服务首先我们需要确认服务已经正确运行。打开终端输入以下命令# 检查服务状态 supervisorctl status aiglasses # 如果显示 RUNNING说明服务正常 # 如果显示 STOPPED需要启动服务 supervisorctl start aiglasses常见问题解决 如果服务启动失败可以查看详细日志# 查看最近100行日志 tail -100 /root/AIGlasses_for_navigation/logs/supervisor.log # 检查端口是否被占用 netstat -tlnp | grep 80814.2 第二步访问Web界面服务启动后在浏览器中输入以下地址http://你的服务器IP:8081如果你是在本地电脑上运行可以直接用http://localhost:8081注意确保服务器的防火墙开放了8081端口。如果是云服务器可能需要在安全组中配置端口规则。4.3 第三步配置API Key进入Web界面后你会看到一个简洁的控制面板。右上角有一个齿轮图标⚙️点击它进入API配置页面。配置步骤点击右上角的“⚙️ API配置”按钮在弹出的窗口中粘贴你从阿里云获取的API Key点击“保存”按钮验证配置是否成功 保存后系统状态面板中的“API配置状态”应该会变成绿色对勾✅。你也可以通过命令行测试curl http://localhost:8081/api/config如果返回的JSON中is_configured为true说明配置成功。4.4 第四步开始使用配置完成后你就可以开始使用系统了。根据你的硬件情况有两种使用方式方式一浏览器测试模式无硬件点击右上角的“ 上传视频”按钮选择本地视频文件支持MP4、AVI、MOV等格式系统会自动处理并显示检测结果最大支持500MB的视频文件方式二完整硬件模式将ESP32-CAM连接到与服务器相同的WiFi网络系统会自动检测并连接摄像头通过麦克风说话系统会自动识别并回复所有检测结果都会实时显示在Web界面上5. 核心功能详解与实战演示现在系统已经运行起来了让我们深入了解一下每个功能的具体使用方法和实战技巧。5.1 盲道导航实战盲道导航是系统的核心功能它不仅仅是一个简单的检测工具而是一个完整的导航解决方案。启动导航语音指令“开始导航”或“盲道导航”Web界面点击“开始导航”按钮实际使用场景 假设你走在一条有盲道的街道上系统会实时分析摄像头画面直行场景当盲道笔直向前时系统会提示“直行”转弯场景当盲道向左或向右转弯时系统会提前提示“前方向左转”或“前方向右转”障碍物检测如果盲道上有障碍物如自行车、垃圾桶系统会提示“前方障碍物请注意绕行”盲道中断当盲道突然中断时系统会提示“盲道中断请小心前行”技术原理 系统使用YOLO分割模型yolo-seg.pt来识别盲道区域。这个模型经过专门训练能够准确区分盲道砖和普通路面。识别后系统会计算盲道的中心线并根据中心线的走向生成导航指令。优化建议在光线充足的环境下使用识别效果更好保持摄像头清洁避免污渍影响识别如果识别不准确可以尝试调整摄像头角度5.2 过马路辅助实战过马路功能结合了斑马线识别和红绿灯检测确保过马路的安全。启动过马路模式语音指令“开始过马路”或“帮我过马路”Web界面点击“过马路辅助”按钮完整过马路流程斑马线对准系统会引导你走到斑马线前并提示“请对准斑马线中心”等待绿灯系统持续检测红绿灯状态红灯时提示“红灯请等待”安全通行绿灯亮起时系统提示“绿灯可以通行”过马路结束通过马路后系统提示“过马路结束”技术细节斑马线检测使用自定义训练的YOLO模型红绿灯识别使用专门的trafficlight.pt模型安全逻辑只有同时检测到斑马线和绿灯时才会提示通行安全提示 虽然系统提供了辅助功能但过马路时仍需保持警惕。建议在相对安静的路口先进行测试开始时可以有人陪同熟悉系统提示音的含义5.3 物品查找实战物品查找功能特别适合在室内环境中使用比如在家里找东西。基本使用语音指令“帮我找一下[物品名]”示例“帮我找一下红牛”示例“找一下AD钙奶”示例“帮我找矿泉水”查找过程启动搜索说出物品名称后系统开始实时检测方向引导当检测到目标物品时系统会提示方向距离提示随着靠近物品提示会更加精确确认找到找到物品后可以说“找到了”或“拿到了”支持的物品 系统内置了常见的物品识别模型shoppingbest5.pt可以识别饮料类矿泉水、红牛、可乐等日常用品手机、钥匙、钱包等食品类苹果、香蕉、面包等扩展识别 如果你需要识别特定的物品可以收集该物品的图片数据使用YOLO进行训练将训练好的模型替换现有的物品识别模型5.4 语音交互实战语音交互是系统最自然的使用方式。你不需要记住特定的指令格式就像和朋友聊天一样自然对话。对话示例你帮我看看这是什么 系统识别图片中的物体这是一个红色的水杯 你这个东西能吃吗 系统这是一个塑料水杯不能直接食用 你现在几点了 系统现在是下午3点25分多模态能力 系统不仅能够理解你说的话还能结合看到的图像进行回答。比如你指着桌上的药瓶问“这个一天吃几次”系统识别药瓶上的文字后回答“根据说明一天三次每次一片”技术基础 语音交互功能基于阿里云的DashScope多模态大模型它能够将语音转换成文字ASR理解文字和图像的联合输入生成自然语言的回复将文字转换成语音TTS6. 硬件连接与配置如果你决定使用硬件来获得完整的体验这部分内容会帮助你正确连接和配置所有设备。6.1 ESP32-CAM配置ESP32-CAM是系统的“眼睛”负责采集实时视频流。硬件准备ESP32-CAM模块USB转TTL串口模块用于烧录程序杜邦线若干5V电源适配器烧录步骤下载项目中的compile/compile.ino文件使用Arduino IDE打开文件配置开发板为“ESP32 Wrover Module”修改WiFi配置连接到你的网络选择正确的端口点击上传WiFi配置 在代码中修改以下部分const char* ssid 你的WiFi名称; const char* password 你的WiFi密码; const char* serverAddress 你的服务器IP; // 例如192.168.1.100连接测试 烧录完成后打开串口监视器你应该能看到类似这样的输出连接到WiFi: 你的WiFi名称 IP地址: 192.168.1.150 连接到服务器: ws://192.168.1.100:8081/ws 连接成功6.2 音频设备配置音频设备包括麦克风输入和扬声器输出。麦克风配置将USB麦克风插入服务器的USB接口检查系统是否识别到麦克风# 查看音频设备列表 arecord -l # 测试录音 arecord -d 5 -f cd test.wav如果测试录音成功麦克风就配置好了扬声器配置连接扬声器或耳机到音频输出接口测试播放# 播放测试音频 aplay test.wav音频设备选择 在Web界面中你可以选择使用哪个音频设备。点击右上角的设置图标进入音频设备选择页面。6.3 系统集成测试所有硬件连接完成后进行完整的系统测试测试步骤确保所有服务正常运行打开Web界面检查系统状态测试语音输入对着麦克风说话看是否被识别测试视频流检查摄像头画面是否正常显示测试所有功能模块常见问题解决问题1摄像头无法连接# 检查ESP32是否在线 ping ESP32的IP地址 # 检查WebSocket连接 netstat -tlnp | grep 8081问题2语音识别不工作检查API Key是否正确配置测试网络连接ping dashscope.aliyuncs.com检查麦克风是否被正确识别问题3视频卡顿降低视频分辨率检查网络带宽关闭不必要的后台程序7. 高级配置与自定义当你熟悉了基本功能后可能想要进行一些自定义配置让系统更适合你的特定需求。7.1 模型替换与优化系统使用了多个预训练的模型你可以根据需要替换或优化这些模型。模型位置 所有模型文件都存放在/root/AIGlasses_for_navigation/model/目录下model/ ├── yolo-seg.pt # 盲道分割模型 ├── yoloe-11l-seg.pt # 障碍物检测模型 ├── shoppingbest5.pt # 物品识别模型 ├── trafficlight.pt # 红绿灯检测模型 └── hand_landmarker.task # 手部检测模型替换模型步骤准备新的模型文件必须是PyTorch格式的.pt文件停止服务supervisorctl stop aiglasses备份原有模型替换新模型修改配置文件如果需要重启服务supervisorctl start aiglasses训练自定义模型 如果你需要识别特定的物体比如家里的宠物、特定的药品等可以数据收集收集至少100张目标物体的图片数据标注使用LabelImg等工具标注图片模型训练使用YOLOv5或YOLOv8进行训练模型转换将训练好的模型转换成.pt格式模型部署替换现有的模型文件7.2 语音提示自定义系统内置了多种语音提示你可以根据需要修改或添加新的提示。语音文件位置 所有语音文件都存放在/root/AIGlasses_for_navigation/voice/目录下。修改语音提示准备新的语音文件MP3或WAV格式根据功能命名文件比如turn_left.mp3- 向左转提示turn_right.mp3- 向右转提示go_straight.mp3- 直行提示替换原有文件重启服务使更改生效语音合成 如果你想要更自然的语音可以使用TTS文本转语音服务# 示例使用阿里云TTS生成语音 from dashscope import AudioSpeech def text_to_speech(text, output_file): result AudioSpeech.call( modelsambert-zhichu-v1, texttext, sample_rate48000, formatmp3 ) with open(output_file, wb) as f: f.write(result.get_audio_data())7.3 系统参数调整系统提供了多个可调整的参数你可以根据实际使用环境进行优化。通过Web界面调整打开Web界面点击右上角的“设置”按钮调整以下参数检测灵敏度盲道检测阈值默认0.5值越高要求越严格红绿灯识别阈值默认0.6物品识别阈值默认0.5导航参数引导提前量默认2米检测到转弯时提前提示的距离障碍物安全距离默认1米语音提示间隔默认3秒通过配置文件调整 配置文件位于/root/AIGlasses_for_navigation/.env# 检测参数 DETECTION_CONFIDENCE0.5 NAVIGATION_LEAD_DISTANCE2.0 OBSTACLE_SAFE_DISTANCE1.0 # 语音参数 VOICE_INTERVAL3 VOICE_VOLUME80 # 网络参数 WEBSOCKET_PORT8081 API_TIMEOUT30修改配置文件后需要重启服务supervisorctl restart aiglasses8. 故障排除与优化在实际使用中你可能会遇到一些问题。这里列出了一些常见问题及其解决方法。8.1 服务启动问题问题服务启动失败解决方法# 1. 查看详细错误日志 tail -100 /root/AIGlasses_for_navigation/logs/supervisor.log # 2. 检查端口占用 sudo lsof -i :8081 # 3. 如果端口被占用杀死占用进程 sudo kill -9 进程ID # 4. 检查依赖包 pip list | grep dashscope pip list | grep opencv # 5. 重新安装缺失的包 pip install dashscope opencv-python8.2 语音识别问题问题语音识别不准确或无法识别可能原因和解决麦克风问题# 测试麦克风 arecord -l # 查看可用设备 arecord -d 5 -f cd test.wav # 录制测试 aplay test.wav # 播放测试网络问题# 测试阿里云连接 ping dashscope.aliyuncs.com # 测试API Key curl https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation \ -H Authorization: Bearer YOUR_API_KEY \ -H Content-Type: application/json \ -d { model: qwen-turbo, input: { messages: [ { role: user, content: 你好 } ] } }环境噪音在相对安静的环境中使用使用指向性麦克风调整麦克风增益8.3 视频流问题问题视频卡顿或延迟优化建议降低分辨率# 修改ESP32代码中的分辨率 camera_config.frame_size FRAMESIZE_QVGA # 320x240优化网络使用5GHz WiFi减少干扰确保ESP32和服务器在同一局域网避免网络拥塞调整帧率# 降低帧率 camera_config.fb_count 1 camera_config.grab_mode CAMERA_GRAB_LATEST8.4 性能优化系统运行缓慢硬件升级使用更强大的服务器至少4核8G内存使用GPU加速如果有NVIDIA显卡软件优化# 关闭不必要的服务 sudo systemctl stop apache2 # 如果不需要 sudo systemctl stop mysql # 如果不需要 # 优化Python性能 export PYTHONUNBUFFERED1 export OMP_NUM_THREADS4 # 根据CPU核心数调整模型优化使用量化后的模型.pt - .onnx - .engine使用TensorRT加速如果有NVIDIA显卡使用更轻量的模型版本8.5 常见错误代码错误API Key无效检查API Key是否正确复制检查是否有空格或换行在阿里云控制台确认Key状态错误模型加载失败检查模型文件路径检查文件权限ls -la model/重新下载模型文件错误摄像头连接失败检查ESP32电源是否稳定检查WiFi连接重启ESP32按复位按钮9. 项目结构与代码解析了解项目的代码结构有助于你进行二次开发和自定义功能。9.1 项目目录结构/root/AIGlasses_for_navigation/ ├── app_main.py # 主程序入口 ├── requirements.txt # Python依赖包 ├── model/ # 模型文件目录 │ ├── yolo-seg.pt # 盲道分割模型 │ ├── yoloe-11l-seg.pt # 障碍物检测模型 │ ├── shoppingbest5.pt # 物品识别模型 │ ├── trafficlight.pt # 红绿灯检测模型 │ └── hand_landmarker.task # 手部检测模型 ├── templates/ # 前端模板 │ └── index.html # Web界面 ├── static/ # 静态资源CSS、JS、图片 ├── voice/ # 语音文件 ├── logs/ # 日志目录 ├── .api_key.json # API Key存储 ├── .env # 环境变量配置 └── compile/ # ESP32代码 └── compile.ino # ESP32主程序9.2 核心代码解析主程序入口app_main.py 这是整个系统的核心负责协调所有模块的工作。# 简化的主程序结构 class AIGlassesSystem: def __init__(self): # 初始化所有模块 self.camera CameraModule() self.speech SpeechModule() self.navigation NavigationModule() self.ui WebUIModule() def run(self): # 主循环 while True: # 1. 获取摄像头画面 frame self.camera.get_frame() # 2. 进行各种检测 blind_path self.navigation.detect_blind_path(frame) traffic_light self.navigation.detect_traffic_light(frame) objects self.navigation.detect_objects(frame) # 3. 处理语音输入 if self.speech.has_command(): command self.speech.get_command() self.process_command(command) # 4. 更新UI self.ui.update(frame, blind_path, traffic_light, objects) # 5. 生成语音提示 if self.should_speak(): prompt self.generate_prompt() self.speech.speak(prompt)WebSocket通信 ESP32和服务器之间通过WebSocket进行实时通信。# WebSocket处理器 async def websocket_handler(websocket, path): # 接收ESP32的视频流 async for message in websocket: frame decode_frame(message) # 处理帧并返回结果 result process_frame(frame) # 发送结果回ESP32 await websocket.send(json.dumps(result))语音处理流程def process_speech(audio_data): # 1. 语音转文字 text speech_to_text(audio_data) # 2. 理解指令 if 导航 in text: return start_navigation() elif 过马路 in text: return start_crossing() elif 找一下 in text: item extract_item(text) return find_item(item) else: # 3. 普通对话 response chat_with_ai(text) return response9.3 扩展开发指南如果你想为系统添加新功能这里有一些建议添加新的检测功能训练新的YOLO模型在model/目录中添加模型文件在app_main.py中添加检测逻辑在Web界面中添加显示添加新的语音命令在语音处理函数中添加新的条件判断实现对应的功能函数添加语音提示文件更新帮助文档集成其他传感器# 示例添加超声波传感器测距 import RPi.GPIO as GPIO import time class UltrasonicSensor: def __init__(self, trigger_pin, echo_pin): self.TRIG trigger_pin self.ECHO echo_pin GPIO.setup(self.TRIG, GPIO.OUT) GPIO.setup(self.ECHO, GPIO.IN) def get_distance(self): # 发送超声波脉冲 GPIO.output(self.TRIG, True) time.sleep(0.00001) GPIO.output(self.TRIG, False) # 计算回波时间 while GPIO.input(self.ECHO) 0: pulse_start time.time() while GPIO.input(self.ECHO) 1: pulse_end time.time() # 计算距离 pulse_duration pulse_end - pulse_start distance pulse_duration * 17150 return round(distance, 2)10. 总结通过这篇完整的指南我们从零开始搭建了一个功能完善的AIGlasses智能导航系统。让我们回顾一下整个过程的要点核心收获系统搭建我们学会了如何部署整个系统从环境准备到服务启动每一步都有详细的操作指导。即使你是完全的初学者也能跟着步骤完成搭建。功能掌握系统提供了四大核心功能——盲道导航、过马路辅助、物品查找和实时语音交互。每个功能都针对特定的使用场景解决了视障人士日常出行中的实际问题。硬件集成我们了解了如何连接和配置ESP32-CAM、麦克风、扬声器等硬件设备让系统从软件演示变成真正的可穿戴设备。自定义扩展系统是开放和可扩展的。你可以替换模型、修改语音提示、调整参数甚至添加新的功能模块。这为二次开发提供了无限可能。实际应用价值 这个项目不仅仅是一个技术演示它具有实实在在的应用价值辅助视障人士提供安全的导航和環境感知能力老年人辅助帮助视力退化的老年人独立出行智能穿戴设备原型为智能眼镜等设备提供技术参考AI教育项目学习AI、物联网、嵌入式系统的综合案例下一步建议 如果你对这个项目感兴趣可以考虑以下方向继续深入硬件优化设计3D打印的外壳让设备更便携美观功能扩展添加跌倒检测、紧急求助等功能性能优化使用更高效的模型减少延迟产品化探索考虑批量生产和成本优化最后的建议 技术最终要服务于人。在开发过程中始终要站在使用者的角度思考这个功能真的有用吗操作足够简单吗在紧急情况下可靠吗只有真正解决用户痛点的技术才有长久的价值。希望这个项目不仅能帮助你学习技术更能启发你思考如何用技术让世界变得更美好。技术的温度就体现在这些能够切实帮助到人的应用中。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关新闻

3步突破限制:开源工具如何永久解锁AI编程助手?

3步突破限制:开源工具如何永久解锁AI编程助手?

3步突破限制:开源工具如何永久解锁AI编程助手? 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your…

2026/7/4 7:50:22 阅读更多 →
3个高效获取B站原始音频的强力功能:BilibiliDown全场景使用指南

3个高效获取B站原始音频的强力功能:BilibiliDown全场景使用指南

3个高效获取B站原始音频的强力功能:BilibiliDown全场景使用指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_…

2026/5/17 7:32:14 阅读更多 →
4个维度解析:ESP32-A2DP蓝牙音频库深度开发指南

4个维度解析:ESP32-A2DP蓝牙音频库深度开发指南

4个维度解析:ESP32-A2DP蓝牙音频库深度开发指南 【免费下载链接】ESP32-A2DP A Simple ESP32 Bluetooth A2DP Library (to implement a Music Receiver or Sender) that supports Arduino, PlatformIO and Espressif IDF 项目地址: https://gitcode.com/gh_mirror…

2026/7/4 16:27:06 阅读更多 →

最新新闻

告别Selenium弹窗噩梦:Playwright实现无头浏览器文件自动下载实战

告别Selenium弹窗噩梦:Playwright实现无头浏览器文件自动下载实战

1. 项目概述:为什么我们要告别Selenium?如果你做过Web自动化测试或者数据抓取,尤其是涉及到文件下载的场景,那你大概率经历过“弹窗噩梦”。浏览器原生的“另存为”对话框,就像一堵无法逾越的高墙,横亘在你…

2026/7/5 0:39:55 阅读更多 →
从光学到产品:护眼钢化膜的技术原理与实现路径深度解析(以悟赫德 scinique 技术为例)

从光学到产品:护眼钢化膜的技术原理与实现路径深度解析(以悟赫德 scinique 技术为例)

1. 引言:为什么我们需要 "护眼" 的手机膜?随着 OLED 屏幕在智能手机中的全面普及,以及用户日均用屏时长的不断增加(据统计,2026 年国内用户日均手机使用时长已超过 6.5 小时),视疲劳正…

2026/7/5 0:39:55 阅读更多 →
ASM330LHH与PIC18F25K80的工业级运动跟踪系统设计

ASM330LHH与PIC18F25K80的工业级运动跟踪系统设计

1. 从传感器到系统:ASM330LHH与PIC18F25K80的硬件搭档当我在工业自动化项目中第一次接触到ASM330LHH这颗6DoF惯性测量单元(IMU)时,立刻被它的性能参数所震撼。作为意法半导体MEMS传感器家族的重要成员,它在一个3x2.5x0.83mm的封装内集成了三轴…

2026/7/5 0:35:54 阅读更多 →
Python3与Java Hutool实现SM2国密算法跨语言加解密互通方案

Python3与Java Hutool实现SM2国密算法跨语言加解密互通方案

1. 项目概述与核心价值最近在做一个需要跨语言数据交换的项目,后端是Java,用到了Hutool这个“瑞士军刀”库来处理SM2国密算法的加解密,而另一个数据处理服务是用Python3写的。这就引出了一个很实际的问题:Java这边用Hutool加密的数…

2026/7/5 0:33:53 阅读更多 →
电商App签名逆向实战:从x-sign/x-miniwua看移动端安全防线

电商App签名逆向实战:从x-sign/x-miniwua看移动端安全防线

1. 项目概述:为什么我们要研究x-sign/x-miniwua? 如果你做过电商数据相关的爬虫或者自动化工具,那么“签名”这个词对你来说一定不陌生。它就像一道门禁,横亘在你和服务器数据之间。而某宝的 x-sign 和 x-miniwua &#xff0c…

2026/7/5 0:27:49 阅读更多 →
AI绘画提示词编写与优化全指南

AI绘画提示词编写与优化全指南

1. AI绘画提示词(Prompt)编写核心逻辑解析AI绘画的核心在于将自然语言描述转化为视觉元素,这个过程本质上是一种跨模态的信息转换。理解这个转换机制是编写优质Prompt的基础。现代AI绘画模型如Stable Diffusion、MidJourney都建立在扩散模型(Diffusion Model)架构上…

2026/7/5 0:25:48 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻