All Projects → flespi-software → MQTT-Board

flespi-software / MQTT-Board

Licence: MIT license
Diagnostic-oriented MQTT client tool. Supports MQTT 5.0 and 3.1.X protocols, connections to multiple brokers, MQTT operations logs and multiple subscribe widgets with unique/history topic filtering mode. Saves configuration in browser's local cache.

Programming Languages

Vue
7211 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to MQTT-Board

MqttAndroidExample
An example Android app using MQTT protocol
Stars: ✭ 19 (-76.54%)
Mutual labels:  mqtt-client, mqtt-protocol
MQTTnet
MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.
Stars: ✭ 3,309 (+3985.19%)
Mutual labels:  mqtt-client, mqtt-protocol
WeConnect-mqtt
MQTT Client that publishes data from Volkswagen WeConnect
Stars: ✭ 14 (-82.72%)
Mutual labels:  mqtt-client, mqtt-protocol
mqtt
Kotlin cross-platform, coroutine based, reflectionless MQTT 3.1.1 & 5.0 client & server
Stars: ✭ 31 (-61.73%)
Mutual labels:  mqtt-client, mqtt-protocol
mqttools
MQTT version 5.0 client and broker using asyncio
Stars: ✭ 44 (-45.68%)
Mutual labels:  mqtt-client, mqtt-5
mqtt-datasource
MQTT Datasource for Grafana allows streaming data from any MQTT broker running either locally or remotely.
Stars: ✭ 99 (+22.22%)
Mutual labels:  mqtt-client, mqtt-protocol
Mqttnet
MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.
Stars: ✭ 2,486 (+2969.14%)
Mutual labels:  mqtt-client, mqtt-protocol
Iot Harbor
reactor3实现的mqtt库
Stars: ✭ 234 (+188.89%)
Mutual labels:  mqtt-client
vue-quasar-manage
Management system template based on Vue / quasar
Stars: ✭ 171 (+111.11%)
Mutual labels:  quasar
Rumqtt
Pure rust mqtt cilent
Stars: ✭ 198 (+144.44%)
Mutual labels:  mqtt-client
Broadlink Mqtt
MQTT client to control BroadLink devices
Stars: ✭ 169 (+108.64%)
Mutual labels:  mqtt-client
Android Mqtt Service
A simple MQTT Service that will keep running for the duration of your Android application using the Paho Java MQTT Client.
Stars: ✭ 238 (+193.83%)
Mutual labels:  mqtt-client
Api-Doc
A Technology for Rest API Documentation 💻 📜 "Dockerized"
Stars: ✭ 14 (-82.72%)
Mutual labels:  quasar
Mqttclient
A high-performance, high-stability, cross-platform MQTT client, developed based on the socket API, can be used on embedded devices (FreeRTOS / LiteOS / RT-Thread / TencentOS tiny), Linux, Windows, Mac, with a very concise The API interface realizes the quality of service of QOS2 with very few resources, and seamlessly connects the mbedtls encryption library.
Stars: ✭ 234 (+188.89%)
Mutual labels:  mqtt-client
python-mqtt-client-shell
Python-based MQTT client command shell
Stars: ✭ 45 (-44.44%)
Mutual labels:  mqtt-client
eMQTT5
An embedded MQTTv5 client in C++ with minimal footprint, maximal performance
Stars: ✭ 51 (-37.04%)
Mutual labels:  mqtt-client
homie-device
NodeJS port of Homie for IoT
Stars: ✭ 20 (-75.31%)
Mutual labels:  mqtt-client
quasar-ui-qiconpicker
QIconPicker - Quasar App Extension
Stars: ✭ 49 (-39.51%)
Mutual labels:  quasar
server-monitor-ui
Server Operation Monitor
Stars: ✭ 17 (-79.01%)
Mutual labels:  quasar
Android-MQTT-Demo
An android application to demonstrate the complete MQTT lifecycle.
Stars: ✭ 31 (-61.73%)
Mutual labels:  mqtt-client

MQTT Board

Logo

Diagnostic-oriented MQTT client tool. Supports MQTT 5.0 and 3.1.X protocols, connections to multiple brokers, MQTT operations logs and multiple subscribe widgets with unique/history topic filtering mode. Saves configuration in browser's local cache.

Live version available here: MQTT-Board.

Screenshot

Features

  • ES6 Javascript
  • Vue.js (Quasar)
  • Writing .vue files
  • Vuex
  • Webpack
  • Responsive layout
  • NPM ecosystems
  • Material theme
  • Dev Hot Reload
  • and many more!

Prerequisites:

Build Setup

# clone the repo
$ git clone https://github.com/flespi-software/mqtt-board.git mqttboard

# go into app's directory and install dependencies
$ cd mqttboard
$ npm install

# serve with hot reload at localhost:8080
$ quasar dev

# build for production with minification for flespi.io
$ quasar build

Use like component

You must have a Quasar-based app.

# install like repo
$ npm install git+https://github.com/flespi-software/mqtt-board.git

in quasar.conf.js

framework: {
  components: [
    'QLayout',
    'QHeader',
    'QFooter',
    'QDrawer',
    'QPageContainer',
    'QPage',
    'QToolbar',
    'QToolbarTitle',
    'QDialog',
    'QList',
    'QItem',
    'QItemLabel',
    'QItemSection',
    'QSeparator',
    'QBtn',
    'QIcon',
    'QInput',
    'QCheckbox',
    'QToggle',
    'QSelect',
    'QCard',
    'QCardSection',
    'QCardActions',
    'QExpansionItem',
    'QTooltip',
    'QBtnToggle',
    'QMenu',
    'QChip',
    'QInnerLoading',
    'QSpinnerGears'
  ],
  directives: [
    'Ripple',
    'ClosePopup',
    'TouchSwipe'
  ],
  plugins: [
    'Notify',
    'Dialog',
    'LocalStorage',
    'SessionStorage'
  ]
},
import MqttClient from 'mqtt-board'

export default {
  components: { MqttClient }
}
<mqtt-client :initSettings="settings" whiteLabel="My MQTT"/>

Props:

Name Description Default
initSettings Init settings for clients undefined
configuredClients Full configured clients []
whiteLabel Label in component ''
useLocalStorage local storage usage flag true
clientsCloseable can clients close to clients page true
needInitNewClient Need create and init new client with default settings false
secure Need validate by security host true
initEntities Start-pack entities in new clients [SUBSCRIBER, PUBLISHER]
color Color of bars by quasar color palette 'dark'
accentColor Secondary color by quasar color palette 'light-blue-7'

Events:

Name Description Payload
change Any change in clients []

Use like iframe integration

You must integrate it on /integration route

Component

Wrapper

Methods:

Name Description Params
SetSettings Init app
SetActive Activate client clientIndex
AddPublisher Add configured or empty new publisher
AddSubscriber Add configured or empty new subscriber

SetSettings params:

Name Description Default
settings Init settings for clients undefined
configuredClients Full configured clients []
whiteLabel Label in component ''
useLocalStorage local storage usage flag true
clientsCloseable can clients close to clients page true
secure Need validate by security host true
entities Start-pack entities in new clients [SUBSCRIBER, PUBLISHER]
color Color of bars by quasar color palette 'dark'
accentColor Secondary color by quasar color palette 'light-blue-7'

Events:

Name Description Payload
updateSettings Any change in clients {configuredClients: []}
ready Iframe mounted Empty

Settings structure:

let settings = {
  clientId: `mqtt-board-${Math.random().toString(16).substr(2, 8)}`,
  host: 'wss://mqtt.flespi.io',
  keepalive: 60,
  protocolVersion: 5,
  clean: true,
  username: 'FlespiToken XXXXXXXXXXXXXXXXXXX',
  password: '',
  properties: {
    sessionExpiryInterval: undefined,
    receiveMaximum: undefined,
    maximumPacketSize: undefined,
    topicAliasMaximum: undefined,
    requestResponseInformation: false,
    requestProblemInformation: false,
    userProperties: undefined,
    authenticationMethod: undefined,
    authenticationData: undefined
  },
  will: {
    topic: undefined,
    payload: undefined,
    qos: 0,
    retain: false,
    properties: {
      willDelayInterval: undefined,
      payloadFormatIndicator: false,
      messageExpiryInterval: undefined,
      contentType: undefined,
      responseTopic: undefined,
      correlationData: undefined,
      userProperties: undefined
    }
  }
}

subscriber structure:

let subscriber = {
  topic: '#',
  mode: 0,
  options: {
    qos: 0,
    nl: false,
    rap: false,
    rh: 0,
    properties: {
      subscriptionIdentifier: undefined,
      userProperties: undefined
    }
  }
}

publisher structure:

let publisher = {
  topic: 'my/topic',
  payload: '{"hello": "world"}',
  options: {
    qos: 0,
    retain: false,
    dup: false,
    properties: {
      payloadFormatIndicator: undefined,
      messageExpiryInterval: undefined,
      topicAlias: undefined,
      responseTopic: undefined,
      correlationData: undefined,
      userProperties: undefined,
      contentType: undefined
    }
  }
}

init entity structure:

let initEntity = {
    type: 'subscriber', // publisher || subscriber required
    rendered: true, // need show flag
    settings: {<publisher> or <subscriber>}
  }

entities structure:

/* linked entity for sorting all entities */
let entity = {
  type: '', // publisher || subscriber required,
  index: 1, // array index of current entity (subscriber, publisher) in array of full configured client
  id: 's3rdsf' // unique generated id of entity
}

client structure:

let client = {
  config: <settings>, // settings like structure
  publishers: [<publisher>], // array of publisher like structures
  subscribers: [<subscriber>], // array of subscriber like structures
  entities: [<entity>] // array of entity like structure
}

In-app routes

/mode/:mode/token/:token used for init empty state board to flespi by token. Modes for now: onetime - make client to flespi w/o saving to local storage.

License

MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].