概述
翻译自:https://harizanov.com/2014/09/mqtt-topic-tree-structure-improvements/
我已经很久没有对我的旧MQTT主题树结构感到不满,并对如何改进它做了一些思考/研究。谷歌向我指出了Tinkerman 关于类似主题的文章,我开始计划改进。
我将重复我在上一篇文章中使用的引用“如果你无法衡量它,你就无法改进它”,只有这次重新将其称为“如果你无法想象它,你就不能改进它”。是的,我的第一个努力是可视化我的MQTT主题树,其余的应该相当容易。
Ben Hardill在这个主题上 做了一些出色的工作,他的D3 MQTT主题树可视化工具正是我所需要的。让它发挥作用是非常棘手的。我想使用新的Mosquitto MQTT支持websockets,所以我不得不升级到新版本。在构建Mosquitto时必须明确启用Websocket支持,幸好 Jeremy Gooch已经创建了*优秀*指令 ,如果没有这些,我无法做到。
最后,我不得不修改Ben的 mqttws31.js文件以使用Mosquitto 1.4,我的固定版本在Github上。
随着可视化工作,我做了大约1003次迭代以获得以下结构,仍然有许多节点要添加并且形状粗糙:
根包含三个文件夹,用于将我连接的东西分组为“places”,“cloud”和“people”。我计划在那里添加更多类别,例如,跟踪车辆的“对象”。
“地点”将包含属于我的物联网家庭自动化系统的地点和属性,从“我们的地方”开始:
“我们的地方”是一个有花园的房子,所以我打破了两个:“房子”和“外面”。“房子”分为三个子类别:“普通”,“一楼”和“二楼”。“common”部分将包含无法以其他方式分组的公共组件。“外面”显然会在花园里组合任何东西,如外部条件,温室,前门等(所有WIP)
“Common”类别目前有这些叶节点:
“raspberry pi”分支扩大了:
该“rfm2pi”叶子代表rfm2pi板处理该无线传输,它的到来,走出去的叶子。“out”主题用于传输,例如,我用它每5分钟发送一次时间包,并将控制包发送到远程节点。Node-RED 订阅“in”主题中的不同NodeID叶子以处理原始数据包并进一步处理它,向其他分支提供处理过的数据。
这个分支中的其他叶子是:
“功率监视器”节点数据由我的传感屏蔽项目提供,仍然可以很好地工作。
“太阳能”节点数据由这里描述的热水箱控制器提供,固件从那时起显着改变,但硬件是相同的。请注意,它是一个带有“in”和“out”叶片的双向节点,因为它可以控制水箱中的加热器元件,如果阳光少于加热水所需的阳光。
“门铃”节点由我的IoT门铃项目提供。
“安全系统”节点由我的家庭安全系统接口项目提供。
“热泵”节点仍在进行中,我计划同时具有“进入”和“出”子主题,因为它可以控制和提供有关热泵状态的信息。在那里使用我的Daikin控制器项目。
“一楼”分支具有以下结构:
我的朋友,OpenEnergyMonitor的 Glyn Hudson 给我发了一个EmonGLCD单元作为礼物,这是“厨房”节点温度的数据提供者。
我有一个火灾传感器报警项目,正在为“厨房”分支中的“火警”节点供电。
房子的门,窗和PIR状态由我的安全系统接口项目提供。这些数据有助于中央供暖系统,我计划在窗户打开时停止房间温控器。
客厅温度由Funky + DS18b20项目提供。
电视状态由设备跟踪项目提供。我也可以使用LG TV控制器项目控制其状态。
“二楼”分支有很多待办事项,但目前的形状如下:
室温数据提供商是 Funky + DS18b20项目。
PS3游戏控制台状态由 设备跟踪项目提供。
“Outside”分支看起来像这样,我还有更多分支要添加:
我有两个软件机器人来提供WeatherUnderground的预测和当前的天气数据,非常实用,因为我没有雨/压力/风传感器。我使用预测数据向自己发送霜冻警报并为此类活动准备花园。仍然需要博客关于这些,因为我现在在Node-RED中做这一切。
的惊恐+ DHT22项目为外部温度/湿度的数据提供者。通过增加计算的露点也可以丰富这些数据。
“云”分支自然地将所有与云连接的“事物” 分组,例如EmonCMS,Pushbullet,Twitter,电子邮件,Twilio等。仍然是WIP。
Node-RED流程监视emoncms / out主题并将该数据发送到EmonCMS。
twitter / out主题是发布到我家的Twitter帐户的内容。跟着它
..最后是“人民”分支:
存在检测项目为我和妻子在家庭主题的存在提供了支持。
我的键盘项目正在跟踪重量。
我的位置正在使用OwnTracks进行跟踪,仍然需要关于该项目的博客。
这大致是我现在在MQTT主题树重组项目上的立场。我喜欢看D3的可视化器,它是动画的,数据随着它的到来而飞,非常漂亮。我喜欢将它想象成我家的中枢神经系统可视化。
最后
以上就是热心书本为你收集整理的MQTT topic设计翻译自:https://harizanov.com/2014/09/mqtt-topic-tree-structure-improvements/的全部内容,希望文章能够帮你解决MQTT topic设计翻译自:https://harizanov.com/2014/09/mqtt-topic-tree-structure-improvements/所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复