Deploying the QNX Agent to the QNX CAR Platform

You can configure the QNX Agent to a device running the QNX CAR Platform for Infotainment 2.1.

As part of SDKs available, we provide a QNX Agent, which provides more simple way to connect a QNX Neutrino-based system to the IoT. The QNX Agent is software that you install, which automatically synchronizes Peristent Publish/Subscribe(PPS) data as device data to the BlackBerry IoT Platform.

QNX Agent

Because the QNX Agent runs in the background and reads PPS objects, any applications that use PPS can connect to the BlackBerry IoT Platform without the need for additional development. Now imagine if you have numerous cars running the QNX CAR platform that connect to the cloud and publish its data to the cloud. The fact that the data is securely available opens a number of interesting ways that information can be used. For instance, applications running on other devices can read the data (provided they have the proper capabilities(permissions) and build reports and real-time representations of that data.

To connect to the BlackBerry IoT Platform from your QNX Neutrino–based system, it requires that you have trusted CA certificates installed. These certificates must be installed in the /etc/openssl/certs directory on the QNX Neutrino–based device before you make any calls to the REST API (such as using curl commands), run applications that use the C API, or connect the QNX Agent to the system. Contact a BlackBerry sales representative to get the trusted certificates to install on your system.

Requirements

This documentation presumes that you already have a device running the QNX CAR 2.1 Platform and have completed these tasks on the BlackBerry IoT Platform.

Deploy the QNX Agent binaries to the device

After you receive the QNX Agent binaries package from your sales representative, deploy them to the device. Within the package, there are instructions that describe how to upload the binaries to the device.

Configure the QNX Agent

You can use the QNX Agent to quickly configure a device running the QNX CAR platform to connect to the BlackBerry IoT Platform. Here's a summary of the steps:

  1. Create the app secrets file.
  2. Create the configuration file for the QNX Agent.
  3. Copy the files to the device.
  4. Run the QNX Agent and validate data on the BlackBerry IoT Platform.

Create the app secrets file

For your device to communicate with the BlackBerry IoT Platform, the QNX Agent needs to know the API Secret and API Key for the application. You can find this information in the administration console. See the View application security for more information on where to find this information.

Create a file called secrets and place the API KEY on the first line and the API SECRET on the second line. Your file should look similar to the following example:

eazaiFvxXs5xO_dGsO4esigAiYzMtEs5
JrNNQ4vqS7SiHirw+5XosCOsdXtVAYJDbBqcL6M3VhU=

Create the configuration file for the QNX Agent

Next, create a configuration file for the QNX Agent. The configuration file allows the agent to configure itself in a number of ways. For more information about the configuring the file, see QNX Agent.

For the QNX Agent to authenticate with the BlackBerry IoT Platform, it needs to know the location of the private key that was used to generate the CSR (certificate signing request), the certificate that was created when the device was created on the platform, and the secrets file that was created in the previous step. You will upload the private key, certificate, and secret files to the device in a later step.

Here's a sample configuration file that you can use to get up and running quickly.

{
    "url": "https://bbryiot.com",
    "auth_url": "https://auth.bbryiot.com",
    "secretsfile": "/var/bipd/secrets",
    "keyfile": "/var/bipd/private_key",
    "certfile": "/var/bipd/certificate",
    "sync": {
      "paths":[
        {
            "path": "/pps/qnxcar/hvac",
            "id": "temperature_row1right",
            "realtime":true
        },
        {
            "path": "/pps/qnxcar/navigation/",
            "id": "geolocation"
        }
      ]
    }
}

Copy the files to the device

After you have created all of the necessary files, they can be uploaded to the device. Make sure the location where they are uploaded is the same as the configuration file created in the previous step.

  # scp secrets root@10.222.162.35:/var/bipd/
  # scp private_key root@10.222.162.35:/var/bipd/
  # scp certificate root@10.222.162.35:/var/bipd/
  # scp config root@10.222.162.35:/var/bipd/

Run the QNX Agent and validate data

The last step is to run the QNX Agent on the device and test that the data is synchronized on the BlackBerry IoT Platform.

Use SSH to connect to your device and then run the agent from where it was copied to. For example:

  #ssh root@10.222.162.35
  #/etc/bipd/bipd -C /var/bipd/config

Now, the QNX Agent periodically sends data to the BlackBerry IoT&Platform. In the administration console, navigate to the device that was created earlier. You should be able to see the data from that device.