iot-mqtt-bridge

描述文件与 mqtt 的消息中间件
授权协议 Apache
开发语言
所属分类 服务器软件、 JMS/消息中间件
软件类型 开源软件
地区 国产
投 递 者 徐翔
操作系统 未知
开源组织
适用人群 未知
 软件概览

iot-mqtt-bridge

feature:

  • [x] 解析简单 mqtt 消息存到 mysql
  • [ ] 解析简单 mqtt 消息存到 kafka
  • [ ] 解析复杂消息
  • [ ] 批处理存储数据
  • [ ] 自定义各种 handler

你只需要在 model.json 里定义一个描述文件,具体以含义看注释,

然后配置 mqtt ,mysql 连接信息在 bridge.yml,

运行 release/bin/server  启动项目

就可以自动根据描述文件解析mqtt消息并存进数据库内。

[
  {
    "name": "user", //"动态生成的类名”
    "topic": "user_topic",
    "clientId": "user_client",
    "cleanSession": true,
    "qos": 1,
    "storeType": "mysql",
    "fields": [{
        "name": "id",
        "type": "long", //"存数据库字段的类型"
        "index": 1,
        "lenght": 8, //"截取多少个字节"
        "offset": 2,
        "idType": "auto" //”如果是auto就是用数据库的自增,否则是截取到的数据“
    },
    {
        "name": "loginLength",
        "type": "int",
        "index": 2,
        "lenght": 2,
        "isTransient": true //"不持久化到数据库内"
    },
    {
        "name": "login",
        "type": "byte[]",
        "index": 3,
        "dependsOn": 2 //"根据指定index的字段的值作为长度“
    }

]
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mqtt_test
    username:
    password:
jdbc:
  template:
    prefix: t_
    suffix: _test
    insertGetId: false   
logging:
  config: logback.xml
bridge:
  modelPath: model.json
  mqtts:
    - url: tcp://localhost:1883
      username:
      password:
      keepAlive: 20
      retained: false
      reconnectAttemptsMax: -1
      reconnectDelay: 10
      models:
        - user

  • 写在这里也是作为自己的笔记 环境ubuntu16.04 ros kinetic 注意该环境所用到pip均为pip 不是pip3否则会有很多坑等着你来掉 前提条件 安装mqtt_bridge并且实现本机内的通讯功能 https://github.com/aws-robotics/aws-iot-bridge-example 这里是官方给的代码示例,真的很难用。不建议使用,不过对文档中所写到的内容可以

 相关资料
  • iot-mqtt,由 java 和 netty 实现的 MQTT 代理,支持持久性。 本项目完全借鉴 jmqtt 项目 https://github.com/Cicizz/jmqtt 目前只是对部分代码进行了梳理重构,去除了集群部分, 修正了一些 bug,并加入简单的 $SYS/实现,后期会加入原创的集群的实现。 现在已对 mqtt3.1.1 协议有完整的实现。 本项目默认采用 rocksdb 做

  • 这个组件提供了一个服务器,它能处理远程MQTT客户端连接,通信和信息交换。 它的API提供了,当接受到客户端发送的raw protocol消息时相应的事件和提供一些发送信息到客户端的功能。 它不是一个功能齐全的MQTT broker,但可以用来建立类似的东西或者协议转换。 使用MQTT服务器 要使用Vert.x MQTT服务器,增加以下依赖到构建描述符中 Maven (in your pom.xm

  • null 对于谷歌来说,我们已经发现控制流与Azure和AWS相比是不同的。 对于Google来说,在等待接收消息之前,我们需要每次订阅和取消订阅给定的主题,而对于AWS和Azure来说,我们需要在打开MQTT连接时订阅一次。 问题: 有时5秒的设备超时发生,因为它无法从谷歌MQTT桥接收订阅主题的消息。添加多次重试来克服超时问题是不成功的,因为问题仍然存在,因为设备在开机后的设备操作45-60秒

  • null 有人帮忙吗? 谢谢,拉胡尔

  • 我一直在考虑MQTT协议,但我不想让一个外部服务器运行MQTT代理,而且我找不到Win IoT的代理。Windows IOT Core是否存在MQTT代理?如果没有,你会推荐什么通信协议?