Ejercicio: Implementación de servicios de Azure AI como Azure Functions en el dispositivo IoT

Completado

Creación de Azure Cognitive Services

En Azure Portal, haga clic en Crear un recurso y busque Voz.

Cree un servicio de voz.

Rellene el formulario para crear el servicio de voz.

Nombre: escriba un nombre.

Suscripción: seleccione la suscripción disponible.

Ubicación: seleccione su ubicación.

Plan de tarifa: seleccione S0.

Grupo de recursos: seleccione su grupo de recursos.

An illustration is showing how to create cognitive speech service.

Vaya al servicio Voz que se acaba de crear, haga clic en la sección Claves para copiar y anote la Key1. La usará para que IoT DevKit tenga acceso.

An illustration is showing speech API-keys.

Instalación de extensiones para Visual Studio Code

Debe instalar algunas extensiones para Visual Studio Code.

  • Inicie Visual Studio Code, busque Arduino en el marketplace de extensiones e instálela. Esta extensión proporciona experiencias mejoradas para el desarrollo en la plataforma Arduino.

  • Busque Azure IoT Tools en el marketplace de extensiones e instálelo.

    Nota:

    El paquete de extensiones Azure IoT Tools contiene Azure IoT Device Workbench, que se usa para desarrollar y depurar en varios dispositivos IoT DevKit. La extensión Azure IoT Hub, que también se incluye con el paquete de extensiones Azure IoT Tools, se usa para administrar e interactuar con Azure IoT Hub.

  • Busque C# en el marketplace de extensiones e instálelo.

Configuración de Visual Studio Code con los valores de Arduino

En Visual Studio Code, haga clic en Archivo > Preferencias > Configuración. Después, haga clic en ... y abra settings.json.

Agregue las líneas siguientes para configurar Arduino en función de la plataforma:

  • Windows:

    "arduino.path": "C:\\Program Files (x86)\\Arduino",
    "arduino.additionalUrls": "https://raw.githubusercontent.com/VSChina/azureiotdevkit_tools/master/package_azureboard_index.json"
    
  • macOS:

    "arduino.path": "/Applications",
    "arduino.additionalUrls": "https://raw.githubusercontent.com/VSChina/azureiotdevkit_tools/master/package_azureboard_index.json"
    
  • Ubuntu:

    Reemplace el marcador de posición {username} debajo del nombre de usuario.

    "arduino.path": "/home/{username}/Downloads/arduino-1.8.8",
    "arduino.additionalUrls": "https://raw.githubusercontent.com/VSChina/azureiotdevkit_tools/master/package_azur
    

Apertura de un proyecto de ejemplo

En primer lugar, empiece iniciando sesión en su cuenta de Azure. Haga clic en F1 para abrir la paleta de comandos, escriba y seleccione Azure: Iniciar sesión

Haga clic en F1 para abrir la paleta de comandos, escriba y seleccione Azure IoT Device Workbench: Abrir ejemplos... Después, seleccione IoT DevKit como placa.

En la página Ejemplos de IoT Workbench, busque DevKit Translator (Traductor de DevKit) y haga clic en Abrir ejemplo. Después, seleccione la ruta de acceso predeterminada para descargar el ejemplo de código.

An illustration is showing how to open sample project in Visual Studio Code.

Selección de la placa

Haga clic en F1 para abrir la paleta de comandos, escriba y seleccione Arduino: Administrador de placas. Busque AZ3166 e instálelo.

An illustration is showing how to select device board using arduino extension.

Instalación del puerto serie: controladores ST-Link

  • Windows: descargue controlador USB e instálelo desde el sitio web de STMicroelectronics.

  • macOS: no se requiere ningún controlador para macOS.

  • Ubuntu: ejecute los comandos en el terminal y, después, cierre la sesión e inicie sesión para que el cambio en el grupo de la barra de herramientas surta efecto:

    # Copy the default rules. This grants permission to the group 'plugdev'
    sudo cp ~/.arduino15/packages/AZ3166/tools/openocd/0.10.0/linux/contrib/60-openocd.rules /etc/udev/rules.d/
    sudo udevadm control --reload-rules
    
    # Add yourself to the group 'plugdev'
    # Logout and log back in for the group to take effect
    sudo usermod -a -G plugdev $(whoami)
    

Nota:

ST-Link/V2 es la interfaz USB que IoT DevKit usa para comunicarse con la máquina de desarrollo. Deberá instalarla en Windows para que se instale la imagen del código del dispositivo compilado en DevKit. Siga los pasos específicos del sistema operativo para permitir el acceso de la máquina al dispositivo.

Creación de una función de Azure o aprovisionamiento de servicios de Azure

En Visual Studio Code, presione F1, escriba y seleccione Azure IoT Device Workbench: Aprovisionamiento de servicios de Azure...

An illustration is showing how to provision Azure services.

Siga los pasos para finalizar el aprovisionamiento de Azure IoT Hub y Azure Functions.

An illustration is showing how to provision iot services.

Anote el nombre del dispositivo Azure IoT Hub que se ha creado.

Ahora tiene Azure IoT Hub aprovisionado y el dispositivo creado. Además, la cadena de conexión del dispositivo se guardará en Visual Studio Code para configurar IoT DevKit más adelante.

An illustration is showing the confirmation of provisioning Azure services.

Abra Functions\DevKitTranslatorFunction.cs y actualice las líneas de código siguientes con el nombre del dispositivo y la clave del servicio Voz que se ha anotado.

// Subscription Key of Speech Service
const string speechSubscriptionKey = "";

// Region of the speech service, see https://learn.microsoft.com/azure/cognitive-services/speech-service/regions for more details.
const string speechServiceRegion = "";

// Device ID
const string deviceName = "";

Implementación de una función de Azure

Haga clic en F1, escriba y seleccione Azure IoT Device Workbench: Implementación en Azure... Si Visual Studio Code solicita confirmación para la reimplementación, haga clic en Sí.

An illustration is showing how to deploy Azure function to the cloud.

Asegúrese de que la implementación es correcta.

An illustration is showing the confirmation of Azure function deployment.

En Azure Portal, vaya a la sección Aplicaciones de funciones y busque la aplicación de funciones de Azure creada. Haga clic en devkit_translator y luego en Obtener la URL de la función para copiar la dirección URL.

An illustration is showing how to get function url from the cloud.

Pegue la dirección URL en el archivo azure_config.h.

An illustration is showing how to configure Azure function url in the sample project.

Configuración de los valores del dispositivo

En la barra de estado situada en la parte inferior a la derecha, compruebe que MXCHIP AZ3166 se muestra como una placa seleccionada y se usa el puerto serie con STMicroelectronics.

An illustration is showing how to select serial port.

Haga clic en F1, escriba y seleccione Azure IoT Device Workbench: Configurar opciones de dispositivo... > Configurar cadena de conexión del dispositivo. Seleccione la cadena de conexión del dispositivo IoT Hub para configurarla en el DevKit.

An illustration is showing how to configure connecting string.

En DevKit, mantenga presionado el botón A, presione y suelte el botón de restablecimiento y, después, suelte el botón A. El DevKit entra en modo de configuración y guarda la cadena de conexión.

Verá la notificación una vez que se haya realizado correctamente.

An illustration is showing the confirmation of configuration the connection string.

Carga del código de dispositivo

Haga clic otra vez en F1, escriba y, después, seleccione Azure IoT Device Workbench: Cargar el código del dispositivo. Comienza a compilar y cargar el código en DevKit.

An illustration is showing how to upload device code to the iot device.

DevKit se reinicia y comienza a ejecutar el código.

Prueba del proyecto

Después de la inicialización de la aplicación, siga las instrucciones de la pantalla DevKit. El idioma de origen predeterminado es el chino.

Con el fin de seleccionar otro idioma para la traducción, haga lo siguiente:

  1. Presione el botón A para entrar en modo de configuración.
  2. Presione el botón B para desplazarse por todos los idiomas de origen admitidos.
  3. Presione el botón A para confirmar su elección del idioma de origen.
  4. Mantenga presionado el botón B mientras habla y luego suéltelo para iniciar la traducción.
  5. El texto traducido en español se muestra en la pantalla.

En la pantalla de resultado de traducción, se puede hacer lo siguiente:

  1. Presionar los botones A y B para desplazarse y seleccionar el idioma de origen.
  2. Presionar el botón B para hablar. Para enviar la voz y obtener el texto de la traducción, suelte el botón B.