PointPerfect getting started

Introduction

Reach the mass market with your precise positioning solutions using PointPerfect. Precise, reliable, and easy to use, PointPerfect is a PPP-RTK GNSS augmentation data service that delivers centimeter-level accuracy in seconds. With 99.9% uptime availability via both internet and L-band satellite, you can rely on PointPerfect for mission-critical applications. 

Benefits

Supported u-blox products

PointPerfect is pre-integrated and ready to use with u-blox F9 and D9 high precision GNSS modules. Non-native SPARTN receivers can be supported by the PointPerfect SDK.   You can find u-blox high-precision GNSS products supporting PointPerfect on our product selector page:

Antenna requirements


In this guide we will explain
  a) How to create PointPerfect Things in the Thingstream platform,
  b) How to choose the plan that best suits your needs, and
  c) How to provision your devices.

Sign-up for our u-blox service platform

u-blox Thingstream is a service delivery platform providing a management console that you can use to enable and manage the entire suite of u-blox services. PointPerfect is a service under our IoT 'Location-as-a-Service' and your Location Things (the logical representation of your location device in the Thingstream platform.)

Sign-up is free, quick and easy.  Just go to the Thingstream portal and register with your company information. Note: If you already have a Thingstream domain for another IoT Location-as-a-Service (AssistNow, CloudLocate, CellLocate) or IoT Communication-as-a-Service (MQTT Anywhere, MQTT Here or MQTT Now) you do not need to register again.

Create a PointPerfect Thing

Before your devices can use the service, you must create a Thing that represents the device in the system. Use the navigation bar on the left side of the page, go to Location Services-->Thing List, and choose the "Add Location Thing" button on the top right of the page.

You can create location Things for different services, but in this case, we want to create /add a PointPerfect Thing.  Select the PointPerfect tab and choose "Add a PointPerfect Thing".  

When prompted, enter a friendly name for the new Thing and click the Create button. 

After you Create your Thing, you will be asked to choose a Plan. 

If you skip the step to add a Plan, your Thing will only be assigned a Device ID and placed in an allocated state. You can click the 'View details' button in the next dialog box to see the details of your new Thing.

Choosing The Right Plan

When you activate a PointPerfect Thing you can choose a plan based on your needs. Plans can vary depending on the applied delivery methods (IP or L-band satellite) and your expected monthly usage of the service.  Once your Thing is activated and a plan chosen, you will be invoiced monthly according to the billing cycle for that plan.  u-blox offers a variety of plans designed to meet most of the requirements you and your business might have.  Please see the Pricing page for the details of each plan.

Individual Plans

Individual plans are a mix of monthly fixed (unlimited usage) or hourly plans. Fixed plans are intended for devices that continuously consume the service, either over satellite L-band or IP (via MQTT or NTRIP). Hourly plans are best suited for devices that will consume the service for a limited amount of time each month (with small charges if you exceed the plan limits.)  For example, if you expect to use a device only 2 hours a day on average, a plan offering 30 hours of access per month would be optimal.

Pooled Plans

Pooled plans are ideal when using a large fleet of devices with unpredictable usage, where all devices can share a pool of hours.  

For the example in this guide, we will apply the PointPerfect Developer Plan when we Activate the device. The Developer plan has 40 hours of free usage and is perfect for initial practice and quick testing.  (Note: You can only have two active Things using this PointPerfect Developer plan.)

Review Your Thing Details

Once a plan is selected and your device is activated, your Thing will show as active. You can review your Thing Details to see its status, the plan associated with it, and the monthly renewal date (set as a monthly recurrence from when the plan was purchased.) The connection state on the top right will show as Disconnected until a device is provisioned and actively connected. 

After you connect (provision) your Thing the Details screen will show more information:

Here is a summary of information from the Details tab:

Device Provisioning

Once you have created and activated a PointPerfect Thing in the platform, you are able to connect your device and receive corrections.  This is also known as "Provisioning".  Client authorization details differ between MQTT and NTRIP correction delivery methods. Also, Dynamic Keys apply to L-band plans or IP plans if you use Continental corrections.  

You can find client authorization details under each collapsible section in the Credentials tab.

NTRIP - Collect Delivery Credentials

Note: If you do not see the NTRIP Credentials section (shown in these screen shots) we recommend deactivating & re-activating your Thing.

To provision a device using NTRIP, simply expand the NTRIP Credentials section and collect the information for your client.

MQTT: Download Client Authorizations 

To provision a device using MQTT, expand the MQTT Credentials section. 

Download both the Client Key and Client Certificate by clicking on the respective download links.  Once the key and certificate files are stored on your system, you can transfer (upload) them to your device to authorize its connection to the service.

When using our u-center evaluation software, you only need to download the u-center Config JSON file that contains all certificates and configurations needed by u-center.  See more detailed steps to configure your solution with u-center below.

Details about our MQTT delivery method can be found on our PointPerfect MQTT Distribution page, including more about Topic structure, data and dynamic key topics.

Putting it All Together

Now that your device is configured, it can access the service. When the configuration is successful you will see the status of your Thing change to Connected.

Furthermore, when the device subscribes to PointPerfect topics successfully, the Events tab will display the subscription operation as shown below.

Using u-blox Products: u-center and F9 receivers

If you are interested in evaluating PointPerfect as part of a full solution, we recommend a u-blox high precision GNSS module such as the ZED-F9P that ships with our EVK-F9P Evaluation kit. The EVK connects with a USB Type-C connector to your host system.  

Our F9 receivers require a firmware version of at least 1.3x to support our PointPerfect service.  Check your firmware version with a query of the UBX-MON-VER message on your F9 device using u-center. If necessary, obtain the latest firmware from the u-blox product page of your F9x under Documentation & resources section and update it using u-center. [2] 

Download u-center to Evaluate your PointPerfect Solution

u-center is the software provided by u-blox for easy installation and configuration of high precision GNSS modules such as the F9.  You can download the latest version of u-center from the PointPerfect Location Services portal on Thingstream. 

Note: When installing u-center, either install it in a folder that does not have restricted permissions or run as Administrator.  Otherwise, when trying to use the MQTT client and JSON configuration file you will receive an MQTT client error:  "Error when trying to connect.  Check the MQTT JSON config:  Error code: -1" 

Please refer to the user guides for u-center [2] and the EVK-F9P Evaluation Kit [5] for more detailed information about these tools and how to configure your solution.

Configure your Solution with u-center

To use PointPerfect with u-center, collect your Thing credentials from the Thingstream platform according to the delivery method you wish to use.  

For NTRIP, expand the NTRIP Credentials section and have these details available when you connect with your NTRIP client. 

For MQTT, expand the MQTT Credentials section, download the "u-center Config" file from the Credentials tab of your PointPerfect Thing, and use this JSON file to connect your MQTT client. This file includes all the credentials and configuration u-center needs for connecting to the PointPerfect broker. No editing is required. If you have multiple Things in your domain account, make sure you download the correct JSON file for the device.  

Once you have the proper credentials, open u-center and connect to your device using the serial port for your F9 module.  

Connect and Receive PointPerfect Corrections

Your next steps to obtain PointPerfect corrections on your device depend on a few factors of your choosing; the plan associated with your device (or Thing), the delivery protocol you wish to use to deliver the corrections (may be plan specific) and the distribution method you want to use.   

PointPerfect corrections are generated on a continental level and can be delivered via IP (MQTT or NTRIP) or L-Band Satellite.  When using MQTT, our Localized distribution can save even more bandwidth while delivering only the corrections you need.  

See these pages for details and specific requirements for each option, including the remaining configuration steps with u-center.  

Below is a table of available delivery and/or correction distribution methods.

Additional Features, Options and Tools

AssistNow over PointPerfect MQTT 

Devices using PointPerfect via MQTT can subscribe to the AssistNow topics over the PointPerfect broker, with no additional charges!  See more details about this in our PointPerfect MQTT Distribution  page. 

Zero Touch Provisioning 

If you have a large fleet of devices, we offer Zero Touch Provisioning (ZTP) to simplify the provisioning process of many devices with pre-defined settings.  This will reduce your time and other related costs of per-device provisioning.  Learn more about the PointPerfect ZTP solution here

Python sample script: PointPerfect MQTT Client 

If you are interested in evaluating PointPerfect with an MQTT Client built-in your host application, we have a PointPerfect MQTT Client sample python script available in the Thingstream Downloads PointPerfect section to help you get started. The script demonstrates how to authenticate the MQTT client with the broker and subscribe to the required MQTT topics. 

GNSS Receivers without native SPARTN Support

For receivers that do not support PointPerfect (SPARTN format) natively, we plan to provide RTCM over NTRIP in a future version of our service.  L-band users will need to integrate PointPerfect SDK in their application to take advantage of our PointPerfect service. 

PointPerfect SDK has two primary functions:

SDK users with MQTT can simplify their SDK integration by subscribing to additional topics to collect and update ephemeris data. The SDK can be requested by writing to support@thingstream.io by providing details of the target platform architecture. We will review your request and provide you with the appropriate SDK build and documentation. 

Reference Documentation

[1] ZED-F9P Integration manual, UBX-18010802
[2] u-center User guide, UBX-13005250
[3] u-blox F9 HPG 1.32 Interface description, UBX-22008968
[4] C099-F9P application board User guide, UBX- 18063024
[5] EVK-F9P-01 evaluation kit User guide, UBX-22038408 
[6] Thingstream Knowledge Base – Services Support
[7] u-blox information on positioning and location technologies - What is NTRIP
[8] NEO-D9S Integration manual, UBX-19026111