simplemesh-controller

star 2

Controller 专用约束:只做策略 + MQTT 收发,不连 hostapd/system_monitor/backhaul。修改 src/controller.c、controller 策略或 MQTT 订阅/发布时使用。

ddb65536 By ddb65536 schedule Updated 2/20/2026

name: simplemesh-controller description: Controller 专用约束:只做策略 + MQTT 收发,不连 hostapd/system_monitor/backhaul。修改 src/controller.c、controller 策略或 MQTT 订阅/发布时使用。

SimpleMesh Controller 专用约束

最重要约束

接到与 Controller 相关的修改时,先判断是否符合本 skill 与全局架构(只 MQTT + 策略,不接底层数据源);若有偏离,先简要说明再确认是否执行。


职责(必须遵守)

  1. 只做策略决策 + MQTT 收发。输入输出均为 MQTT。
  2. 不做:不直接连 hostapd、不连 system_monitor、不连 backhaul;不持有 WiFi/系统/回传的底层数据源。不读取 UCI 的 wifi_iface、backhaul、mode 等做连接逻辑(这些属于 Agent)。
  3. 运行位置:仅在 controller 设备;该设备可同时跑 Agent(本机也当节点),由 main_uloop 的 -m both 决定是否启动 agent。

实现与文件

  • 实现src/controller.csrc/controller.h
  • 本机 AL MAC:在 controller_init 中通过 platform/system_api.cinit_device_info 获取(如 br-lan),写入 ctx->controller_al_mac,回复 topology_report 时使用;不引入 backhaul,仅用系统通用接口。
  • MQTT:使用 transport/mqtt_client.ctransport/mesh_mqtt.cmqtt_topics.h;订阅 topology_query、topology_report 等;发布 topology_report(含 JOIN 响应)、topology_query 等。主题与报文格式以 doc/1_mqtt_topic.md 为准。
  • 策略占位:在 controller_mqtt_on_message 中解析 topology_query(JOIN)、topology_report 等;维护 mesh_node 表(如 mesh_node_add_or_update);回复 topology_report。后续 RRM/BTM/STEER 等策略只在此处扩展 MQTT 收发与内存结构,不接 ubus/backhaul。
  • 定时/任务:可用 uloop_timeoutmain_task(与 agent 共用 main_task 调度方式亦可);不做 hostapd 订阅、不做 backhaul 检查。

修改/新增时的约束

  • 新增功能:只加 MQTT 订阅/发布与策略逻辑(如新 topic、新报文解析、新策略决策)。不得在 controller 中引入 hostapd_ubus、backhaul、config_uci(wifi_iface、bh_iface、mode)、wifi_ubus 等 Agent 数据源。本机设备身份(AL MAC)仅通过 system_api.init_device_info 获取。
  • MQTT 主题:在 mqtt_topics.h 或 doc/1_mqtt_topic.md 中定义;实现与文档一致。

参考

  • 全局框架.cursor/skills/simplemesh/SKILL.md
  • 架构与 MQTT:doc/0_architecture.md、doc/1_mqtt_topic.md
  • 实现src/controller.ccontroller_init(init_device_info)、controller_mqtt_on_messagemesh_node_add_or_updatemesh_mqtt_send_topology_report_response
  • 系统通用src/platform/system_api.cinit_device_info(设备 MAC 等)。
Install via CLI
npx skills add https://github.com/ddb65536/SimpleMesh --skill simplemesh-controller
Repository Details
star Stars 2
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator