美文网首页
可视化网关编程系列教程-----(8)MQTT设备接入与控制

可视化网关编程系列教程-----(8)MQTT设备接入与控制

作者: Songzh | 来源:发表于2020-08-10 16:55 被阅读0次

    MQTT 协议介绍

    MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

    MQTT.png

    树莓派快速安装MQTT 服务器

    这里我们使用轻量级 mosquitto为例

    sudo apt-get update
    sudo apt-get install mosquitto
    

    我一般都是用这个方法安装,如果这个方法不可行,请自行百度尝试其他方案。

    如何使用

    使用MQTT 节点就行,一个是订阅,一个是发布。如图所示


    MQTT 节点.png

    配置节点信息

    这里只做简单介绍,如果需要配置安全或者其他方面的信息,可以查看节点的信息介绍。


    mqtt服务器配置.png
    image.png

    这样一个订阅节点就做好了。发布信息的话一样,用的是发布节点。

    KNX-MQTT案例分享

    因为现场花园灯没有将线布置到智能控制箱,所以只能采用MQTT继电器来实现控制。

    购买MQTT 继电器(淘宝买sonoff 刷 固件,也可以上闲鱼买我刷好的)

    image.png

    配置设备的无线网,可以看我这篇文章怎么配置KNX无线继电器使用说明
    ,并且启用MQTT协议即可。

    mqtt enable.png
    配置设备的MQTT主题,忘了截图,网上的图看一下
    image.png
    网关中使用的节点
    实现了控制以及反馈。支持设备主动反馈。
    image.png
    ETS5 中测试
    ETS5 Debug.png

    通过这一系列骚操作,成功将花园灯控制了起来。


    控制成功的花园灯.png image.png

    案列代码分享

    可以自行导入测试

    [{"id":"df8b1063.b54ce","type":"knxUltimate","z":"27a86bb6.887ad4","server":"903da154.f6e6","topic":"1/4/86","outputtopic":"","dpt":"1.001","initialread":false,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":710,"y":520,"wires":[[]]},{"id":"6fdd01a0.0f065","type":"mqtt in","z":"27a86bb6.887ad4","name":"","topic":"stat/照树灯/POWER","qos":"2","datatype":"auto","broker":"ea64b44c.3332a8","x":270,"y":520,"wires":[["e24f40a4.4fc39"]]},{"id":"e24f40a4.4fc39","type":"change","z":"27a86bb6.887ad4","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"ON","fromt":"str","to":"true","tot":"bool"},{"t":"change","p":"payload","pt":"msg","from":"OFF","fromt":"str","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":520,"wires":[["df8b1063.b54ce"]]},{"id":"5af065af.69d45c","type":"knxUltimate","z":"27a86bb6.887ad4","server":"903da154.f6e6","topic":"1/1/86","outputtopic":"","dpt":"1.001","initialread":false,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":270,"y":620,"wires":[["bb6c0e07.eb827"]]},{"id":"bb6c0e07.eb827","type":"change","z":"27a86bb6.887ad4","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"ON","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"OFF","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":620,"wires":[["389ddc5.2803324"]]},{"id":"389ddc5.2803324","type":"mqtt out","z":"27a86bb6.887ad4","name":"","topic":"cmnd/照树灯/Power","qos":"2","retain":"","broker":"ea64b44c.3332a8","x":760,"y":620,"wires":[]},{"id":"903da154.f6e6","type":"knxUltimate-config","z":"","host":"192.168.10.234","port":"3671","physAddr":"15.15.22","suppressACKRequest":false,"csv":"","KNXEthInterface":"eth0","KNXEthInterfaceManuallyInput":"","statusDisplayLastUpdate":true,"statusDisplayDeviceNameWhenALL":true,"statusDisplayDataPoint":false,"stopETSImportIfNoDatapoint":"stop","loglevel":"error","name":"Multicast KNX Gateway","localEchoInTunneling":true,"delaybetweentelegrams":"50","delaybetweentelegramsfurtherdelayREAD":"1"},{"id":"ea64b44c.3332a8","type":"mqtt-broker","z":"","name":"","broker":"127.0.0.1","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
    

    相关文章

      网友评论

          本文标题:可视化网关编程系列教程-----(8)MQTT设备接入与控制

          本文链接:https://www.haomeiwen.com/subject/cjyjdktx.html