Exercises Dataset 全指南:1,324 个健身动作的六语运动数据层,从 JSON Schema 到数据库与 API 集成
发布时间:2026/10/1 10:08:25来源:尧图网络
数据集【免费下载链接】exercises-dataset1,324-exercise fitness dataset — animation GIFs, 180×180 thumbnails, muscle-group equipment data, and step-by-step instructions in 6 languages. The exercise data layer behind the LogPress app.项目地址https://gitcode.com/GitHub_Trending/ex/exercises-dataset点击查看免费下载导读本文围绕开源仓库 exercises-dataset 的官方文档展开系统讲解这套1,324 个健身动作数据集的完整使用方式它每条记录都包含分类、身体部位、器械、目标肌肉与辅助肌肉、六种语言英语、西班牙语、意大利语、土耳其语、俄语、中文的分步动作说明以及配套的 180×180 缩略图与动画 GIF。读完本文你将掌握该数据集的 JSON 数据 Schema、统计分布、浏览器端交互工具并能基于仓库自带的 setup.html 开发者向导把全部数据导入 SQL Server / PostgreSQL / MySQL / SQLite并用 JavaScript、Python、C#、Java、PHP、Go 或 cURL 调用后端 API。这套数据集正是 LogPress 健身追踪应用AI 辅助训练记录的底层运动数据层。一、数据集概览是什么、能做什么exercises-dataset是一个经过整理的、开箱即用的健身动作数据集包含1,324 个动作。每个动作条目都带有完整的元数据与多媒体资源官方 READMEREADME.md将其定位为即取即用ready-to-use的数据层。仓库内嵌的徽章统计印证了这一点data/exercises.json 包含 1,324 条动作记录videos/ 目录含 1,324 个动画 GIFimages/ 目录含 1,324 张缩略图指令支持 6 种语言。官方文档明确了四类典型应用场景构建健身/训练计划类应用涉及动作识别或动作推荐方向的机器学习项目健康与运动科学研究教学演示与原型开发。仓库还特别说明该数据集是 LogPress 应用AI 辅助的训练记录工具的运动数据层exercise data layer如果你正在构建自己的健身应用可以把它直接嵌入后端。每条动作记录包含的字段维度维度说明Unique ID数字标识符如0001Name完整描述性动作名称Category主要针对的身体部位分类Target具体目标肌肉Muscle Group辅助/协同肌肉Equipment所需器械自重动作记为body weightInstructions每个动作的分步说明Available Languages 英语 · 西班牙语 · 意大利语 · 土耳其语 · 俄语 · 中文Media每个动作一张 180×180 缩略图image 一个动画 GIFgif_url媒体版权归 Gym visual二、仓库组成与文件结构官方文档给出了清晰的目录结构详见 README.mdexercises-dataset/ ├── data/ │ └── exercises.json # 完整数据集 —— 1,324 条动作记录JSON 数组 ├── images/ # 1,324 张 180×180 缩略图© Gym visual ├── videos/ # 1,324 个 180×180 动画 GIF© Gym visual ├── index.html # 交互式动作浏览器纯客户端无需服务器 ├── setup.html # 开发者设置向导数据库导入 API 集成 ├── NOTICE.md # 媒体署名与许可条款 └── README.md关键文件说明data/exercises.json— 主数据文件是一个包含 1,324 个动作对象的 JSON 数组。image/gif_url指向仓库本地的 180×180 资源每条记录都携带attribution字段media_id保存原始媒体引用 id。images/、videos/— 180×180 缩略图与动画 GIF版权归 Gym visual经授权以该分辨率分发。index.html— 独立运行的动作浏览器直接用现代浏览器打开即可无需服务器。setup.html— 面向开发者的设置向导覆盖数据库建表导入、API 集成示例与 LLM 辅助后端生成。LICENSE、NOTICE.md— MIT代码/数据 Gym visual 媒体使用条款的双重许可说明。三、数据 Schema 详解每条记录遵循统一结构官方文档的字段表如下字段含义与示例均以 data/exercises.json 实际数据为准字段类型说明idstring唯一数字标识如0001namestring完整动作名称如3/4 sit-upcategorystring身体部位分类如upper arms、chest、backbody_partstring与category相同——针对的身体部位equipmentstring所需器械如dumbbell、body weightinstructions.enstring英语完整分步说明instructions.esstring西班牙语完整分步说明instructions.itstring意大利语完整分步说明instructions.trstring土耳其语完整分步说明instructions.rustring俄语完整分步说明instructions.zhstring中文完整分步说明muscle_groupstring主要协同肌群secondary_musclesarray[string]参与动作的额外肌肉targetstring主要目标肌肉如biceps、pectoralis majormedia_idstring原始媒体引用 id如2gPfomNimagestring180×180 缩略图路径如images/0001-2gPfomN.jpggif_urlstring180×180 动画 GIF 路径如videos/0001-2gPfomN.gifattributionstring媒体版权声明© Gym visualcreated_atstring记录创建的 ISO 8601 时间戳补充发现来自源码级核对除了上述字段实际 JSON 记录中还包含instruction_steps对象——它把每种语言的完整说明拆成了字符串数组每条一个动作步骤。例如0001记录的instruction_steps.en是 5 个字符串的数组从Lie flat on your back…到Repeat for the desired number of repetitions.。这意味着前端可以逐条渲染步骤列表而不是整段文本这对做分步教学 UI 很有价值。该字段是 README 字段表中未单独列出的扩展字段以仓库实际数据data/exercises.json为准。官方示例记录动作 0001 3/4 sit-up{ id: 0001, name: 3/4 sit-up, category: waist, body_part: waist, equipment: body weight, instructions: { en: Lie flat on your back with your knees bent and feet flat on the ground. Place your hands behind your head with your elbows pointing outwards. Engaging your abs, slowly lift your upper body off the ground, curling forward until your torso is at a 45-degree angle. Pause for a moment at the top, then slowly lower your upper body back down to the starting position. Repeat for the desired number of repetitions., es: Túmbate sobre tu espalda con las rodillas flexionadas y los pies apoyados en el suelo. ..., it: Sdraiati sulla schiena con le ginocchia piegate e i piedi appoggiati a terra. ..., tr: Sırt üstü yatın, dizlerinizi bükün ve ayaklarınızı yere düz koyun. ..., ru: Лягте на спину, согните колени и поставьте ступни на землю. ..., zh: 平躺膝盖弯曲双脚平放在地上。... }, muscle_group: hip flexors, secondary_muscles: [hip flexors, lower back], target: abs, media_id: 2gPfomN, image: images/0001-2gPfomN.jpg, gif_url: videos/0001-2gPfomN.gif, attribution: © Gym visual — https://gymvisual.com/, created_at: 2026-03-18T12:31:32.85479800:00 }四、数据集统计身体部位与器械分布官方 READMEREADME.md给出了以下统计口径指标数量动作总数1,324指令语言6按身体部位分布身体部位动作数Upper Arms上臂292Upper Legs大腿227Back背部203Waist腰部169Chest胸部163Shoulders肩部143Lower Legs小腿59Lower Arms小臂37Cardio心肺29Neck颈部2按器械分布器械动作数Body Weight自重325Dumbbell哑铃294Cable绳索157Barbell杠铃154Leverage Machine杠杆器械81Band弹力带54Smith Machine史密斯机48Kettlebell壶铃41Weighted负重36Stability Ball健身球28EZ BarbellEZ 曲杆23Other其他83官方文档特别提示约 25% 的动作完全不需要器械325 个自重动作非常适合打造居家训练类应用。这个比例与Body Weight 325 / 1324 ≈ 24.6%一致也可以在接入数据后用脚本自行核验。五、交互式浏览器index.html仓库自带一个完全客户端化的动作浏览器 index.html官方文档说明其能力包括在全部 1,324 个动作中实时搜索live search按category分类、equipment器械、target目标肌肉过滤无限滚动网格infinite scroll grid展示点击任意卡片查看完整详情与说明支持英语、西班牙语、意大利语、土耳其语、俄语、中文六种语言切换。从 index.html 的源码结构可以确认页面顶部提供搜索框search-box与清除按钮下方是分类/器械/目标肌肉的筛选区filter-section、filter-options、filter-summary并实现了显示更多筛选项filter-show-more与已启用筛选active-filters交互卡片流则通过无限滚动模式持续加载。使用方式克隆仓库后直接用任意现代浏览器打开index.html即可无需启动服务器、无需任何依赖安装——这正是官方文档强调的no server required。六、开发者设置向导setup.html 三步集成setup.html 是官方 README 重点介绍的集成向导涵盖三大环节且全部在浏览器本地完成不向任何服务器上传数据。以下是官方文档README.md与 setup.html 源码共同确认的细节。6.1 数据库设置Database Setup官方向导给出三步流程支持SQL Server、PostgreSQL、MySQL、SQLite四种数据库引擎页面内以标签页切换。Step 1 —— 建表Create Table以下四份CREATE TABLE语句直接取自 setup.html 源码中的DB_SQL模板setup.html字段设计完全对齐 JSON SchemaSQL ServerCREATE TABLE exercises ( id NVARCHAR(10) PRIMARY KEY, name NVARCHAR(255) NOT NULL, category NVARCHAR(100), body_part NVARCHAR(100), equipment NVARCHAR(100), instructions_en NVARCHAR(MAX), instructions_es NVARCHAR(MAX), instructions_it NVARCHAR(MAX), instructions_tr NVARCHAR(MAX), instructions_ru NVARCHAR(MAX), instructions_zh NVARCHAR(MAX), muscle_group NVARCHAR(100), secondary_muscles NVARCHAR(MAX), -- JSON array stored as string target NVARCHAR(100), image NVARCHAR(500), gif_url NVARCHAR(500), created_at DATETIME2 );PostgreSQLCREATE TABLE exercises ( id VARCHAR(10) PRIMARY KEY, name VARCHAR(255) NOT NULL, category VARCHAR(100), body_part VARCHAR(100), equipment VARCHAR(100), instructions_en TEXT, instructions_es TEXT, instructions_it TEXT, instructions_tr TEXT, instructions_ru TEXT, instructions_zh TEXT, muscle_group VARCHAR(100), secondary_muscles JSONB, target VARCHAR(100), image VARCHAR(500), gif_url VARCHAR(500), created_at TIMESTAMPTZ );MySQLCREATE TABLE exercises ( id VARCHAR(10) PRIMARY KEY, name VARCHAR(255) NOT NULL, category VARCHAR(100), body_part VARCHAR(100), equipment VARCHAR(100), instructions_en TEXT, instructions_es TEXT, instructions_it TEXT, instructions_tr TEXT, instructions_ru TEXT, instructions_zh TEXT, muscle_group VARCHAR(100), secondary_muscles JSON, target VARCHAR(100), image VARCHAR(500), gif_url VARCHAR(500), created_at DATETIME ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;SQLiteCREATE TABLE exercises ( id TEXT PRIMARY KEY, name TEXT NOT NULL, category TEXT, body_part TEXT, equipment TEXT, instructions_en TEXT, instructions_es TEXT, instructions_it TEXT, instructions_tr TEXT, instructions_ru TEXT, instructions_zh TEXT, muscle_group TEXT, secondary_muscles TEXT, -- JSON array stored as string target TEXT, image TEXT, gif_url TEXT, created_at TEXT );Step 2 —— 导入数据Import Data点击Generate INSERT SQL按钮向导会在浏览器内读取本地 data/exercises.json生成包含全部1,324 条INSERT语句的.sql文件。从源码generateInsertSql()逻辑setup.html可以看到它通过fetch(data/exercises.json)在浏览器端解析 JSON 并逐条拼装INSERT INTO exercises (id, name, category, body_part, equipment, instructions_en, ..., gif_url, created_at) VALUES (...)setup.html全程零上传。Step 3 —— 媒体文件Media Files把仓库内的images/与videos/目录复制到你的 Web 服务器根目录或 CDN 即可。image和gif_url列存的是相对路径应用层拼接你自己的 base URL 就能访问。向导明确提示这两个目录已包含在仓库中克隆后直接复制无需单独下载。6.2 API 集成API Integration向导内置了cURL、JavaScript、Python、C#、Java、PHP、Go七种语言的客户端调用模板setup.html 的标签定义你只需在页面输入 API base URL所有示例代码会实时更新。官方文档与源码共同确认的接口形态为GET /exercises/:id—— 按 ID 获取单个动作GET /exercises?pagelimit—— 分页获取列表响应形如{ data: [...], total: 1324, page: 1, limit: 20, totalPages: 67 }GET /exercises组合过滤 —— 支持category、body_part、equipment、target参数叠加。cURL 示例来自 setup.html 模板# GET single exercise by ID curl -s ${base}/exercises/0001 # Pretty-print the response (Python 3 built-in) curl -s ${base}/exercises/0001 | python3 -m json.tool # GET all exercises — page 1, 20 per page curl -s ${base}/exercises?page1limit20 # Filter by category curl -s ${base}/exercises?categoryStrengthpage1limit20 # Filter by body part curl -s ${base}/exercises?body_partChestpage1limit20 # Combine filters curl -s ${base}/exercises?categoryStrengthbody_partChestpage1limit20 # With equipment filter curl -s ${base}/exercises?equipmentBarbelltargetPectoralspage1limit20JavaScript 示例setup.htmlconst BASE_URL https://api.yourapp.com; // GET /exercises/:id — fetch a single exercise async function getExercise(id) { const res await fetch(${BASE_URL}/exercises/${id}); if (!res.ok) throw new Error(HTTP ${res.status}); return res.json(); } // GET /exercises?pagelimit — paginated list async function getExercises({ page 1, limit 20 } {}) { const params new URLSearchParams({ page, limit }); const res await fetch(${BASE_URL}/exercises?${params}); if (!res.ok) throw new Error(HTTP ${res.status}); return res.json(); } // GET /exercises with filters async function getExercisesFiltered({ page 1, limit 20, category, bodyPart, equipment, target, } {}) { const params new URLSearchParams({ page, limit }); if (category) params.set(category, category); if (bodyPart) params.set(body_part, bodyPart); if (equipment) params.set(equipment, equipment); if (target) params.set(target, target); const res await fetch(${BASE_URL}/exercises?${params}); if (!res.ok) throw new Error(HTTP ${res.status}); return res.json(); } // Usage const result await getExercisesFiltered({ category: Strength, bodyPart: Chest, page: 1, limit: 20 }); console.log(result.data[0].name); // e.g. Barbell Bench PressPython 示例setup.htmlimport requests BASE_URL https://api.yourapp.com # GET /exercises/:id — fetch a single exercise def get_exercise(exercise_id: str) - dict: res requests.get(f{BASE_URL}/exercises/{exercise_id}) res.raise_for_status() return res.json() # GET /exercises?pagelimit — paginated list def get_exercises(page: int 1, limit: int 20) - dict: res requests.get(f{BASE_URL}/exercises, params{page: page, limit: limit}) res.raise_for_status() return res.json() # Usage exercise get_exercise(0001) print(exercise[name]) # Barbell Bench Press print(exercise[category]) # Strength print(exercise[gif_url]) # videos/0001.gif6.3 Ask Your LLM一键生成生产级 REST API向导的第三大能力是提供结构化 Prompt选择你的后端框架与数据库后把生成的提示词粘贴给 ChatGPT、Claude 或 Gemini即可一次性生成可直接上线的 REST API。源码setup.html确认支持的框架与推荐依赖如下框架语言示例依赖启动命令Express.jsJavaScriptexpress, pg / mysql2 / better-sqlite3node index.jsFastAPIPythonfastapi, uvicorn, sqlalchemy, psycopg2-binaryuvicorn main:app --reloadASP.NET CoreC#Npgsql / MySql.Data / Microsoft.Data.Sqlitedotnet runSpring BootJavaspring-web, spring-data-jpa, db drivermvn spring-boot:runLaravelPHPlaravel/laravel, db driverphp artisan serveGinGogin-gonic/gin, database/sql db drivergo run main.go数据库侧同样覆盖 PostgreSQL、MySQL、SQL Server、SQLite 四种引擎方便你按现有技术栈自由组合。七、示例动作展示官方 README 提供了六个代表性动作作为数据样例每个动作都附带 180×180 缩略图与动画 GIF媒体版权归 Gym visual并配有训练要点key cues。以下是各动作的元数据与要点浓缩。1 — Barbell Bench Press杠铃卧推· Chest 胸部器械Barbell ·目标肌肉Pectorals ·辅助Triceps, Shoulders ·Media IDEIeI8Vf卧推是胸部训练与三大力量举动作之一。仰卧于平凳将装载的杠铃下放至胸部再爆发性推起同时募集胸肌、肱三头肌与前三角肌。要点起杠前先收拢并下沉肩胛骨双脚踩实地面下背自然拱起采用肩宽握距杠铃有控制地下放至胸中部再由脚跟发力推起。2 — Barbell Deadlift杠铃硬拉· Upper Legs / Back 大腿/背部器械Barbell ·目标肌肉Glutes ·辅助Hamstrings, Lower Back ·Media IDila4NZS硬拉被誉为全身力量训练的终极动作几乎动员后链全部大肌群——臀大肌、腘绳肌与下背同时对上背、斜方肌和握力提出高要求。脊柱对齐与躯干支撑bracing技巧对表现与安全都至关重要。要点杠铃置于脚掌中线上方屈髋俯身握点位于腿外侧核心用力绷紧全程让杠铃贴着小腿移动用力蹬地起身顶部收紧臀部、完全伸髋锁定。3 — Barbell Full Squat杠铃深蹲· Upper Legs 大腿器械Barbell ·目标肌肉Glutes ·辅助Quadriceps, Hamstrings, Calves, Core ·Media IDqXTaZnJ深蹲常被称为动作之王需要整个下肢与核心的协调发力。低于平行的下蹲相比半蹲能最大化臀肌与腘绳肌的激活几乎是一切力量与增肌计划的基石。要点高杠置于上斜方肌、低杠置于后束下蹲前绷紧核心膝盖朝脚趾方向外展身体坐进髋部直至大腿低于平行用整个脚掌发力站起。4 — Dumbbell Biceps Curl哑铃弯举· Upper Arms 上臂器械Dumbbell ·目标肌肉Biceps ·辅助Forearms ·Media IDNbVPDMW哑铃弯举是最经典的孤立训练之一两侧独立完成有助于发现并纠正左右力量差异。掌心向上的旋后握法能最大化动作顶点的肱二头肌收缩。要点站姿挺直肘部固定在身体两侧弯举时手腕旋后顶部收紧有控制地下放避免用肩部或下背甩动借力。5 — Pull-up引体向上· Back 背部器械Body Weight ·目标肌肉Lats ·辅助Biceps, Forearms ·Media IDlBDjFxJ引体向上是上肢拉力训练的金标准自重动作主要发展背阔肌塑造 V 型轮廓同时大量调用肱二头肌、后三角肌与核心稳定肌群从弹力带辅助到负重引体可覆盖从入门到进阶。要点正握悬垂握距与肩同宽或略宽先下沉肩胛启动背阔肌再把胸部拉向杠每组之间完全下放以保持完整行程。6 — Dumbbell Lateral Raise哑铃侧平举· Shoulders 肩部器械Dumbbell ·目标肌肉Delts ·辅助Traps ·Media IDDsgkuIt哑铃侧平举是打造肩宽的招牌孤立动作直接针对三角肌中束中头这是形成宽肩视觉效果的关键节奏与动作质量远比负重重要。要点站姿全程肘部微屈将哑铃向两侧举起至与地面平行即可不要更高用肘部引导而非手腕有控制地慢放以最大化张力时间。以下是官方文档配图所示的动作演示GIF 均位于 videos/ 目录与上文动作一一对应八、代码级使用示例官方 READMEREADME.md提供了四种主流语言的接入范式可直接复制运行。8.1 Python — 加载与过滤import json with open(data/exercises.json, r, encodingutf-8) as f: exercises json.load(f) print(fTotal exercises loaded: {len(exercises)}) # Filter by category chest_exercises [ex for ex in exercises if ex[category] chest] print(fChest exercises: {len(chest_exercises)}) # - Chest exercises: 163 # Filter by equipment bodyweight [ex for ex in exercises if ex[equipment] body weight] print(fBodyweight exercises: {len(bodyweight)}) # - Bodyweight exercises: 325 # Get all unique categories categories sorted({ex[category] for ex in exercises}) print(Categories:, categories) # Access multilingual instructions ex exercises[0] print(ex[instructions][en]) # English print(ex[instructions][es]) # Spanish print(ex[instructions][it]) # Italian print(ex[instructions][tr]) # Turkish print(ex[instructions][ru]) # Russian print(ex[instructions][zh]) # Chinese8.2 Python — 配合 Pandas 分析import json import pandas as pd with open(data/exercises.json, r, encodingutf-8) as f: data json.load(f) df pd.DataFrame(data) # Top categories by exercise count print(df[category].value_counts().head(10)) # All barbell exercises targeting upper legs barbell_quads df[(df[equipment] barbell) (df[category] upper legs)] print(barbell_quads[[name, target, equipment]])8.3 JavaScript / Node.jsconst exercises require(./data/exercises.json); console.log(Total exercises: ${exercises.length}); // Bodyweight exercises only const bodyweight exercises.filter(ex ex.equipment body weight); console.log(Bodyweight exercises: ${bodyweight.length}); // - Bodyweight exercises: 325 // Group exercises by category const byCategory exercises.reduce((acc, ex) { acc[ex.category] (acc[ex.category] || []); acc[ex.category].push(ex); return acc; }, {}); // Access multilingual instructions const ex exercises[0]; console.log(ex.instructions.en); // English console.log(ex.instructions.es); // Spanish console.log(ex.instructions.it); // Italian console.log(ex.instructions.tr); // Turkish console.log(ex.instructions.ru); // Russian console.log(ex.instructions.zh); // Chinese8.4 TypeScript — 类型安全使用interface Exercise { id: string; name: string; category: string; body_part: string; equipment: string; instructions: { en: string; es: string; it: string; tr: string; ru: string; zh: string; }; muscle_group: string; secondary_muscles: string[]; target: string; media_id: string | null; image: string | null; gif_url: string | null; attribution: string; created_at: string; } import exercises from ./data/exercises.json; const data exercises as Exercise[]; const randomWorkout: Exercise[] data.slice(0, 6); console.log(First 6 exercises:, randomWorkout.map(e e.name));九、许可与合规使用官方文档README.md与 LICENSE、NOTICE.md 共同界定了双重许可边界这是复用本数据集时最需要留意的一环代码、工具、数据集结构与指令文本含六语翻译按MIT License发布见 LICENSE运动媒体缩略图与 GIF版权归 Gym visual本仓库经其书面授权以180×180分辨率再分发。任何使用都必须保留© Gym visual署名——每条记录中的attribution字段已携带该声明——并遵守 Gym visual 的使用条款仓库不声称对底层动作内容或媒体拥有所有权克隆本仓库并不等于获得媒体授权如需在自己的项目中复用媒体须按 Gym visual 条款另行获取授权媒体再使用须遵守 NOTICE.md 中保持署名、尊重 180×180 分辨率限制的约定。实践建议接入生产环境时把attribution字段原样透传给前端展示层既满足版权合规要求也能在机器学习训练集、研究论文配图等场景中留下可追溯的出处信息。总结exercises-dataset是一个数据 工具一体化的健身动作数据集数据层是一份 1,324 条、六语指令、带统一 Schema 与配套媒体资源的 JSON 文件工具层则提供了零服务器的交互式浏览器 index.html 和四数据库 七语言 LLM 提示词全覆盖的集成向导 setup.html。无论是直接把它当作 LogPress 这类应用的运动数据层还是构建训练计划、动作推荐、动作识别等自有系统你都可以按本文的 Schema 说明、统计口径与代码范式快速落地同时务必遵守 MIT Gym visual 媒体的双重许可约定。赞分享数据集【免费下载链接】exercises-dataset1,324-exercise fitness dataset — animation GIFs, 180×180 thumbnails, muscle-group equipment data, and step-by-step instructions in 6 languages. The exercise data layer behind the LogPress app.项目地址https://gitcode.com/GitHub_Trending/ex/exercises-dataset点击查看免费下载相关推荐免费健身数据库800运动动作的完整指南免费健身数据库800运动动作的完整指南 Free Exercise DB 是一个开源的公共领域健身数据集提供了超过800种运动动作的详细信息包括详细的动数据集JSON Crack JSON Schema生成器从数据到Schema的自动化流程JSON Crack JSON Schema生成器从数据到Schema的自动化流程 引言告别手动编写JSON Schema的时代 你是否还在为手动编写JSO前端数据可视化开发工具800免费健身动作数据库打造专业健身应用的终极数据源800免费健身动作数据库打造专业健身应用的终极数据源 Free Exercise DB 是一个开源的公共领域健身动作数据集提供了超过800种标准化锻炼方法数据集上一篇SymPy 不可变矩阵ImmutableMatrix深入解析从设计动机到源码级原理下一篇Shenzen Smartpet P19 宠物训练项圈 Sub-GHz 信号库解析Flipper Zero 命名规范、通道与强度对照全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网