Location in the Cloud
CellLocate offers a best-in-class mobile network-based location service. Years of strong historical records include billions of location data packages provided to IoT devices all over the globe for several thousand active customers. This end-to-end solution is proven, scalable, and ready to virtually eliminate any “no position scenario”.
With Location in the Cloud feature, CellLocate service gains more flexibility and provides unmatched benefits to reduce latency, battery drain and data consumption.
There are multiple ways to access to the service, to properly match your preferred design:
Device to service: the modem collects the Cell ID information required for the position estimation and sends them to CellLocate service endpoint, where position is estimated and automatically returned to the modem. The modem sends the response on the AT interface. For more information refer to the to getting started guide
Service to service: the modem collects the Cell ID information, sends them to the customer application server endpoint. The server application can obtain the position estimation using a REST API and including in the payload the Cell ID list sent by the modem. For more information, refer to the Service to Service guide
Location in the Cloud: the modem collects the Cell ID information required for position estimation and sends them to CellLocate service endpoint that estimates the position and publish the result in an MQTT channel accessible by customer server application through dedicated credentials using a secure connection. This option is furtherly explained in the this guide.
Before reading this guide, it is suggested to check the following prerequisites:
you have tested at least once the service as explained in the guide
a u-blox cellular modem or an EVK. See compatible hardware in the section at the end of this guide
a SIM with an active data plan to connect the modem to internet
Location in the Cloud benefits
The described option offers multiple benefits and it is the most straightforward solution to bring the estimated position into your Cloud application.
fast prototyping: through very few simple configurations doable in no more than 30 mins you are ready for the field tests
scalability: once you move to production, you do not need to worry about additional complexity. Device configuration remains the same for all devices while the CellLocate service is designed to auto scale and already supports million of devices all around the world.
latency reduction: the estimated position reaches your cloud service immediately, avoiding the typical ping-pong of the information in which the device: i) sends the cell information to the cloud service ii) receives back the estimated position 3) finally it sends the position to your cloud application
battery drain minimization: once the cell information are sent to the CellLocate service, the modem can be switched off or can go in Power Saving mode. There is no need to wait for the server response and use power to transmit the position to the cloud application.
data consumption minimization: as explained above, the only data consumed (for the mobile data plan used by the device) are the list of cells required for position estimation, thus saving the data of the server response and the data to transmit the position to the cloud application, including all the protocol headers
easy design and integration: on client side, the application just need to send an AT command without the need to spend effort in parsing the response. On server side the output is provided in JSON format that is very easy to manage in the most common programming languages
Service configuration is composed by few simple steps:
Generate a token in the Thingstream platform and associate a plan as described in the Getting started guide. The same token can be shared by the entire fleet of devices.
Enable the option: in the Details section of just created token (in the Thingstream platform), enable the Location in the Cloud feature through the proper button. You can enable/disable it in self service mode. Be aware that it takes up to 5 minutes to be effective.
In this panel it is also displayed the topic where the estimated position will be published
Configure the modem as explained in the Getting started Guide
Create an IP Thing: this logical object allows you to access to Thingstream platform with the MQTT client on your server application. In the Communication Services section on the left bar, select Communication Things. Add a Thing using the available button, select IP Thing and follow the wizard. Once created, open it and retrieve MQTT credentials, in the Credentials section, required to setup the MQTT client.
As final step, configure your client and subscribe to the topic specified in step 2
instead of receiving the position information through the MQTT channel, you can build a flow in the Data Flow Manager of u-blox Thingstream platform to format the output and send it to different destination based on custom logics through different channels/protocols. Fore more information read the Data Flow Manager guide
As for token, the same IP Thing shall be used to receive the position estimated for all your devices. If you have multiple tokens you can decide to receive all the estimated position by putting the '+' wildcard instead of the device Id CellLocate/+/location or you can subscribe to the different topics according to your preferred design (but still using the same MQTT credentials)
If you have multiple applications that need the process the estimated positions, you can create multiple IP things that subscribes to the same Location in the Cloud topic and configure the MQTT client of each application with the corresponding credentials. This approach can avoid the effort to implement a proxy on your server to distribute the positions over multiple applications
The service cost is available in the pricing section and you need to consider two components:
CellLocate service: the price plans are available in the IoT Location-as-a-Service under the CellLocate tab
The IP Thing service: the price plans are available in the IoT Communication-as-a-Service under the MQTT Now tab
Note: if you disable the Location in the Cloud feature the billing for location estimation continues running. To completely stop the billing you shall disable:
the status of the token in the Details tab of Token configuration panel
the status of the IP Thing in the Details tab of IP Thing configuration panel
The Location in the Cloud feature is available for all u-blox modules supporting CellLocate service. For the complete list, look at the Getting started guide