AssistNow User guide
Introduction
Although GNSS users expect instant position information, In typical IoT environment this is often not possible because at least four satellites must be identified, and their complete live orbital position data (called Ephemeris) received by the GNSS receivers. While in nominal conditions (full sky visibility, good antenna/signal strength) it takes approximately 30 seconds, under adverse signal conditions, like in urban canyons or when signal is weak, the receiver can take several minutes or even fail to download orbital data from satellites, resulting in a negative impact on the device energy budget.
Assisted GNSS (A‑GNSS) accelerates position calculations by delivering satellite orbital data such as ephemeris, almanac, accurate time, and satellite status to the GNSS receiver via wireless networks or the Internet. This aiding data enables a GNSS receiver to compute a position within seconds, even under poor signal conditions. A-GNSS provides faster Time-To-First-Fix, improved accuracy and position availability, benefits that directly translate to lower power consumption and larger power autonomy.
Documentation map
The documentation is structured as follows:
this User guide that clarifies the benefits of the AssistNow service, License and pricing, typical performance, prerequisites, system architecture and usage policy. It also includes a high level overview of how to use the service, although detailed information are provided in the Implementation guides.
Implementation guides: these are a set of short guides the shows in details how to implement the service, step-by-step. You can find the link to these guides on the right side menu (Related guides) and along the current page
Device registration guide, describes how to get the credential to access to the service
Host software guide, provide more info about how to develop the device firmware to inject and store the A-GNSS data received from the AssistNow service
Service integration guide: provide detailed info about how to request the A-GNSS data to the service through the REST API.
Finally a Service specification guide provides info about data size, data validity, signal supported
Benefits
AssistNow is u-blox’s end-to-end A-GNSS location service that provides orbital data in real time via wireless connectivity. It is available in two options that can be used standalone or in combination: Live Orbits and Predictive Orbits. The main benefit in using AssistNow are:
Shortest time-to-first-fix: TTFF is a very important KPI when designing the an IoT device because it affect the business sustainability. Being able to locate your asset almost immediately in the most critical environments, with limited sky visibility, provides unprecedented reliability to your application. AssistNow greatly supports challenging designs in which weak GNSS signal are a a direct consequence of device compactness and suboptimal device positioning.
Maximize position fix probability: assets, cars, people, pets continuously move across different areas. Nevertheless the GNSS users expects to always have a location. Typically, when a car exits from an underground parking area or a person/pet goes out of home for a walk the surrounding environment is dense of building, trees and obstacles for GNSS signals, that makes the GNSS signal reception very unstable. AssistNow maximize the GNSS fix probability also in the most challenging applications to always fulfill the end user expectations.
Minimize energy drain: For battery operated devices, energy consumption is a key driver for sustainability. Most of the IoT battery operated device stays in the field for several years without any possibilty of battery replacement because of logistic and operational costs reasons. AssistNow keeps the GSS energy drain under control, removing the need for extra battery capacity and extending the device lifetime.
Better position accuracy: The trade-off between position accuracy and energy drain is always difficult to solve because it impacts on the economics. By waiting more time the GNSS might achieve better accuracy but the device consumes more energy affecting the device lifetime and the business sustainability. In several application achieving very fast the desired target accuracy is a must. With AssistNow you can easily achieve your goal by selecting the Free of Charge Predictive Orbits option or the premium Live Orbit option for best position accuracy
AssistNow Predictive Orbits provides u-blox's orbit prediction data of the GNSS satellites for up to 14 days, therefore the device does not require continuous internet connectivity at system start-up and it improve the Time-To-First-Fix achieving a position fix within 5-10 seconds.
AssistNow Live Orbits: boosts GNSS performance by reducing the Time-To-First to 1-2 seconds and reaching almost immediately the target accuracy.
Service license and pricing
AssistNow Predictive Orbits is provided Free of Charge and included with all M9 and F9 u-blox GNSS receivers (and next generations) upon registration in Thingstream service delivery platform.
AssistNow Live Orbits is available in two pricing variants:
As a bundle, included in the GNSS receiver price. It provides a lifetime license with a guaranteed service for 5 years after which the standard Service terms applies. This option is now available for the following products (but others will come in the future):
MAX-M10N-00B
MAX-M10N-10B
NEO-M9V-20B
With a pay-as-you-go pricing model, you pay only for the service requests effectively done by your fleet. The Scale plan automatically scales up and down providing every month the best possible pricing. Details are available at our pricing page
Performance
The following table reports the main performance and specification of AssistNow service. Time-To-First-Fix highly dependent by the environment where the asset is located and by which A-GNSS data are fed into the GNSS receiver, and by the device design and shall be tested carefully with a device prototype to evaluate the performance achievable in regards of TTFF and accuracy.
It's worth noting that reducing the TTFF, is critical for two reasons:
minimize the device energy consumption
achieve faster the target accuracy. Typically the IoT environments are complex with urban canyon and partial sky view and the first position fix might not be accurate enough for your application. But the most of the times, the accuracy improves over the time because the GNSS receiver can acquire more satellite signals and improve the estimation. The faster you get an initial position fix the faster you can achieve your target accuracy.
The following chart shows a typical TTFF comparison with and without AssistNow. It's worth noting that the performance greatly depend on the device design and the environment, therefore you might experience different results in different testing conditions. The chart shows:
the improvement in TTFF using AssistNow
the tiny TTFF variance when using Live Orbits.
Pre-requisites and Hardware supported
A u-blox GNSS receiver (chip or module) from M9 and F9 and above and the knowledge about how to configure the receiver
An account/domain in the Thingstream service delivery platform. Sign-up is free of charge. If you do not have a domain, get it by signing up at https://portal.thingstream.io/
the selection of the option that best matches the required performance between:
Predictive Orbits
Live Orbits
the u-center 2 evaluation tool greatly help the evaluation and design phases
If you are using an M8 receiver you can still rely on the legacy AssistNow service (Online and Offline), as long as you already have an active AssistNow token. Technical documentation is available at this page. Please see the additional information about maintenance and support at the end of this guide.
If you are completely new to A-GNSS technology or you would like to have a deeper understanding, you are suggested to read this Assisted GNSS article
System architecture
The system architecture is reported in the picture below. To use AssistNow :
The Host processor needs the capability to connect to Internet. Please note that Low Bandwidth connectivity like LoRa and Sigfox and NB-IoT does not have enough bandwidth to download the A-GNSS data. If you are planning to use these connectivity you might consider the u-blox CloudLocate service
The https protocol stack is required to request the A-GNSS data to AssistNow service using the HTTPS REST API
A bidirectional direct connection between the Host processor and the GNSS interface using any of the interface available, to inject the aiding data into the GNSS receiver, get the acknowledge message and all the relevant positioning message s for your application
Getting started using u-center 2 evaluation tool
u-center 2 is the u-blox evaluation tool for GNSS receivers and allows you to easily configure the receiver and experiment the performance improvement using the AssistNow service.
The easiest way proceed is to connect an Evaluation Kit (EVK), select the type of A-GNSS data that you want to use and start doing some test.
If you are connecting the chip/module in the device to u-center 2 (instead of the EVK), you need to retrieve the credentials (Chipcode) to access to AssistNow service using the Zero Touch Provisioning procedure described in the next section. Once retrieved, the Chipcode shall be configured in u-center.
u-center 2 can be downloaded from the u-blox web site: https://www.u-blox.com/en/u-center-2
u-center 2 automatically retrieve and inject the A-GNSS data into the receiver. You can simulate and compare multiple scenarios and evaluate which configuration performs better in your use case, without writing any code. For example you can compare:
performance with no A-GNSS data, with Predictive Orbits and with Live Orbits
performance during a cold, warm and hot start
performance using only some GNSS
u-center 2 is a very useful tool also when you are in the process of writing your firmware because it allows you to analyze the command, the receiver response and output messages and check that your firmware is acting properly.
Note: when usingu-center and an Evaluation kit you get free unlimited access to Predictive Orbits and Live Orbits. To know more about usage policies in any other set-up please read the dedicated section
If you are new to u-center or you need more information on how to use AssistNow in u-center, take a look at this short guide
Using AssistNow service
When designing the device firmware, you shall consider the following steps in order to use the AssistNow service:
Register the device int the u-blox Thingstream service delivery platform and obtain the device credentials to access to the service through the AssistNow Zero Touch Provisioning procedure. The credentials are uniquefor each device.
retrieving the A-GNSS data from the service using the REST API and the credentials
injecting the A-GNSS data into the GNSS receiver. The data delivered by the service do not need additional manipulation and can be injected into the GNSS receiver immediately like they are provided by the service. AssistNow service exchange information via the HTTPS over SSL protocol.
save the data for further reuses without additional download from the service, according the the validity period of each data type.
Device registration
The AssistNow Zero Touch Provisioning (ZTP) procedure is required to obtain the credentials (Chipcode) used to request the A-GNSS data to AssistNow service. The procedure is needed only once but can be also used to get new fresh credentials in case of suspicious activity or compromised credentials.
The Chipcode is unique per device
ZTP streamlines device setup, eliminating the need for manual configuration for each device. With ZTP, adding devices to your fleet is simplified, making it ideal for large-scale deployments. And the Chipcode provides secure authentication, protecting your devices and data from unauthorized access.
Refer to the Device registration guide to know the implementation details. ZTP is required both for Predictive Orbits and Live Orbits but both variants share same Chipcode
Obtaining A-GNSS data
To retrieve the A-GNSS data, the device firmware shall use the REST API, including:
the hostname
the authentication code (Chipcode)
the data to be requested, according to the selected option (Live or Predictive Orbits)
Upon reception of the HTTPS GET request, the server responds with the required messages in binary format and a status code in text format. After delivery of all data, the server terminates the connection. All data (with the exception of hostname, which is used to establish the connection) is carried solely within the encrypted connection and is protected from man-in-the-middle attacks in the same way that any HTTPS data is.
Here below an example of service request:
https://AssistNow.services.u-blox.com/GetAssistNowData.ashx?chipcode=XXXXXXXXX&gnss=gps,glo&data=uporb_1,ualm
where:
chipcode is the device authentication credential obtained during the device registration (ZTP procedure)
gnss is the list of GNSS constellation for which the A-GNSS data are needed
data is the list of A-GNSS data requested to the service
Detailed information are described in the Service integration guide.
A-GNSS data injection in the receiver
The A-GNSS data returned by AssistNow service are encoded in a sequence of UBX-MGA-*** messages containing the requested assistance in u-blox (UBX) protocol. The section in the UBX messages in the Service integration guide provides a comprehensive list of all the available data and which UBX message is delivered for each service option.
To understand the frame structure and get more details of the data fields of each message you are invited to refer to the GNSS receiver Interface description. Go to the Product selector, select the desired GNSS receiver and find the Interface description document in the Documentation & resources section.
For u-blox receivers that have flash storage, all the data can be directly transferred to the flash until it is needed.
Receivers without flash storage or with insufficient spare flash memory can store A-GNSS data in the host and send them to the receiver when needed.
The Host software guide explains how to properly design the device firmware to store and inject data into the receiver in all the possible configurations.
Note: the data provide by the service do not need additional manipulation by the device Firmware and can be injected in the receiver as sent by the service.
A-GNSS data storage
The Time-To-First-Fix after a receiver power interruption is dependent on the amount of operational data available at startup. Satellite broadcast information and an estimate of accurate time can be fetched form the AssistNow service. In addition, the following techniques can restore the data that was stored prior to powering down.
Battery-backed RAM (BBR): the receiver operational state stored in this RAM can be maintained during power outages by connecting the V_BCKP pin to an independent supply, e.g. a battery. This is a recommended method as it will maintain all A-GNSS related information, any user configuration, calibration data, and an estimate of time via the real-time clock.
Database dump: The receiver can be made to dump the state of its navigation database in the form of a sequence of UBX messages reported to the host; these messages can be stored by the host and then sent back to the receiver when it has been restarted.
For Predictive Orbits , whose data validity is longer than Live Orbits, the A-GNSS data can be saved also in the Host or in the GNSS receiver Flash (if available)
The Host software guide provide more details about each option
The best data storage strategy greatly depend on the type of data used (Live vs. Predicted), the use case, how often the receiver is switched-on during the day and for how long time.
Service usage policies
According to the type of A-GNSS data required and the Hardware used, the device is subject to policies that limits the usage (per day or per month), according to the following table.
Note: in case the the maximum allowed number of request is achieved, the event is shown in the Thingstream platform. The usage counter is reset at 00.00 UTC of the day/month.
A developer device is a device marked as developer in the Thingstream platform. Just sign-in to the platform, enter in the Location Services section and select Thing List. Search your Thing and mark it as Developer in the Details panel.
You can have up to 3 devices per account.
In regards of Live Orbits, the policies are applied regardless if you have selected the Pay-as-you-go model or a receiver type with Live Orbits service license included
u-center 1 does not support the AssistNow Live Orbits and Predictive Orbits service
Next readings
In this section
Still need help?
If you need more help or have any questions, please send an email to services-support@u-blox.com.