c# - usuario - Cómo usar configuraciones de configuración en una aplicación universal de Windows
configuracion settings (3)
Tengo una aplicación de Windows universal que se implementa en Raspberry PI 3 con Windows iOT Core, el PI 3 puede tener muchos sensores conectados, por lo tanto, esos sensores deben estar registrados con Azure IOT Hub, para hacer eso los registro manualmente con el Dispositivo Explorer, y luego en un archivo XML que creé, puse la clave del dispositivo y otras configuraciones.
De esta forma, el PI puede usar DeviceKey desde el archivo de configuración y la lectura del sensor y luego enviar los datos al IOT HUB.
Pedazo de pastel funciona bien.
Sin embargo, no sé si esta forma de configuración es la mejor práctica para la aplicación universal de Windows, antes que nada, no sé cómo editar ese archivo XML antes de instalar el paquete o, una vez instalado, no sé dónde encontrar el archivo y editarlo. antes de que la aplicación se ejecute.
La pregunta es simple: ¿es esta mejor práctica o no? En caso afirmativo, ¿cómo puedo editar ese archivo antes de implementarlo? Recuerde que la misma aplicación se instalará en 100 dispositivos y el archivo XML será diferente. En caso negativo, ¿cuál es la mejor práctica?
Mi práctica es esta:
Tendré una "Función de registro" incrustada en las aplicaciones UWP para RPi3, cuando las aplicaciones comiencen, detectará si la clave del dispositivo se guarda localmente o no, si no se inicializará el proceso de registro, de lo contrario continuará lo que debería estar haciendo.
Incorporaré la información general para el registro en las aplicaciones UWP, cuando el proceso se desencadena, se conectará a Azure IoT Hub para recuperar la lista de dispositivos, y al azar (no tan aleatorio también) generará el "nombre de dispositivo" y "dispositivo clave" , registre el dispositivo de nueva generación con Azure IoT Hub. Recuerde guardar el "nombre de dispositivo" y "dispositivo clave" en su RPi3 para que pueda comunicarse con el dispositivo.
Hice un paso más, es decir, tendré una UI para RPi3, cuando conecto el RPi3 a un monitor, puedo tener la opción de "restablecer" el dispositivo, por lo que se "eliminará" y se "cancelará" el registro de Azure IoT Hub y relanza el proceso de registro nuevamente.
Espero que esto ayude
Use TPM para seguridad / credenciales, ya que extrae las credenciales de conectividad del dispositivo, una vez que está configurado en el dispositivo, sin necesidad de ninguna codificación específica del dispositivo (es decir, sin cadena de conexión). Por ejemplo, aproximadamente a la mitad de este video: Channel9
Estoy de acuerdo con @ Snake Chia .
Y tal vez puedas probar esta práctica:
Comparta un dispositivo en IOT HUB y solo necesita un conjunto de configuraciones, por lo que no necesita editar el archivo de configuración mientras implementa la aplicación. Usando un campo de datos del mensaje para distinguir diferentes sensores. En Azure, Azure Stream Analytics puede ayudarlo a procesar los datos de los dispositivos de sensores .