icekingcy
V2EX  ›  问与答

MQTT 正确的使用姿势是怎样的?

  •  
  •   icekingcy · Aug 17, 2017 · 10644 views
    This topic created in 3365 days ago, the information mentioned may be changed or developed.

    请教 MQTT 的正确使用姿势

    刚接触 MQTT

    1、目前想用 EMQ 做 Broker ;

    2、Raspberry Pi 采集数据通过 MQTT 协议发送过来

    3、用一个 Vertx MQTT Client 订阅通配符主题 # ,收到后将数据做异步 Mysql 存储

    4、同时在 3 中开启一个 WebSocket 服务器,给连入的手机转发最新的 消息 做显示,并将手机发出的控制消息发给 Broker,从而发给 Raspberry Pi (订阅了控制消息主题)

    问题是如上中的 3、4 步骤,是这样使用的么? 先谢谢大家~

    Supplement 1  ·  Aug 18, 2017

    似乎这个架构中的 cloud 是我想要问的...

    13 replies  •  2021-11-15 16:30:48 +08:00
    wekw
    wekw
    Aug 18, 2017 via Android
    1
    楼主是前端工程师转行的嘛……
    wekw
    wekw
    Aug 18, 2017 via Android
    2
    这是不求最好但求最复杂的技术架构呀…
    icekingcy
    icekingcy
    OP
    Aug 18, 2017 via iPhone
    3
    @wekw 请问有推荐的吗?请教我
    wekw
    wekw
    Aug 18, 2017 via Android
    4
    websocket 没必要,可以统一使用 MQTT 传输所有数据。
    icekingcy
    icekingcy
    OP
    Aug 18, 2017
    5
    @wekw 其实我更想问的是 3 中。我需要对所有收到的消息做存储和逻辑处理,是单独开个 MQTT CLIENT 订阅所有消息吗? 我看 EMQ 似乎是一个比较成熟的 BROKER,在手册中似乎没有看到嵌入到别的系统或集成到别的系统中的说明。

    也就是说 EMQ 没法提供 一个比较好的处理业务逻辑的实现,只是作为数据的收发处理,用 MQTT 协议保证数据的可靠性(错误理解的话劳烦指正)。所以才想的是通过另外一个服务端( Websocket 协议的,保证多平台适用)既提供业务逻辑的处理,又维护管理着着客户端 App 网络连接。除非就是自己用 Vertx 实现一个 MQTT Server,但是工作量又比较大 重复造轮子了,EMQ 还是有很多拓展可以用的,还有 web gui 比较方便。
    MrgHOST
    MrgHOST
    Aug 19, 2017
    7
    mark
    icekingcy
    icekingcy
    OP
    Aug 20, 2017 via iPhone
    8
    @MrgHOST 没人回答…
    xrlin
    xrlin
    Jan 18, 2018
    9
    @icekingcy 后来你用了什么方案?我也是对如何对消息入库( redis/postgresql )的方案有疑问,暂时没想到比较好的方案。
    icekingcy
    icekingcy
    OP
    Jan 19, 2018 via iPhone
    10
    @xrlin 后来… 项目放下了… 这几天忙完杂事 就继续研究的 有进展我尽量在这说吧
    ghostsf
    ghostsf
    Dec 2, 2019
    11
    @icekingcy EMQ 是个消息中间件啊,你相当于是要做一步数据转存,那就直接订阅根 topic,把所有数据都转存到数据库就行了(比如 InfluxDB 之类的时序数据库)。数据展示用接口从数据库实时获取就是了。另外手机控制还是通过 EMQ。 ! 好像是坟贴
    Adaocean
    Adaocean
    Mar 17, 2021
    12
    @icekingcy 欢迎在调试测试时使用 MQTT X https://github.com/emqx/MQTTX/issues ~
    cqcsdzmt
    cqcsdzmt
    Nov 15, 2021
    13
    @ghostsf 对,EMQ 当成消息中间件使用。就是不知道有没有成熟的方案做登录鉴权和运行设备订阅发布哪些 topic
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2914 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 12:38 · PVG 20:38 · LAX 04:38 · JFK 07:38
    ♥ Do have faith in what you're doing.