Provisioning
The first set-up of a brand-new Industrial PC is called provisioning. With the provisioning service for Beckhoff IPC's, it is possible to set-up a bunch of IPC's with a single click, by just connecting a power adapter and a network cable.
The IPC's then starts to
- install the hopit Edge software with individual settings like connection keys and device certificates,
- update their operating system with security patches,
- installs PLC software with the correct runtime version,
- installs necessary real-time drivers,
- configures the network interfaces,
- sets-up a save user environment or
- configures the autostart behavior of HMI's.
After this single click, the hopit Edge automatically connects to the hopit Platform and can be fully managed from there via the Device Twin.
Additionally, the provisioning service can be used to automatically add new devices to the Azure IoT Hub
.
Set-Up
To detect and provision Beckhoff IPC's automatically, a Provisioning-PC in the same local network as the IPC is required to communicate to the hopit Portal.
The hopit Edge Provisioner software must be running on the Provisioning-PC. It can be downloaded from the hopit Portal: Settings
-> Provisioning
-> EDGE PROVISIONER
.
Configuration
The provisioning settings can be adapted in the hopit Portal: Settings
-> Provisioning
.
The hopit. Portal
and Azure IoT Hub
checkboxes enables or disables the provisioning for the platform.
The Default Device Twin
can be used to configure the initial settings of the hopit Edge device. Especially the ProvisioningChain
and the Deployment
sections are used to initially set-up the Edge device.
Provisioning Chain
In the Provisioning Chain
property of the Default Device Twin
, the initial set-up of the IPC can be configured. It is a list of Tasks, which are executed sequentially.
See the Tasks section for possible entries.
Custom VPN Server address
The Vpn
-> Server
property defaults to the URL of the hopit Portal. It can be overwritten by setting it in the Default Device Twin
(e.g. to use the IP-Address if no DNS name resolution is possible on the Edge device).
Azure IoT Hub
If provisioning for the Azure IoT Hub is enabled, the properties in Settings
-> Azure IoT Hub
must be set.
The Azure Target Name
property represents the name of the Target, which is later configured on the Edge device.
Flow
The following graph shows a complete provisioning flow of an Edge device. Provisioning for the hopit Portal
and the Azure IoT Hub
is enabled in this example.
Automatic Provisioning
To provision a new Beckhoff IPC, be sure you have done the previous set-up and configuration steps.
If everything is in place, open the hopit Portal on the Provisioning PC. If a IPC is found in the local network, it will pop up in the Portal:
The device is automatically named with Edge-
and the IPC serial number, which is also printed on the device.
To start the provisioning process, click Install
and wait until the device is UP
.
Now
- hopit Edge is installed on the IPC,
- a new device is added in the hopit Portal and/or the Azure IoT Hub,
- the Connection Keys (VPN and/or Azure) are configured,
- the Device Twin is synchronized if enabled and
- the device starts with the Provisioning Chain and the Deployment.
Do not turn off the IPC until the Deployment is finished. Especially when installing Windows Updates, this can take a while and the IPC will reboot a few times if necessary. You can see the status in the Device Twin or in the Edge web interface at https://localhost:5050/Deployment
.
Manual Provisioning
If it is not possible to have a Provisioning PC in the same network or a non-Beckhoff device is used, hopit Edge Devices can be provisioned manually.
To install the hopit Edge software, refer to the Getting Started section.
To generate new connection keys, click the + ADD DEVICE
button in the hopit Portal
-> Edge Devices
and enter a unique device name.
The hopit Portal will generate a new device and show you the connection keys.
Enter this parameters in the Edge device settings for Insights Collector
and VPN
or add a new Azure Target with the displayed ConnectionString
.