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 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 publishes the result in an MQTT topic accessible by the customer server application through dedicated credentials using a secure connection. This option is further explained below.
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 millions 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 iii) finally it sends the position to your cloud application
battery life optimization: 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 optimization: as explained above, the only data consumed (for the mobile data plan used by the device) are to send 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 needs 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 comprises a 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 the CellLocate token (in the Thingstream platform), enable the Location in the Cloud feature. You can enable/disable it any time but be aware that it can take up to 5 minutes for changes to become effective. You will also find the topic to which 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 connect an MQTT client on your server application in order to receive the estimated position. In the Communication Services section on the left bar (in the Thingstream platform), 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, required to setup the MQTT client.
As final step, configure your client and subscribe to the topic found in step 2
instead of receiving the estimated position via MQTT, you can build a flow in the Data Flow Manager of u-blox Thingstream platform to format the output and send it to any destination using the protocol required by your backend system. Fore more information read the Data Flow Manager guide
The same IP Thing shall be used to receive estimated position 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 to 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
Regardless the protocol used (MQTT or others) the location response is provided in JSON format as reported below
The service cost is available on the pricing page 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: 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