{"id":15163240,"url":"https://github.com/longxiangam/work_timer","last_synced_at":"2026-02-07T23:04:13.914Z","repository":{"id":244901406,"uuid":"806463255","full_name":"longxiangam/work_timer","owner":"longxiangam","description":"ESP32C3 + Embassy 练习项目","archived":false,"fork":false,"pushed_at":"2024-10-22T01:49:12.000Z","size":371,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-26T21:10:18.677Z","etag":null,"topics":["embassy","esp32","esp32c3"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/longxiangam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-05-27T08:47:19.000Z","updated_at":"2025-07-24T07:59:54.000Z","dependencies_parsed_at":"2024-06-18T06:57:05.119Z","dependency_job_id":"1bcfe2b0-f399-4df4-b84c-7ffb77adfbd4","html_url":"https://github.com/longxiangam/work_timer","commit_stats":{"total_commits":67,"total_committers":2,"mean_commits":33.5,"dds":0.07462686567164178,"last_synced_commit":"3a61232f8387205c597105b5117f2411a9940e98"},"previous_names":["longxiangam/work_timer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/longxiangam/work_timer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longxiangam%2Fwork_timer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longxiangam%2Fwork_timer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longxiangam%2Fwork_timer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longxiangam%2Fwork_timer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/longxiangam","download_url":"https://codeload.github.com/longxiangam/work_timer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longxiangam%2Fwork_timer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29211605,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T22:58:45.823Z","status":"ssl_error","status_checked_at":"2026-02-07T22:58:45.272Z","response_time":63,"last_error":"SSL_read: 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":["embassy","esp32","esp32c3"],"created_at":"2024-09-27T02:21:53.197Z","updated_at":"2026-02-07T23:04:13.900Z","avatar_url":"https://github.com/longxiangam.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32C3 + Embassy 练习项目\r\n\r\n这是一个练习项目，旨在研究如何在ESP32C3上使用Embassy进行开发。由于很难找到系统性的参考项目，大多数都是简单的main函数示例，因此只能自己实践一下。本项目的目标是实现一些实用功能，尽管功能比较杂，但都是我在考虑实际业务需求时需要的一些功能。由于时间有限，项目实现较为粗糙，但希望能对有类似需求的人有所参考。觉得有参考意义的人就看一看，本来也只是作为我自己的练习与记录。\r\n\r\n\r\n项目功能如下：\r\n\r\n## 1. 通过 AP 模式启动 WiFi\r\n- 设备启动时进入 AP 模式。\r\n- 通过手机连接后进行 WiFi 配网操作。\r\n\r\n## 2. 简单的 DHCP 服务\r\n- 提供一个固定 IP 地址，只用于初次配网。\r\n- 无需完整的 DHCP 服务。\r\n\r\n## 3. 对 WiFi 使用进行处理\r\n- 在程序内可随时方便使用网络请求。\r\n- 当WiFi长时间未使用时自动关闭WiFi节省电量，当使用WiFi时自动拉起。\r\n\r\n## 4. 简易 Web 服务\r\n- 启动一个基本的 Web 服务器。\r\n- 通过手机访问网页进行设备设置。\r\n\r\n## 5. EC11 和按键事件监测\r\n- 监测 EC11 旋转编码器和按键事件。\r\n- 检测长按、短按、双击等事件。\r\n- 实现 EC11 的转动速度计算。\r\n\r\n## 6. 简易事件监听功能\r\n- 注册事件回调函数。\r\n- 事件触发时运行相应的回调函数。\r\n\r\n## 7. 时间功能\r\n- 使用 SNTP 同步时间。\r\n- 显示当前时间。\r\n\r\n## 8. 天气预报\r\n- 通过心知天气 API 获取天气信息。\r\n- 显示天气预报。\r\n\r\n## 9. CHIP-8 模拟器\r\n- 在程序内含一个 CHIP-8 模拟器。\r\n- 运行 CHIP-8 游戏或应用。\r\n\r\n## 10. 通过 PWM 播放简单的 WAV 音频文件\r\n- 使用 PWM 播放 WAV 音频文件。\r\n- 提供基本的音频播放功能。\r\n\r\n## 11. 设置界面显示二维码\r\n- 生成和显示一个设置地址的二维码。\r\n- 方便手机扫码进入设置页面。\r\n\r\n## 12. 通过 NVS 保存信息\r\n- 使用 NVS（非易失性存储）保存配置信息。\r\n- 确保重要数据在重启后仍然可用。\r\n\r\n## 13. 低功耗处理\r\n- 方便进入睡眠模式降低功耗。\r\n\r\n## 14. 程序页面管理\r\n- 简易的页面管理系统，方便从主窗口进入各子程序页面。\r\n\r\n---\r\n\r\n### 结语\r\n\r\n整个项目的设计和实现过程中仍然存在许多问题，需要进一步优化和改进。由于时间有限，只能粗略实现部分功能。希望这些内容对有相似需求的开发者有所帮助，如果有不妥之处，欢迎指正，一同学习进步。\r\n\r\n希望这个项目能为大家在使用ESP32C3和Embassy开发时提供一些参考和借鉴。\r\n\r\n​\r\n参考的项目：\r\n\r\n[claudiomattera/esp32c3-embassy: A Rust async firmware for ESP32-C3 for reading and displaying sensor values using Embassy (github.com)](https://github.com/claudiomattera/esp32c3-embassy)\r\n\r\n[vpikulik/sntpc_embassy: Example how to integrate sntpc crate with emabssy on rpi-pico w ([github.com](https://github.com/vpikulik/sntpc_embassy))](https://github.com/vpikulik/sntpc_embassy)\r\n\r\n\r\n​\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flongxiangam%2Fwork_timer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flongxiangam%2Fwork_timer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flongxiangam%2Fwork_timer/lists"}