Currently we are evaluating Thingsboard CE. We have a requirement to connect a Teltonika device (GPS enabled devices) to connect to Thingsboard IoT platform and push the data to it.
Any ideas would be of great help.
We have installed Thingsboard CE on a server. We have created or added few devices and assigned them to few sample customers.
Basically we receive data from 'GPS' devices connected to waste collection vehicles like dumper/ tipper, with the help of a Java service which runs as a 'jar' file in the background.
Now we are stuck at a phase on how to use 'HTTP API' to push this data to Thingsboard platform.
Please Suggest us on how to proceed.
Thank you.
Related
I want to make a webhook that can be triggered by either get/post and triggers connected IoT devices to a WebSocket.
So, I thought Azure might help to automize this process, instead of writing everything from scratch and run it on a webserver.
I am very new in the Azure world, I found it very complicated to make it working on Azure.
Can you point me to any simple to make it work?
The first thing to do is to decide where you want to connect your devices to. Generally, you'll either use Azure IoT Hub or IoT Central (which uses an IoT Hub anyway). Your question doesn't include any details about your devices, or whether you're developing them yourself, but I'll assume you can connect to either.
If you go for Azure IoT Central, the easiest way to get a webhook going is to create a Logic App and link nodes together to trigger a Command to your device. You can use an HTTP request as the trigger, and use the built-in IoT Central node to trigger your command, example:
If you end up connecting your devices to IoT Hub, you can use Direct Methods, Cloud to Device messages or even Device Twins to communicate with your devices. You can leverage these by creating an Azure Function with an HTTP trigger, and you program the logic to call IoT Hub, which will communicate with your devices. There are a lot of samples on the web that show how to create Functions, or control your device remotely.
There are a lot of ways to go about your scenario, if you need some help from the Microsoft community, you can get a lot of help on Microsoft Q&A.
Update based on the comments:
In this case, the devices are connected to IoT Hub. You can use the Service SDK to run a job that fires a Direct Method to all currently connected devices. This doc describes the process.
My goal is to setup my Raspberry Pi 4 to be able to run scripts when a button is clicked in an app I am making with React Native. I need to be able to do it so that they can connect without wifi, which is why I have decided to use Bluetooth.
So far I have an RFCOMM server set up on the Pi, and have installed the react-native-ble-plx module to be able to handle bluetooth communications, but I'm not sure how to get React Native to connect to this server.
I'd really appreciate it if anyone can tell me how to connect them and send data to the Pi to get it to run terminal commands, and return the result.
There are two types of Bluetooth that are not compatible with each other. RFCOMM and BLE will not work together.
On the Raspberry Pi you need to create a GATT server. RPi uses the BlueZ stack and they have an example in their source tree:
https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/example-gatt-server
You will also need to have an advertisement so that your phone can find the gatt server. There is also an example of that: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/example-advertisement
Another suggestion is not to try and develop both ends of the Bluetooth link at the same time as that is tricky. Use a generic BLE tool to check you have the server working correctly before you develop the react app.
Hopefully a simple question, but with all the reading I have done about IOT Edge Devices, I still cannot find an answer.
For my application, I would like to have a local offline view of all the data going into the edge device and an online view from a website. Is it possible to subscribe to all the events in the Edge Device, just like how I am able to subscribe to all the events in the IOT Hub?
Hopefully something like this
Device->IOTEdge->IOTHub->Website
_______________->Local View (offline)
From what I have seen I can use the components to create a website and do this.
If you need a local Azure IoT Edge webpage dashboard then look at Sander van de Velde blog for details and ideas. Sander has also a lot of other very good examples.
https://sandervandevelde.wordpress.com/2018/12/07/create-your-own-local-azure-iot-edge-dashboard/
https://sandervandevelde.wordpress.com/2018/04/20/visualizing-azure-iot-edge-using-local-dashboard/
You just need one nodejs module listening messages from edgeHub and sending messages using websocket connection. Then you can use same or another module to serve static webpage aka your dashboard. You can access this local dashboard from the same local network without any connection to internet. And you can also send your messages to upstream (IoTHub in cloud) and do the same there. I have used nodejs websocket locally in the edge and SignalR to stream data to cloud dashboards.
I am wondering if anyone tried or has a clue how to integrate teltonika gps tracker device with Thingsboard IoT platform. So, to get gps data from a tracker device, parse it and store it on platform like any other IoT device. Teltonika has its own communication protocol so I don't know if the integration is possible and how
You need to use a broker in between your GPS device and ThingsBoard, I have used Gurtam Flespi platform before and it worked.
I am building an IoT solution based on devices that are not programmable (3rd party devices).
I can just configure the server they must connect to and I have the messaging (sending messages and receiving commands).
What is the best way to integrate them in an Azure IoT Solution (IoT Hub) ?
It looks like we can use Azure IoT Edge as Gateway (https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/iot-edge/iot-edge-as-gateway.md) in a "Identity translation" pattern, but I still not figure out how to do it.
I also find Azure IoT Protocol Gateway (https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-protocol-gateway) that seems to do the job but it is not sufficiently clear for me what to do.
Thanks in advance for your help.
The question is which protocols your devices support and how configurable your devices are. For instance you might be able to talk MQTT directly to the IoT Hub without using the SDK: https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support#using-the-mqtt-protocol-directly-as-a-device
Same is possible for HTTP using the REST API directly: https://learn.microsoft.com/en-us/rest/api/iothub/device
If neither is an option then yes, you need some kind of gateway - like in the examples which you linked.