接入设备
NeoMind 提供四种设备接入方式。首次使用推荐 MQTT 方式——NeoMind 内置了 MQTT Broker,设备发一条消息就能自动发现,全程零配置。
前置准备
开始前,请逐项确认:
- NeoMind 服务已启动(浏览器能打开 Web UI)
- 你的设备能通过网络访问 NeoMind 的 MQTT 端口(1883)
- 你知道 NeoMind 服务器的 IP 地址(或域名)
"能访问 1883 端口"是什么意思? 取决于部署方式:
部署方式 设备需要 本机 / 桌面应用 设备和 NeoMind 在同一台机器,用 localhost局域网服务器 设备和服务器在同一网络,用内网 IP(如 192.168.1.100)远程服务器 / 云主机 设备能访问服务器的公网 IP,且防火墙 / 安全组已放行 1883 端口 Docker 设备能访问宿主机 IP 的 1883 端口(注意 Docker 端口映射)
不知道服务器 IP?
在 NeoMind 所在机器的终端运行:
neomind system info # 输出中的 server_ip 就是
或手动查找:
# macOS / Linux(局域网 IP)
ifconfig | grep 'inet ' | grep -v 127.0.0.1
# Windows
ipconfig
- 局域网部署:找
192.168.x.x/10.x.x.x地址 - 云服务器:使用公网 IP(在云控制台查看,或
curl ifconfig.me) - 同一台机器:用
localhost
30 秒快速验证
在写任何设备代码之前,先用一条命令验证 MQTT 连通性。
# 1. 安装 mosquitto 客户端(如果还没有)
# macOS: brew install mosquitto
# Linux: sudo apt install mosquitto-clients
# Windows: https://mosquitto.org/download/
# 2. 发送一条测试数据(把 192.168.1.100 换成你的服务器 IP)
mosquitto_pub -h 192.168.1.100 -p 1883 -t "test/my-sensor" -m '{"temperature": 25.5}'
发送后,打开 Web UI → Devices → Pending Devices 标签页:
如果看到了新草稿设备,说明 MQTT 已经通了。
看不到草稿?逐项检查:
- NeoMind 服务是否在运行?→
curl http://localhost:9375/api/health- IP 地址是否正确?→ 在 NeoMind 所在机器上用
localhost试试- 端口 1883 是否被防火墙拦截?→
telnet <IP> 1883- 自动发现是否开启?→
neomind device drafts config
完整接入流程(MQTT)
什么是 MQTT? 简单理解,MQTT 是一种物联网通信协议,类似"设备群聊"。NeoMind 内置了一个 MQTT Broker(消息中转服务器),设备连上后就能收发消息。Topic 是消息的频道名(如
sensors/room1/temp),Payload 是消息内容(通常是 JSON 格式)。
第 1 步:获取连接信息
neomind system info
记下这几个关键信息:
| 信息 | 示例值 | 用途 |
|---|---|---|
| MQTT 地址 | 192.168.1.100 | 设备代码里填这个 IP |
| MQTT 端口 | 1883 | 默认端口,一般不用改 |
| TLS | false(默认关闭) | 如果是 true |