How to let ThingsBoard connect to an independent MQTT broker? - thingsboard

It seems that ThingsBoard implements its own MQTT broker and connector with Netty. We are trying to use an independent MQTT broker, how do we make ThingsBoard connect to that broker with minimum effort?

You should use ThingsBoard IoT Gateway project. It allows to connect to external MQTT broker and acts as an API bridge between your broker and ThingsBoard. For example, you can subscribe to custom topics and extract telemetry values or attribute updates from it. Similar with ThingsBoard RPC calls. Browse the following docs for an example of integration with AWS IoT:
https://thingsboard.io/docs/iot-gateway/integration-with-aws-iot/

Related

Mosquitto - subscribe to topics on a local bridge

I'm an MQTT newbie, so maybe this is obivous but I'm not getting it.
I've got IoT devices that publish data to a cloud MQTT broker. I can't change that. I want to be able to get the messages from the cloud broker and pass them to IoT Hub in Azure. Here's what I've done so far:
Configured a VM running CentOS to host my Mosquitto server
Installed Mosquitto and configured as a bridge to IoT Hub (IoTHubBridge)
Created a separate Mosquitto config to bridge to the cloud MQTT broker (CloudBridge)
Note that both Mosquitto bridge instances are running on the same VM.
So far, so good. IoT Hub can receive test messages that pass through IoTHubBridge and CloudBridge receives messages from the cloud broker. Here's where I'm stuck - how do I get messages to pass from CloudBridge to IoTHubBridge?
Thanks!
As hashed out in the comments.
There is no need for 2 MQTT brokers here. You should configure both bridges in a single broker, that way with the right topic declarations for the bridges messages should just flow between the IoT Hub and Cloud brokers.
This does assume that the topic/message structure for the cloud broker is compatible with what you need to send to IoT hub. The bridge will allow you to add/remove a prefix from the topic but not totally remap it. And there is no way to change the payload format.
If you need to make changes to the payload format or major changes to the topic structure then a bridge is not the right solution. You will need to create an application that subscribes to the cloud broker and then republishes the transformed message to the IoT Hub broker. There are many ways to do this in any number of languages but I might suggest you look at something like Node-RED if you are not already comfortable with an existing language/MQTT client combination.

Linking cloud based MQTT Broker and local MQTT Broker

I am quite new to MQTT implementations. I am managing to connect popular cloud based MQTT Brokers such thingsboard.io, Azure and AWS to send Sensor information to create dashboards for monitoring devices.
Problem
I have installed a local things-board broker to my local computer. But it is unable to reach other dashboards on the internet. Is it possible? Or is it only accessible within the local network?
It seems your doubt is more related to network connections. An MQTT broker will work in the same way, regardless it is working locally, in a fog server or in a cloud server. Obviously you will have to deal with access means: your clients/devices/applications must access the MQTT broker no matter where it is running. If you are running a local MQTT broker and it does not communicate directly with some cloud server, you can develop a specie of "gateway" only to send these data to the cloud or search for some tool that performs this task for you.
Below, you have some references regarding the working of MQTT and how to use it:
MQTT IoT Protocol complete tutorial - How it works with a demo
Using local MQTT broker for cloud and interprocess communication
MQTT Brokers/Servers and Cloud Hosting Guide
Creating an MQTT Broker With CloudMQTT
How to setup your own MQTT Broker

How to connect an existing MQTT broker with Thingsboard

I have a site using html, php, javascript and css in which I add my data from IOT devices using MQTT broker. Now I want to update it and I want to connect my MQTT broker with Thingsboard MQTT to manage the same data from both platforms. How can I succeed the communication between the two MQTT brokers?
You have to use the "Thingsboard IoT Gateway". In the Gateway you can set your external MQTT Broker and connect it over the Gateway to Thingsboard. I think thats the only solution. Just follow the instructions.

how to connect and subscribe from cumulocity to MQTT broker

I have an external broker us Apache Active MQ-MQTT.
I have a cumulocity IoT platform on the cloud.
I don’t understand how I can connect and subscribe my cumulocity application to broker MQTT.
There is no built in feature that would enable you to connect Cumulocity to an external MQTT broker. You could however create your own microservice that does this for you.

How to send message from mosquitto broker to azure IOT hub

I have installed mosquitto as a local broker. There are multiple devices which sends messages to the broker. I want that whatever message coming to mosquitto broker should be sent to azure IOT hub. Can anyone please refer to any document how to do that.
You have several approaches:
You can use one of the device client SDKs (depending on which
language you are using on your broker) to send data to IoT Hub
You
can use MQTT directly to communicate with IoT Hub, which will require
that you do specific things described in this document
(definitively recommend using the client SDK)

Resources