ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

zclaw定时任务完全指南:用自然语言在ESP32上创建cron调度与每日提醒

zclaw定时任务完全指南:用自然语言在ESP32上创建cron调度与每日提醒 zclaw定时任务完全指南用自然语言在ESP32上创建cron调度与每日提醒【免费下载链接】zclawYour personal AI assistant at all-in 888KiB (~35KB in app code). Running on an ESP32. GPIO, cron, custom tools, memory, and more.项目地址: https://gitcode.com/gh_mirrors/zc/zclawzclaw 是一个运行在 ESP32 上的微型 AI 个人助手固件全固件仅 888KiB它支持用一句自然语言创建定时任务——比如每天早上 8 点提醒我喝水。无需写 crontab、无需配置脚本设备会自己记住时间并按时执行。本指南带你完整掌握 zclaw 的 cron 调度功能创建每日提醒、周期任务、一次性提醒以及时区设置和任务管理。为什么 ESP32 上的 cron 这么特别传统 cron 需要你登录服务器编辑 crontab 文件而 zclaw 把定时调度直接做进了固件里你只需要说人话。zclaw 内置了一个轻量级调度器核心源码见 main/cron.c 和 main/cron.h支持三种调度类型类型说明适用场景daily每天在指定时:分触发每日提醒、定时播报periodic每 N 分钟循环执行周期性传感器巡检once延迟 N 分钟后执行一次单次提醒、倒计时调度器还内置了NTP 时间同步和时区支持时区会持久化到 NVS 闪存中断电重启后依然有效。用一句自然语言创建每日提醒这是 zclaw 定时任务最爽的地方——直接把话说给 AI它会自己调用cron_set工具。典型对话示例每日提醒每天早上 8:15 提醒我给植物浇水设备回复类似Created schedule #1: daily at 08:15 UTC → remind me to water plants⏱️周期任务每 30 分钟读一次温度传感器如果超过 30 度就报警每小时播报一次当前时间⏳一次性提醒50 分钟后提醒我关火1 小时后提醒我开会提醒会怎样触达你任务到点触发时zclaw 会把动作内容发送给 AI Agent由它生成自然语言回复再通过Telegram或Web Relay推送给你。也就是说你收到的是一条像真人发来的消息而不是干巴巴的系统通知。定时任务三种类型详解1️⃣ daily —— 每日定点执行对应源码中的CRON_TYPE_DAILY见 main/cron.h需要指定hour0–23 的小时minute0–59 的分钟默认 0适合每日晨间简报、就寝提醒、日报推送。2️⃣ periodic —— 固定间隔循环对应CRON_TYPE_PERIODIC通过interval_minutes指定间隔1–1440 分钟。适合温湿度巡检、设备状态轮询、定期喂狗真的狗配合 GPIO 也行 。3️⃣ once —— 一次性延迟执行对应CRON_TYPE_ONCE通过delay_minutes指定延迟分钟数1–1440。适合煮面提醒、快递到了提醒、半小时后叫我。容量与限制zclaw 在 main/config.h 中定义了调度容量最多 16 个并发任务CRON_MAX_ENTRIES 16每个动作描述最长 256 字符CRON_MAX_ACTION_LEN 256时间未同步NTP 未连上时daily类任务不会触发——先确认设备已连上 Wi-Fi管理你的任务查看与删除创建任务只是开始zclaw 同样支持用自然语言管理它们。查看全部任务我有哪些定时任务设备会调用cron_list工具返回所有任务的 ID、类型、下次触发时间和动作描述。删除指定任务删掉任务 #2 或 把每小时播报时间那个任务取消设备会调用cron_delete工具按 ID 删除对应条目。查看当前时间现在几点get_time工具会返回设备的本地时间和当前时区帮你确认时区设置是否正确。时区设置让提醒按你的当地时间触发默认时区是 UTC见 main/config.h 中DEFAULT_TIMEZONE_POSIX。如果你不在 UTC 时区一定要告诉设备把时区设为 America/New_Yorkzclaw 内置了常用时区别名见 main/tools_cron.c 中的TZ_ALIASES表支持UTC / GMTAmerica/Los_Angeles美西含夏令时America/Denver美中含夏令时America/Chicago美中部含夏令时America/New_York美东含夏令时以及任意POSIX TZ 字符串例如CST-8、CST-8,CST,M3.2.0/2,M11.1.0/2如中国时区CST-8无需夏令时时区会通过set_timezone工具写入 NVS重启后自动恢复无需重复设置。⚠️ 小提示修改时区后已存在的daily任务会自动按新时区计算触发时间不用重建。定时任务 GPIO打造自动化小场景zclaw 的强大之处在于定时任务可以和它的其他内置工具自由组合——这才是AI 助手而非闹钟。️ 场景一每 30 分钟巡检温度每 30 分钟用 dht_read 读一次 DHT11 的温度如果高于 32 度就提醒我开空调AI 会在触发时调用 tools_dht.c 中的传感器读取工具判断结果并决定要不要通知你。 场景二定时开关 GPIO每天 22:00 把 GPIO 7 拉低关灯早上 7:00 拉高开灯配合 tools_gpio.c一条自然语言就是完整的智能家居开关逻辑。 场景三定时记忆归档每天 23:30 把今天的温度记录存到 memory 里结合memory_set工具让数据跨重启持久保存main/memory.c。源码结构定时任务在固件里是怎么跑的想了解实现细节的话可以看看这几个核心文件调度引擎main/cron.c —— FreeRTOS 任务负责 NTP 同步、任务扫描与触发数据结构定义main/cron.h —— 任务条目cron_entry_t与 API工具接口层main/tools_cron.c —— LLM 工具调用的处理器含参数校验与时区别名解析工具注册表main/builtin_tools.def ——cron_set、cron_list、cron_delete、get_time、set_timezone、get_timezone六个调度相关工具的完整声明参数校验main/cron_utils.c触发流程大致是cron 任务检测到任务到期 → 把动作文本投入 Agent 输入队列 → AI 处理并调用工具 → 通过 Telegram/Web 渠道推送结果。调度子系统作为独立 FreeRTOS 任务运行源码见 main/main.c 的任务编排。常见问题 FAQ❓ 任务断电后还在吗在。任务持久化在 NVS 闪存中重启自动恢复时区配置同样持久化。❓ 最多能建多少个任务16 个。超出后会返回 Error: no free schedule slots先用cron_list看看再删旧的。❓ 为什么 daily 任务没按时触发先问现在几点确认 NTP 已同步。设备刚连上 Wi-Fi 时 NTP 需要几秒到几十秒才能完成同步。❓ 能设置每周一这种周计划吗当前固件的调度模型是每日/周期/一次性三种没有周级字段。你可以用periodic按分钟间隔近似例如每 10080 分钟 7 天或结合 memory 工具自行判断日期。❓ 一次性任务执行后会自动删除吗once任务触发后即完成不会反复执行你可以手动删除以释放任务槽位。快速上手清单 ✅刷好固件并完成配置参考 scripts/provision.sh 配置 Wi-Fi 与 LLM 密钥连上 Telegram 或 Web Relay 开始对话先说把时区设为 XXX确认当地时间正确说每天早上 8 点提醒我 XXX创建第一个每日提醒用我有哪些定时任务查看用删掉任务 #N管理进阶把定时任务和 GPIO/传感器/记忆工具组合构建自动化场景从一句明天早上叫我到每小时的传感器巡检zclaw 的 cron 调度让一块小小的 ESP32 拥有了可靠的时间感。试着对它说第一句话吧——你会发现给 AI 助手设闹钟比给自己设闹钟容易多了 【免费下载链接】zclawYour personal AI assistant at all-in 888KiB (~35KB in app code). Running on an ESP32. GPIO, cron, custom tools, memory, and more.项目地址: https://gitcode.com/gh_mirrors/zc/zclaw创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表