Home
Softono

Iot Master

Open source Go
837
Stars
190
Forks
4
Issues
31
Watchers
2 months
Last Commit

 About Iot Master

物联大师是开源免费的物联网平台,集成了标准Modbus和主流PLC等多种协议,支持数据采集、公式计算、定时控制、自动控制、异常报警、流量监控、Web组态、远程调试等功能,适用于大部分物联网和工业互联网应用场景。

Platforms

Web Self-hosted

Languages

Go

Need Help Installing Iot Master?

We provide expert installation service for this software. Our team will install, configure, and secure Iot Master on your server. plans start at just $30.

Iot Master

View on GitHub

物联大师

Go

物联大师是开源免费的物联网数据中台,区别于传统的物联网平台,物联大师采用Go语言进行编程实现,有以下诸多优点:

  • 单一程序文件,免安装
  • 最低内存只需要12MB
  • 插件机制,支持功能自由扩展
  • 能够支持多种操作系统和处理器架构
  • 支持使用Lua脚本扩展协议
  • 支持使用JS脚本实现边缘计算
  • 支持智能家居应用场景,定时和联动控制
  • 支持WebRTC点对点视频传输

MQTT主题规范

物联大师的插件主要通过MQTT总线相互通讯,

一、连接消息

MQTT主题:

`link/${linker_name}/${link_id}/#`
消息 主题 内容 说明
打开连接 .../open json {...options, remote:"ip"}
关闭连接 .../close none
接收数据 .../up bin 原始二进制
发送数据 .../down bin 原始二进制

备注:

  1. linker_name:连接器名称,比如:serial、can、tcp-client、tcp-server、udp-client、udp-server、udp-group、gnet-server
  2. link_id:连接ID

二、协议插件消息

MQTT主题:

`protocol/${protocol_name}/${linker_name}/${link_id}/#`
消息 主题 内容 说明
打开连接 .../open json {devices:[{product_id,device_id,slave...}]}
关闭连接 .../close none
接收数据 .../up bin 将原始数据定向发送到协议插件
数据轮询 .../poll json {msg_id, }
数据同步 .../sync json {msg_id, device_id}
读取数据 .../read json {msg_id, device_id, points:[]}
写入数据 .../write json {msg_id, device_id, values:{k:v}}
执行操作 .../action json {msg_id, device_id, action, parameters}

备注:

  1. protocol_name:协议名称,推荐与插件名称一致,比如:modbus、dlt645、iec104……
  2. linker_name:连接器名称,目的是方便做数据下发,不用二次转换
  3. 修改设备,实际操作是先删除,再添加
  4. 发送数据使用 link/${linker_name}/${link_id}/down
  5. 插件需要订阅产品消息,同步产品配置
  6. msg_id:消息ID

三、产品消息

MQTT主题:

`product/${product_id}/#`
消息 主题 内容 说明
产品配置 .../config/${config_name} json
产品模型 .../model json

备注:

  1. config_name:配置名称,一般是协议名称,比如:modbus、dlt645、iec104……

四、设备消息

MQTT主题:

`device/${device_id}/#`
消息 主题 内容 说明
上传属性 .../values json {k:v}
读取属性 .../sync json {msg_id}
读取属性响应 .../sync/response json {msg_id, values:{k:v}}
读取属性 .../read json {msg_id, points:[k,]}
读取属性响应 .../read/response json {msg_id, values:{k:v}}
修改属性 .../write json {msg_id, values:{k:v}}
修改属性响应 .../write/response json {msg_id, results:{k:bool}}
上报事件 .../event json {title, message, level,}
执行操作 .../action json {msg_id, action:"reboot", parameters:{}}
执行操作响应 .../action/response json {msg_id, action:"reboot", result: {}}

备注:

  1. device_id:设备ID
  2. msg_id:消息ID

五、项目消息

MQTT主题:

`project/${project_id}/${device_id}/#`
消息 主题 内容 说明
上传属性 .../values json {k:v}
上报事件 .../event json {title, message, level,}

备注:

  1. project_id:项目ID

六、空间消息

MQTT主题:

`space/${space_id}/${device_id}/#`
消息 主题 内容 说明
上传属性 .../values json {k:v}
上报事件 .../event json {title, message, level,}

备注:

  1. space_id:空间ID

七、异常消息

消息 主题 内容 说明
推送消息 push/${device_id}/values json {user_id, device_id, event:{}}

协议库支持统计

  • Modbus RTU
  • Modbus TCP
  • Modbus ASCII(使用比较少,暂不做支持)
  • PLC
    • Siemens 西门子 s7 fetchwrite mpi ppi
    • Mitsubishi 三菱 melsec
    • Omron 欧姆龙 fins hostlink
    • AB df1
    • Delta 台达 dvp
    • Keyence 基恩士 melsec
    • Panasonic 松下 melsec newtocol
    • Fuji 富士 spb
    • Fatek 永宏
  • BACnet智能建筑协议
  • KNX智能建筑协议
  • DL/T645-1997、2007 多功能电表通讯规约
  • DL/T698.45-2017 国网电力通讯规约
  • CJ/T188-2004、2018 户用计量仪表数据传输技术条件
  • IEC 101/103/104 电力系统远程控制和监视的通信协议
  • IEC 61850 电力系统自动化领域全球通用协议
  • SL/T427-2021 水资源监测数据传输规约
  • SL/T651-2014 水文监测数据通信规约
  • SL/T812.1-2021 水利监测数据传输规约
  • SZY206-2016 水资源监测数据传输规约

联系方式

南京真格智能科技有限公司 链接

开源协议

GNU GPLv3

补充:产品仅限个人免费使用,商业需求请联系我们