Configuraciones avanzadas e integraciones > Visualización de datos de Azure IoT Hub como valores de propiedad en un activo
Visualización de datos de Azure IoT Hub como valores de propiedad en un activo
Los datos de Azure IoT Hub se pueden mostrar como valores de propiedad en un activo mediante ThingWorx Composer.
Requisitos previos
Java Runtime Environment (JRE) 1.8 como mínimo
ThingWorx Composer 8.3.0 o una versión superior con ThingWorx Apps instalado.
Extensión Azure IoT Connector instalada en ThingWorx.
Descargue la extensión del mercado de PTC.
Para obtener más información, consulte el Centro de ayuda de ThingWorx Azure IoT Hub Connector.
Azure IoT Hub instalado.
Una clave de aplicación de ThingWorx creada para ThingWorx Azure IoT Hub Connector, por ejemplo azure_appkey.
Procedimiento para mostrar datos de Azure IoT Hub para propiedades de activos:
* 
Para mostrar una cosa de Azure IoT Hub como activo en ThingWorx Apps, sin que se puedan inspeccionar los datos de Azure IoT Hub desde el componente común del selector de etiquetas, solo necesita editar la cosa para añadir las definiciones implementadas que se enumeran en el paso 3 y omitir el resto del procedimiento que sigue.
1. En ThingWorx Composer, cree una plantilla de cosa de proveedor de recursos para añadir la conexión de Azure IoT Hub a la lista desplegable Tipo de equipo en el componente común del selector de etiquetas:
Nombre: el nombre de la plantilla de cosa, por ejemplo AzureIot_ResourceProvider_ThingTemplate.
Plantilla de cosa base: PTC.SCA.SCO.EquipmentResourceProviderTemplate
Definiciones implementadas:PTC.SCA.SCO.RemoteConnectionResourceProviderThingShape
En Servicios, pulse en para sustituir el servicio GetConnectedServers por el código siguiente. Se han añadido saltos de línea y espacios al código siguiente para una mejor visualización. Si corta y pega el código, quite estos caracteres antes de intentar usar el código en la aplicación.
var params = {
infoTableName : "InfoTable",
dataShapeName : "PTC.Factory.OPCDAServerNames"
};
var infoTableWithName = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);


var params = {
columnName: "ResourceProviderName",
value: me.name
};

// result: INFOTABLE dataShape: PTC.SCA.SCO.RemoteConnectionSettingsTableDataShape
var result = Things["PTC.Factory.LaunchPointConfigurationThing"].
GetRemoteConnectionTableRowByStringProperty(params);

var thingTemplateName;
if (result) {
thingTemplateName = result.getRow(0).RemoteConnectionThingTemplateName;
}

var paramsForThingTemplate = {
maxItems : 1000,
nameMask : undefined,
query : undefined,
thingTemplate : thingTemplateName,
tags : undefined
};
var thingsWithTemplate = Resources["SearchFunctions"].SearchThingsByTemplate(paramsForThingTemplate);
for (var i = 0; i < thingsWithTemplate.rows.length; i++) {
var row = thingsWithTemplate.rows[i];
// infotable datashape iteration
var name = row.name;
var isThingEnabled = Things[name].IsEnabled();
if (name !== "" && name !== null && isThingEnabled) {
var serverName = row.ServerName;
var rowObject = new Object();
rowObject.Name = name;
if (serverName === null || serverName === undefined || serverName === "") {
serverName = name;
}
rowObject.ServerName = serverName;
infoTableWithName.AddRow(rowObject);
}
}
result = infoTableWithName;
Para obtener información sobre los demás servicios relacionados con la definición de cosa PTC.SCA.SCO.RemoteConnectionResourceProviderThingShape, consulte el paso 1 de la sección Examen de los datos de los conectores personalizados.
2. Cree una cosa de proveedor de recursos que implemente la plantilla de cosa creada en el paso 1:
Nombre: por ejemplo, AzureIot_ResourceProviderThing.
Plantilla de cosa base: especifique la nueva plantilla de cosa creada en el paso 1. En este ejemplo, AzureIot_ResourceProvider_ThingTemplate.
3. Cree una plantilla de cosa para utilizarla para la creación de activos de Azure IoT Hub (cosas) con la configuración siguiente:
Nombre: por ejemplo, AzureIot_RemoteThing_ThingTemplate.
Descripción: descripción de la plantilla de cosa.
Plantilla de cosa base:AzureIotThing o cualquier plantilla de cosa que se extienda desde AzureIotThing.
Definiciones implementadas: implemente todas las definiciones de cosa que se enumeran para los activos en Creación de plantillas de cosa personalizadas para tipos de equipos.
4. Defina un tipo de equipo para los activos de Azure IoT Hub en la tabla de configuración EquipmentTypeSettings en PTC.Factory.C_LaunchPointconfigurationThing_[versión], siguiendo las instrucciones de Creación de estructuras y tipos de equipos personalizados.
Para el valor de ThingTemplate, especifique la plantilla de cosa creada en el paso 3.
Para el valor de ResourceProvider, especifique el proveedor de recursos que se creó en el paso 2.
5. Añada el tipo de conexión de Azure IoT Hub a la cosa de configuración del punto de inicio.
a. Abra PTC.Factory.C_LaunchPointConfigurationThing_[versión].
b. Añada una fila a la tabla RemoteConnectionSettings con la configuración siguiente:
ConnectionType: introduzca el nombre que desea que se muestre para el tipo de conexión de Azure IoT Hub en la ventana Crear conexión en Controls Advisor. Por ejemplo, AzureIot.
ResourceProviderName: indique la cosa del proveedor de recursos creada en el paso 2. En este ejemplo, AzureIot_ResourceProviderThing.
RemoteConnectionThingTemplateName: seleccione la plantilla de cosa AzureIotThing.
EnabledInControlsAdvisor: asegúrese de que esta casilla esté desmarcada.
EnabledInTagPicker: seleccione esta casilla para que el tipo de conexión sea visible en el selector de etiquetas.
* 
Si crea un activo basado en la plantilla de cosa AzureIotThing como cosa en ThingWorx Composer, debe definir la propiedad displayName en la cosa para que el activo se muestre correctamente en ThingWorx Apps. Si los activos se crean desde Instalación y configuración > Equipo en ThingWorx Apps, esta propiedad se define automáticamente.