{"id":49884046,"url":"https://github.com/psdscsv/esp32_usb_over_ip","last_synced_at":"2026-05-15T17:02:02.585Z","repository":{"id":335306226,"uuid":"1143859195","full_name":"psdscsv/esp32_usb_over_ip","owner":"psdscsv","description":"使用esp32s3实现usbip服务器","archived":false,"fork":false,"pushed_at":"2026-05-13T14:16:41.000Z","size":398,"stargazers_count":45,"open_issues_count":0,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-13T16:17:52.278Z","etag":null,"topics":["esp32","esp32-idf","usbip-client"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/psdscsv.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-28T03:19:36.000Z","updated_at":"2026-05-13T14:47:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/psdscsv/esp32_usb_over_ip","commit_stats":null,"previous_names":["psdscsv/esp32_usb_over_ip"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/psdscsv/esp32_usb_over_ip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psdscsv%2Fesp32_usb_over_ip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psdscsv%2Fesp32_usb_over_ip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psdscsv%2Fesp32_usb_over_ip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psdscsv%2Fesp32_usb_over_ip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/psdscsv","download_url":"https://codeload.github.com/psdscsv/esp32_usb_over_ip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psdscsv%2Fesp32_usb_over_ip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33072970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","esp32-idf","usbip-client"],"created_at":"2026-05-15T17:01:22.642Z","updated_at":"2026-05-15T17:02:02.579Z","avatar_url":"https://github.com/psdscsv.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32 usb over ip\n\n![license](https://img.shields.io/badge/许可证-Apache%202.0-blue.svg)\n![device](https://img.shields.io/badge/设备-ESP32S3-orange.svg)\n\n**一个基于开源项目 [usbipdcpp_esp32](https://github.com/yunsmall/usbipdcpp_esp32) 的增强版本，专注于优化和稳定 USB/IP 协议在 ESP32S3 上的数据传输。**\n\n原项目实现了基础框架。本项目**着重解决了在实际应用中遇到的数据传输稳定性、兼容性和性能瓶颈问题**，旨在提供一个可用于更稳定场景的生产力工具或开发基础。\n\n## 📑 目录\n- [✨ 主要特性与增强](#-主要特性与增强)\n- [🚀 快速开始](#-快速开始)\n- [📊 更新日志](#-更新日志)\n- [📝 许可证与致谢](#-许可证与致谢)\n- [💡 开发透明度声明](#-开发透明度声明)\n\n---\n\n## ✨ 主要特性\n- ST-LinkV2 支持，烧录f1芯片最快25秒，平均时长30秒\n- J-Link 支持，烧录mspm0g3507需要31秒\n- Daplink **不支持**\n- 串口 支持，使用时可能会显示超时\n- 有线鼠标/键盘 支持，受网络环境影响可能会出现卡顿\n- U盘 **部分支持**,读卡器虽能显示在设备列表，但无法连接。写入较大文件（\u003e60kb）会出错，连接时可能因设别内存不足而失败\n---\n\n## 🚀 快速开始\n1.  **硬件准备**：一个esp32s3，我使用的型号是N16R8，只有*IO18、19*是必须使用的，其余引脚只是用于LED指示和按钮检测。\n2.  **软件准备**：安装ESP-IDF V5.5.1。\n3.  **获取代码**：`git clone https://github.com/psdscsv/esp32_usb_over_ip.git`\n4.  **配置项目**：进入目录，运行 `idf.py set-target esp32s3`选择开发板。\n5.  **编译与烧录**：编译烧录...\n6.  **网络连接**：可以设置设备连接电脑的热点（速度稍慢），也可以直接连接设备的热点（名称：“登录-192.168.4.1”，速度最快）\n7.  **客户端连接**：往设备插入一个usb设备，在 windows的usbip_win2 客户端连接 ESP32-S3 的 IP 地址（如果是设备连接电脑热点，可以在电脑的热点设置找到设备的ip；如果是电脑连接设备热点，输入192.168.4.1即可）。\n---\n\n## 📊 更新日志\n### [v0.2.5] - 2026-5-15\n#### 传输稳定性修复+\n- **完全修复了actual_length字段与实际数据不一致的协议错误，这次是真的修好了**\n- 测试共享stLink进行烧录，数十次测试的结果是没有出现timeout现象，并且烧录时间在30秒左右\n\n### [v0.2.4] - 2026-5-14\n#### 传输稳定性修复\n- **修复了 IN 传输 actual_length 字段与实际数据不一致的协议错误，同时提升传输速度**\n- 目前做了强制性修复，后续将修复长度计算逻辑\n- esp32电压问题，更有可能来自本人焊接，更换另一个板子就没有出现问题\n- 在连接stLink进行烧录，时间从39-45秒降低至30秒！！！\n\n### [v0.2.3] - 2026-5-13\n#### 参数优化+问题排查\n- **调整menuconfig的参数以提升传输速率，但是这也导致了稳定下降**\n- 在传输过程中，指示灯（现在是换成一个LED）会出现亮度变化，猜测传输过程需要较大电流导致供电不足\n- esp32有可能在传输过程中因电压跌落重启，目前的PCB设计需要修改！！\n- 在连接stLink进行烧录的时候，第一次经常出现timeout的错误，再次烧录速度会更快一些（献祭有加成？？）\n\n*[查看完整更新历史](changelog.md)*\n---\n\n## 📝 许可证与致谢\n\n### 许可证\n*   本项目基于 **Apache License Version 2.0** 开源。\n\n### 致谢\n*   衷心感谢原项目作者 [yunsmall](https://github.com/yunsmall) 及的工作。\n*   感谢 USB/IP 协议的开源社区及 Espressif 提供的 ESP-IDF 框架。\n\n---\n\n## 💡 开发透明度声明\n\n本项目在开发过程中，使用了 AI 编程助手进行部分代码的构思、重构和文档撰写，以提高开发效率。**项目的核心逻辑、关键优化及最终实现均由开发者验证、测试并负责。**\n*这段话也是AI生成的*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsdscsv%2Fesp32_usb_over_ip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpsdscsv%2Fesp32_usb_over_ip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsdscsv%2Fesp32_usb_over_ip/lists"}