PEmicro Blog

Cloud Setup

Aug 23, 2023

This blog post walks through the setup to be able to use cloud-connected programming jobs with Cyclone Programmers.

In order to create a cloud connected programming job, the user's local software needs to be connected to their Virtual Factory in PEcloud. This allows job information, and optionally the job binary, to be uploaded to the PEcloud during creation.

For a Cyclone to be able to execute the job, the Cyclone needs to be provisioned to the same PEcloud Virtual Factory.  This gives the Cyclone access to the Job information. Additionally, if the job binary is delivered through the PEcloud, the Cyclone needs to be pre-loaded with a copy of the PEImageKey used to encrypt the job. 

Steps to using cloud-connected programming jobs:

  1. Link PEmicro Cyclone Software to the user’s PEcloud account (To allow job creation).
  2. Provision Cyclones to the user’s Virtual Factory in PEcloud (To allow job execution/download).  
  3. Pre-load the user's PEImageKey(s) to the Cyclones (To allow job decryption/execution). 

Preliminary step is to Install the latest PEmicro Cyclone Software utilities.

Download and Install Cyclone LC and Cyclone FX Installation

Once installed, verify Cyclone Firmware must be updated to firmware version 11.12 or higher.  Then we are ready to start the three steps for the setup for PEcloud.  

1. Link PEmicro Cyclone Software to the user’s PEcloud account (To allow job creation)

The first step is to download PEcloud credentials from the PEcloud account. The peCredentials file that is downloaded from the user account allows PEmicro software to (a) create jobs and upload them to the user’s virtual factory in PEcloud and (b) register cyclones to user’s virtual factory in PEcloud

Action:  Go to Create an account and log in.

In the upper right hand corner, select the dropdown and click ‘Download API credentials’ and download the PEcloud account credentials. 

It is recommended to move the downloaded credentials file into a location on the local disk that can be easily referenced in the future.   PEcloud credentials are used to:

  1. Register Cyclones to PEcloud through Cyclone Control GUI

  2. Set up the Image Creation Utility to be able to upload Programming Jobs directly to the user’s Virtual Factory in their PEcloud account. 

2. Provision Cyclones to the user’s Virtual Factory in PEcloud (To allow job download). 

Provisioning a Cyclone essentially authorizes the Cyclone to access the Virtual Factory in PEcloud to download programming Jobs, request permission to program and log programming results.   A Cyclone may only be provisioned to one PEcloud account and to one Virtual Factory at a time. Cyclones are easy to provision and deprovision as needed.   There are two ways to provision Cyclones to the PEcloud account.  

  • Open a Cyclone in Cyclone Control GUI and use the previously downloaded PEcredentials file to link it to the PEcloud virtual factory

  • Generate a provisioning code in PEcloud and use the touchscreen interface on the Cyclone to enter it. The Cyclone will use its network connection to register itself automatically. 

Today the first method to provision will be demonstrated.

Action: Open Cyclone Control GUI.  Connect to the desired Cyclone via Ethernet.  Click on the ‘Cloud Jobs’ Tab.  Click Provision Cyclone.  

By default, a PEcloud account has a default virtual factory ‘My Virtual Factory’ and a default Cyclone Group ‘My Cyclone Group’ associated with it.

Action: In the popup, select the ‘Use Credentials File’ radio button.  Click the ‘Select PEcloud Credentials’ button and navigate to PEcloud Credentials downloaded earlier to the PC.  In the dropdowns, select the desired Virtual Factory and Cyclone Group to link the Cyclone into.  Click the ‘Provision’ Button.

The software will handle the provisioning of the Cyclone to the Cyclone Group in the Virtual Factory and will provide a message indicating success when complete.

Now the Cyclone is connected to My Virtual Factory in my PEcloud Account.  No jobs are shown because no jobs have been created yet.  Once jobs have been created and uploaded to the virtual factory in PEcloud, this tab in the Cyclone Control GUI window will show all jobs to which this particular Cyclone has access.

It is now possible to see the Cyclone in the Group it was provisioned to in the PEcloud.  

Action:  Go to   Click on the Virtual Factory and then the Cyclone Group the Cyclone was provisioned into.  

3. Pre-load the user's PEImageKey(s) to the Cyclones (To allow job decryption/execution)

In order to protect the user's programming data, a user's job is automatically encrypted upon creation with a cryptography key (PEImageKey) that the user has generated. This PEImageKey, which is often shared by many jobs, needs to be pre-loaded into any Cyclones which will be used to download and run the programming job.

Programming jobs are encrypted before they are uploaded to the users virtual Factory in PEcloud. During upload to PEcloud, while it resides in the user’s PEcloud account, and during download by a Cyclone, the Programming job stays securely encrypted.  It is only possible to load a programming job onto a Cyclone with the matching PEImageKey.

In the Cyclone Control GUI software, the user loads a previously generated PEImageKey onto the Cyclone. This encryption key would be the same one used to create the programming job that will be loaded onto the Cyclone.   Read the blog post RSA/AES Encryption for Production Programming to learn more about the generation of a PEImageKey.

Action:  Open Control GUI, and click on the Encryption Keys tab.   Click add encryption key.  Select an encryption key.  Wait for the message ‘Keyfile stored successfully’.

Now that the encryption key is loaded, setup is complete.

  • The user is now able to create encrypted cloud-connected programming jobs whichare downloaded into authorized Cyclones via a Virtual Factory.
  • Authorized Cyclones pre-loaded with the matching encryption key may now download jobs from the Virtual Factory in PEcloud.

Tags related to this Blog Post

Cyclone     Cyclone FX     ARM     NXP     Production Programming