WebSocket is a communications protocol that is widely adopted for data transmission. Link IoT Edge offers WebSocket drivers that allow you to easily connect IoT devices. Link IoT Edge offers various WebSocket drivers based on the gateway CPU architecture. You can use the IoT Platform console to deploy WebSocket drivers to gateways.

If you want to use WebSocket drivers to connect devices, you must ensure the compliance with the WebSocket protocol for Link IoT Edge. For more information, see Link IoT Edge device connection protocol (WebSocket).

You can establish direct connections between WebSocket drivers and WebSocket devices.Establish direct connections between WebSocket drivers and WebSocket devices
You can also use gateways to connect WebSocket drivers and WebSocket devices.Use gateways to connect WebSocket drivers and WebSocket devices

This topic provides an example of how to use WebSocket drivers. The procedure is described as follows.

Note Before using WebSocket drivers, make sure that you have created edge instances and published gateways based on the instructions provided in Set up an environment.

Step 1: Assign a driver

  1. Log on to the IoT Platform console. In the left-side navigation pane, choose Link IoT Edge > Edge Instances. On the page that appears, find an existing edge instance, and click View in the Actions column.
  2. On the Instance Details page, click the Devices & Drivers tab, and click the + icon on the right side of All Drivers.
  3. In the Assign Driver dialog box, select Official Drivers from the drop-down list. Find the required WebSocket driver based on the gateway CPU architecture, and click Assign in the Actions column. Then, click Close.
    Assign the WebSocket driver to the edge instance

Step 2: Configure the driver

  1. On the Devices & Drivers tab, click the WebSocket driver that has been assigned to the edge instance, and click Driver Configurations next to Devices.
    On the page that appears, specify the parameters as prompted, and click OK.Driver configurations
    Table 1. Parameters
    Parameter Description
    IP Address The listening IP address of the WebSocket driver. The default value is the IP address of the machine where the driver resides.
    Port Number The listening port number of the WebSocket driver. The value ranges from 1 to 65535. The default value is 17682.
    Encrypt Specifies whether to enable Transport Layer Security (TLS) encryption. By default, TLS encryption is disabled. If you select Yes, you must upload certificate files for public and private keys.
    • Public Key File: Upload a certificate file for the public key. The certificate file must use the .cer format.
    • Private Key File: Upload a certificate file for the private key. The certificate file must use the .pvk format.
  2. Optional. On the right side of Devices, click Container Configurations. On the page that appears, configure the container settings for the driver. After you complete the configuration, click Save.
    Note You can specify Container Configurations only when the Instance Type parameter is set to Pro Edition.
    Table 2. Parameters
    Parameter Description
    Host Mode Specifies whether to isolate the container network from the host network. The valid values are described as follows:
    • Yes: This value indicates that the container network is the same as the host network.
    • No: This value indicates that the container network is isolated from the host network. If you select this option, you must configure the Network Port Mapping settings.
    Network Port Mapping The mappings between host network ports and container network ports. This parameter is available only when Host Mode is set to No. The network where the function runs is isolated from the host network. You can map the listening port of the function in the container to a host network port. This allows client programs on various hosts to access the services that are provided by the function. You can specify a maximum of 10 entries.

    For example, the fc-http-server function runs in a host container, and provides services by using socket port 80. The client programs on other hosts cannot access the fc-http-server function by accessing port 80 on the current host. To enable the client programs on other hosts to access the fc-http-server function, you must map the network port (port 80) in the container where the function runs to a host network port, such as port 8080. Then, the client programs on other hosts can access the IP address:port 8080 in the host network, and use the services provided by the fc-http-server function.

    Privilege Mode

    Specifies whether to enable the privilege mode. Root users of containers can access host services only as general users. If you want to change the system time or run the mount command in containers, you must be granted the required root permissions. In this scenario, you must enable the privilege mode for the containers.

    Note If you enable the privilege mode, applications and programs in the containers are granted the host root permissions, and all the host devices are mapped to the containers. Therefore, you do not need to configure the Device Mapping settings.
    Device Mapping The device mappings. This parameter is available only when you select No for Privilege Mode. The network where the device management system resides is isolated from the host network. To enable a function to access a host device such as a serial interface, you must map the device to the container where the function runs. You can specify a maximum of 10 entries.
    Volume Mapping The volume mappings. The network where the file system resides is isolated from the host network. To enable a function to access a host file, you must map the file to the container where the function runs. You can specify a maximum of 10 entries.

Step 3: Assign a sub-device

  1. In the Devices section, click Assign Sub-device. In the WebSocket driver settings, assign a device to the edge instance.
    You can select an existing WebSocket device or create a new device. To create a device, follow these steps:
  2. On the Assign Sub-device page that appears on the right side of the console, click Add Sub-device.
    Add Sub-device
  3. In the Add Device dialog box, click Create Product to create a product to which the WebSocket device belongs.Create a product
  4. In the Create Product dialog box, specify the required parameters, and click OK.
    Create a WebSocket product
    Table 3. Parameters
    Parameter Description
    Product Name The name of the product. The product name must be unique for the current account. The product name must be 4 to 30 characters in length, and can contain letters, digits, underscores (_), hyphens (-), at signs (@), and parentheses ().
    Gateway Connection Protocol The protocol that is used by the gateway. In this example, Custom is selected.
    Authentication Mode The authentication method. Select an authentication method that is suitable for your devices. For more information, see Authenticate devices.
    Product Description Optional. The description of the product.
  5. In the Add Device dialog box, add a WebSocket device. In this step, specify a value for the DeviceName parameter, and then click OK.
  6. Assign the WebSocket device to the edge instance.
  7. After the WebSocket device is assigned to the edge instance, click Device Configurations in the Actions column. In the dialog box that appears, configure the device settings to connect the device to the WebSocket driver.
    Device configurations

    The Device IP parameter is optional. This parameter indicates the IP address of the device or the gateway that is connected to the device.

    Note If you specify this parameter, Link IoT Edge connects only the devices from the specified IP address.

Step 4: Deploy the edge instance

In the upper-right corner of the Instance Details page, click Deploy to deploy the edge instance.