FOR TIPS, gUIDES & TUTORIALS

subscribe to our Youtube

GO TO YOUTUBE

14455 questions

17168 answers

28195 comments

0 members

We are migrating to our new platform at https://community.teltonika.lt. Moving forward, you can continue discussions on this new platform. This current platform will be temporarily maintained for reference purposes.
0 votes
648 views 2 comments
by anonymous
Hi

We have a bunch of RUT950 routers in the field. I would like to have some sort of monitoring af devices online/offline, cellular information, data usage and so on. I could see that the router supports Azure IoT hub, so this seemed like a good choice to use as we use Azure for everything else.

I followed the documentation here https://wiki.teltonika-networks.com/view/Azure_IoT_Hub_cloud_connection

But, I don't understand why I have to install a MQTT client on a PC? Is it not possible to just have the router send the data to Azure?

I have set everything up, and the router is communicating with Azure. But where do I see the data that's been send to Azure?

Clearly, its me that don't how to use the function, but I'm not seeing in the documentation how to read the data that the router is sending to Azure.

Cheers!

Edit: Aah, you need to use Azure Cloud Shell to listen for telemetry

1 Answer

0 votes
by anonymous

Hi,

In the case of documentation, MQTT client was used on a PC to simulate MQTT communication between PC, Router, and Azure IoT Hub. The way MQTT works is there must be 3 entities for MQTT to operate:

  • MQTT Publisher (MQTT Client on the PC in configuration example)
  • MQTT Broker (RUT950 in the example)
  • MQTT Subscriber (Azure IoT Hub in the example)

MQTT publisher sends data to a particular topic on MQTT broker. Azure IoT Hub service listens for the topic on the broker and then forwards this data to Azure. This way data get from MQTT publisher to MQTT subsriber. In the configuration example, the MQTT client on the PC was publishing data to topic 'test' on RUT950 (which was configured as MQTT Broker). Azure IoT package listens to the topic 'test' on the broker and forwards that data to Azure IoT Hub.

There is an issue here. It will not be possible to use MQTT to periodically send device information (information about RUT950 itself) to Azure IoT hub using that OPKG package. 

Consider using GSM values in Azure IoT Hub configuration on RUT950 as described HERE and HERE. GSM values do not carry much information, but might be sufficient for your purposes. This way your devices can send information periodically to Azure IoT Hub. You can obtain cellular data, SIM card data input/output etc. You can use GSM information to determine whether the device is reachable (online).

If this data is not enough for your purposes, then could you please tell me which information about RUT950 are you trying to read/ send? 

You can also use Data To Server functionality. How this works is that you configure RUT950 as a Modbus TCP Master and Slave at the same time. Modbus Master should be configured to query itself (using localhost address of 127.0.0.1). This way Modbus Master will receive the data about RUT950. Data to server functionality will then forward this data to Azure IoT Hub. For this:

Configure Modbus TCP Slave and Master on RUT950 as per THIS configuration. Set Modbus TCP Master to read registers of your choice. Modbus TCP Master should read data from RUT950 itself, so the IP address should be 127.0.0.1.

Configure Data to Server (Information available HERE).

  • Enter a name of your choice.
  • Choose MODBUS Data as a data source.
  • Azure MQTT as a protocol.
  • Slave ID should be the same as in Modbus TCP master/slave settings.
  • In JSON format enter the data you want to send. (Look at the placeholder example)
  • The connection String should be the 'Primary connection string' of your device in Azure. 
  • You can leave everything else as default or refer to the wiki page given before.

Note: When using Data to Server, Azure IoT Hub configuration on the router must be disabled (Under Services -> Cloud solutions -> Azure IoT Hub)

As an additional note, keep in mind that you can always use the Teltonika RMS platform. This is a great solution because it is a complete solution out of the box. With RMS you will be able to monitor all of your devices easily and without any issues. All you have to do is to register your devices in the RMS platform and obtain some credits. RMS has many more benefits and is worth taking a look at. More information about RMS can be found HERE.

Kind Regards,

Andzej

Best answer
by anonymous
Hi Andzej

Thx for your very elaborate answer.

In short, we are a construction company that have many remote sites. A few sites report poor internet speed, and in order to troubleshoot this I wanted to gather data from the routers.

I couldn't put my finger on the issues at the sites, so I suspected periodic bad signal strength or something similar.

I managed to have the routers send GSM values and I can read them via Azure CLI.

This works pretty well, the routers sends their GSM values to Azure and we can get a insight in the status of the routers.

However, I just looked into Teltonika RMS, and its a no-brainer that we have to go down that road as it fulfils many of our remote management demands.

Thx for the help, its much appriciated

-Cheers Lars
by anonymous
Hi Lars,

Happy to help you. Indeed, RMS is a great solution when it comes to managing devices remotely. If there will be any questions or issues, you can always ask them.

By the way, could you please mark the answer as 'best answer' so that the issue can be seen as resolved?

Thanks and have a great day!

Kind Regards,

Andzej