Lightweight IoT gateway with AI-powered device control via messaging platforms.
轻量级 IoT 智能网关,通过即时通讯平台实现 AI 驱动的设备控制。
- MQTT Broker — Built-in broker for IoT device connectivity / 内置 MQTT Broker,设备即连即用
- LLM Integration — Natural language device control via DeepSeek, OpenAI, Qwen, Kimi, GLM, Claude, Ollama / 自然语言控制设备,支持多种大模型
- Messaging Channels — Telegram, Feishu (飞书), WeChat / 多通道消息接入
- REST API — Device management, telemetry query, command dispatch / 设备管理、遥测查询、指令下发
- Upstream Bridge — WebSocket connection to OpenClaw Gateway / 上游网关 WebSocket 桥接
- Cross-platform — Single binary, supports ARM/MIPS/x86 / 单二进制,支持 ARM/MIPS/x86 交叉编译
- SDKs — Go, Swift, Kotlin, TypeScript
┌─────────────┐ MQTT ┌──────────────┐ WebSocket ┌──────────────────┐
│ IoT Device │ ──────────▶ │ iPolloBot │ ──────────────▶ │ OpenClaw Gateway │
│ (Sensors) │ telemetry │ Gateway │ node role │ (AI Agent) │
│ │ ◀────────── │ │ ◀────────────── │ │
│ │ command │ │ invoke │ │
└─────────────┘ └──────┬───────┘ └──────────────────┘
│
REST API + Channels
│
┌───────────────┼───────────────┐
│ │ │
┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐
│ Telegram │ │ Feishu │ │ WeChat │
└───────────┘ └───────────┘ └───────────┘
# Build / 编译
make build
# Run / 运行
./iPolloBot --config iPolloBot.example.json
# Or use Docker / 或使用 Docker
make docker
docker run -p 1883:1883 -p 18801:18801 ipollobot:0.1.0Copy iPolloBot.example.json and edit:
复制 iPolloBot.example.json 并修改:
{
"llm": {
"provider": "deepseek",
"model": "deepseek-chat",
"apiKey": "your-api-key"
},
"channels": {
"feishu": {
"enabled": true,
"appId": "your-app-id",
"appSecret": "your-app-secret"
}
}
}Talk to the bot naturally, or use commands:
直接对话即可控制设备,也可使用指令:
| Command | Description |
|---|---|
| 把客厅灯打开 | Turn on the living room light |
| 查看温度传感器 | Check temperature sensor |
| /devices | List all devices / 设备列表 |
| /status | System status / 系统状态 |
| /reset | Reset conversation / 重置对话 |
| /help | Help / 帮助 |
| Method | Path | Description |
|---|---|---|
| GET | /api/health |
Health check / 健康检查 |
| GET | /api/devices |
List devices / 设备列表 |
| GET | /api/devices/{id} |
Device detail / 设备详情 |
| POST | /api/devices/{id}/command |
Send command / 下发指令 |
| GET | /api/devices/{id}/telemetry |
Query telemetry / 查询遥测 |
Auth: Authorization: Bearer <token>
| Topic | Direction | Description |
|---|---|---|
iot/{deviceId}/telemetry |
Device → Gateway | Report sensor data / 上报数据 |
iot/{deviceId}/command |
Gateway → Device | Send command / 下发指令 |
iot/{deviceId}/command/res |
Device → Gateway | Command result / 指令结果 |
make build-all
# iPolloBot-linux-amd64 (x86 server)
# iPolloBot-linux-arm64 (Raspberry Pi 4/5, Jetson)
# iPolloBot-linux-armv7 (Raspberry Pi 3)
# iPolloBot-linux-mips (Router / Embedded)
# iPolloBot-darwin-arm64 (macOS)
# iPolloBot-windows-amd64 (Windows)| Provider | Models |
|---|---|
| DeepSeek | deepseek-chat, deepseek-reasoner |
| OpenAI | gpt-4o, gpt-4o-mini |
| Qwen (通义千问) | qwen-turbo, qwen-plus, qwen-max |
| Kimi (月之暗面) | moonshot-v1-8k, moonshot-v1-128k |
| GLM (智谱) | glm-4, glm-4-flash |
| Claude | claude-3.5-sonnet, claude-3-haiku |
| Ollama | Any local model / 任意本地模型 |
JackClaw
MIT