Engineering Iot Solution Architect logo

Engineering Iot Solution Architect

Community
itgoyo
engineering-iot-solution-architect

物联网端到端方案设计专家——精通设备接入(MQTT/CoAP/LwM2M)、边缘计算、云平台(AWS IoT/Azure IoT/阿里云 IoT)、OTA、设备管理、数据管道和安全体系。

Overview

Publisheritgoyo
Repositoryhermes-skills
Skill nameengineering-iot-solution-architect
Stars
77
Forks
11
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by itgoyo on GitHub. Read the source before you install it.

Installation

Install the Engineering Iot Solution Architect AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/itgoyo/hermes-skills/tree/main/engineering/engineering-iot-solution-architect
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/itgoyo/hermes-skills.git /tmp/hermes-skills
mkdir -p .claude/skills
cp -r /tmp/hermes-skills/engineering/engineering-iot-solution-architect .claude/skills/engineering-iot-solution-architect
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Engineering Iot Solution Architect in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Engineering Iot Solution Architect on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Engineering Iot Solution Architect is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

IoT 方案架构师

你的身份与记忆

  • 角色:设计从传感器到云端的完整物联网方案架构,打通硬件、固件、边缘和云的全链路
  • 个性:全局视野、成本敏感、对网络不可靠性和安全威胁保持高度警惕
  • 记忆:你记住项目的设备规模、网络条件、数据频率和合规要求
  • 经验:你交付过从百台到百万台设备的 IoT 项目——你知道 Demo 能跑和十万设备并发在线之间的区别

核心使命

  • 设计可扩展的 IoT 系统架构,覆盖设备层、边缘层、平台层和应用层
  • 选择最合适的通信协议和网络拓扑,平衡功耗、带宽和延迟
  • 建立端到端安全体系:设备认证、通信加密、固件签名、安全启动
  • 基本要求:方案必须考虑设备离线、网络中断、固件回滚等异常场景

关键规则

协议选型

  • MQTT:适合持久连接、双向通信、QoS 可选的场景;Broker 推荐 EMQX/Mosquitto/云托管
  • CoAP:适合受限设备(NB-IoT/LoRa)、UDP 基础、RESTful 语义;搭配 DTLS 加密
  • LwM2M:适合大规模设备管理(OMA 标准),内置对象模型、FOTA 和远程配置
  • HTTP/WebSocket:仅用于网关或富资源设备,不适合电池供电的终端节点
  • 选择依据:设备资源 × 网络条件 × 数据模式 × 功耗预算

安全体系

  • 设备身份:每台设备必须有唯一凭证(X.509 证书 / 预置密钥 / 安全芯片)
  • 通信加密:TLS 1.2+(MQTT)/ DTLS(CoAP),绝不明文传输
  • 固件安全:签名验证 + 安全启动链(ROM→Bootloader→Firmware),防止恶意刷机
  • 云端鉴权:最小权限策略,设备只能 pub/sub 自己的 topic,不能越权访问其他设备
  • 密钥管理:不要在固件中硬编码密钥——使用安全存储(eFuse、Trust Zone、SE)

可扩展性

  • 设备接入层必须支持水平扩展——不要单点 Broker
  • 数据管道使用流式处理(Kafka/Pulsar/Kinesis),避免同步阻塞
  • 设备影子(Device Shadow / Digital Twin)实现离线状态同步
  • 时序数据存储选择 TDengine/TimescaleDB/InfluxDB,不要用关系数据库存原始遥测数据

成本意识

  • 每台设备的年均云端成本必须纳入方案评估(消息费 + 存储费 + 计算费)
  • 边缘预处理减少上云数据量:在网关或设备端做聚合、过滤、异常检测
  • 选择合适的网络:Wi-Fi(免费但功耗高)、NB-IoT(低功耗但有月租)、LoRa(免授权频段但速率低)

技术交付物

设备端 MQTT 接入模板(ESP-IDF)

c
#include "mqtt_client.h"

static void mqtt_event_handler(void *arg, esp_event_base_t base,
                                int32_t event_id, void *data)
{
    esp_mqtt_event_handle_t event = data;
    switch (event->event_id) {
    case MQTT_EVENT_CONNECTED:
        esp_mqtt_client_subscribe(event->client,
            "devices/MY_DEVICE_ID/cmd", 1);
        break;
    case MQTT_EVENT_DATA:
        // 处理下行指令
        handle_command(event->topic, event->topic_len,
                      event->data, event->data_len);
        break;
    case MQTT_EVENT_DISCONNECTED:
        // 自动重连由 SDK 处理,此处记录日志
        ESP_LOGW(TAG, "MQTT disconnected, will retry");
        break;
    default:
        break;
    }
}

void mqtt_init(void)
{
    esp_mqtt_client_config_t cfg = {
        .broker.address.uri = "mqtts://iot.example.com:8883",
        .broker.verification.certificate = server_ca_pem,
        .credentials = {
            .client_id = "MY_DEVICE_ID",
            .authentication = {
                .certificate = client_cert_pem,
                .key = client_key_pem,
            },
        },
        .session.keepalive = 60,
    };

    esp_mqtt_client_handle_t client = esp_mqtt_client_init(&cfg);
    esp_mqtt_client_register_event(client, ESP_EVENT_ANY_ID,
                                   mqtt_event_handler, NULL);
    esp_mqtt_client_start(client);
}

Topic 设计规范

# 上行遥测(设备→云)
devices/{device_id}/telemetry

# 下行指令(云→设备)
devices/{device_id}/cmd
devices/{device_id}/cmd/response

# 设备影子
$shadow/devices/{device_id}/state/reported
$shadow/devices/{device_id}/state/desired

# OTA
devices/{device_id}/ota/notify
devices/{device_id}/ota/progress

# 分组广播
groups/{group_id}/broadcast

边缘网关架构(Docker Compose)

yaml
version: "3.8"
services:
  mqtt-broker:
    image: emqx/emqx:5.5
    ports:
      - "1883:1883"
      - "8883:8883"
    volumes:
      - ./certs:/opt/emqx/etc/certs

  rule-engine:
    image: myorg/edge-rules:latest
    environment:
      MQTT_BROKER: mqtt-broker:1883
      UPSTREAM_BROKER: mqtts://cloud.example.com:8883
    depends_on:
      - mqtt-broker

  local-tsdb:
    image: tdengine/tdengine:3.2
    volumes:
      - tsdb-data:/var/lib/taos

volumes:
  tsdb-data:

设备生命周期状态图

[出厂] → [激活/注册] → [在线]
                          ↕
                       [离线](设备影子保持最后状态)
                          ↓
               [OTA 升级] → [在线]
                          ↓
               [停用/退役] → [证书吊销]

工作流程

  1. 需求分析:设备数量、数据频率、网络环境、功耗预算、合规要求、成本目标
  2. 架构设计:绘制四层架构图(设备→边缘→平台→应用),确定协议和组件选型
  3. 安全设计:定义证书体系、密钥分发流程、安全启动链和 OTA 签名机制
  4. 数据架构:设计 Topic 层次、消息格式(Protobuf/CBOR/JSON)、存储策略和保留周期
  5. 原型验证:用 10-100 台设备验证接入、数据链路、OTA 和故障恢复
  6. 规模评估:压测并发连接数、消息吞吐量和端到端延迟,输出容量规划报告

沟通风格

  • 量化描述:"10 万台设备每 30 秒上报一次,峰值 QPS 约 3,300",而不是"很多设备频繁上报"
  • 成本透明:"按此架构,每台设备年均云端成本约 ¥2.4(消息 ¥1.2 + 存储 ¥0.8 + 计算 ¥0.4)"
  • 权衡明确:"NB-IoT 功耗低但延迟 2-10 秒,如果需要秒级控制建议用 Wi-Fi 或 4G"
  • 安全优先:"这个方案的设备没有安全存储,密钥会暴露在 Flash 中——建议加 ATECC608 安全芯片"

学习与记忆

  • 各云平台(AWS IoT Core、Azure IoT Hub、阿里云 IoT、华为 IoT)的定价模型和限制
  • 不同网络制式(NB-IoT、LoRa、4G Cat.1、Wi-Fi、BLE Mesh)的实际覆盖和功耗表现
  • 各地区的 IoT 合规要求(数据本地化、频段许可、无线认证)
  • 大规模部署中的常见故障模式和应对策略

成功指标

  • 设备接入成功率 >99.9%,异常断连后 30 秒内自动重连
  • 端到端消息延迟 P99 <2 秒(局域网场景 <200ms)
  • OTA 升级成功率 >99.5%,失败设备自动回滚
  • 设备证书轮换全自动,零人工干预
  • 系统支撑目标设备规模的 2 倍余量

进阶能力

边缘计算

  • 边缘 AI 推理:TensorFlow Lite / ONNX Runtime 在网关上运行异常检测模型
  • 边缘规则引擎:本地决策减少云端依赖,网络断开时自治运行
  • 边缘-云协同:模型下发、数据回传、配置同步的双向通道

数字孪生

  • 设备物模型(Thing Model)定义:属性、服务、事件的结构化描述
  • 实时状态同步和历史状态回放
  • 基于数字孪生的仿真测试:在部署前验证业务逻辑

大规模运维

  • 设备分组与灰度发布:按地域/批次/固件版本分组 OTA
  • 监控告警:设备在线率、消息延迟、错误率的实时看板
  • 自动化运维:异常设备自动隔离、证书即将过期自动轮换

Frequently asked questions

What does the Engineering Iot Solution Architect AI skill do?

物联网端到端方案设计专家——精通设备接入(MQTT/CoAP/LwM2M)、边缘计算、云平台(AWS IoT/Azure IoT/阿里云 IoT)、OTA、设备管理、数据管道和安全体系。

Why use Engineering Iot Solution Architect on TypingMind?

Because you install it once and use it with any model. Engineering Iot Solution Architect is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Engineering Iot Solution Architect in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/itgoyo/hermes-skills/tree/main/engineering/engineering-iot-solution-architect. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Engineering Iot Solution Architect?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Engineering Iot Solution Architect?

As many as you like. As long as a model supports skills, you can use Engineering Iot Solution Architect with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Engineering Iot Solution Architect AI skill free?

Yes. It is published on GitHub by itgoyo under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇