Configuración del SDK para la Placa de Desarrollo AI-Talk en Ubuntu

El SDK puede instalarse y compilarse en sistemas operativos como Windows, Ubuntu y macOS. Esta guía se centra en la configuración específica para Ubuntu.

1. Instalación de Paquetes Requeridos

Primero, asegúrese de tener instalados los paquetes git y wget. Ejecute el siguiente comando si no están presentes:

sudo apt-get update && sudo apt-get install -y git wget

Para verificar si ya están instalados, use git --version o wget --version.

2. Decsarga y Extracción del Instalador

Descargue el paquete de instalación offline desde el repositorio oficial:

wget https://cdn.iflyos.cn/public/cskTools/csk6_integration_installer_linux_v2.0.0_24012201.tar.xz

Extraiga el contenido del archivo descargado:

tar -xvf csk6_integration_installer_linux_v2.0.0_24012201.tar.xz

3. Ejecución del Instalador

Acceda al directorio extraído y ejecute el script de instalación. El usuario debe pertenecer al grupo sudo y no ser root:

cd lisa_zep_v2.0.0 && ./install.sh

Al finalizar, se mostrará un mensaje de éxito indicando que el entorno está listo.

4. Verificación del Entorno

Confirme la instalación ejecutando el comando:

lisa info zep

La salida detallará las versiones de Node.js, npm, Git, y las herramientas del plugin Zephyr, como el SDK de Zephyr, CMake, y el toolchain ARM.

Obtención e Inicialización del SDK Multimodal

Este SDK está diseñado para la placa CSK6-MIX y contiene aplicaciones de IA y modelos de lenguaje grande (LLM).

1. Clonado del Repositorio

Obtenga el código fuente del SDK desde el repositorio oficial:

git clone --branch release https://cloud.listenai.com/CSKG962172/duomotai_ap.git

2. Inicialización del Proyecto

Dentro del directorio clonado, inicialice el entorno de la aplicación y actualice las dependencias:

cd duomotai_ap && lisa zep init-app && lisa zep update

3. Estructura del SDK

El SDK incluye carpetas como apps con ejemplos de reconocimiento de audio, control por LLM, y demostraciones de visión artificial. La carpeta components contiene módulos reutilizables para audio, WiFi, y comunicación con la nube.

4. Actualización del SDK

Para sincronizar con la última versión, realice un restablecimiento y extracción de cambios en el repositorio, luego actualice las dependencias:

cd duomotai_ap && git reset --hard HEAD && git pull
lisa zep update

Adaptación del SDK para la Placa AI-Talk

La placa AI-Talk difiere del diseño de CSK6-MIX en algunos aspectos de hardware, por lo que se requieren ajustes en los archivos de configuración.

1. Incorporación de Archivos de Dispositivo de Árbol (Device Tree)

Copie la carpeta csk6011a_box_lite al directorio de tableros del SDK, ubicado en duomotai_ap/.sdk/csk/boards/arm/.

2. Personalización de Superposiciones (Overlays)

Para aplicaciones específicas, como LLM_chat, cree un archivo de superposición basado en el existente y modifique la configuración de GPIO. Por ejemplo, cambie la referencia del pin:

spk_pa_mute: spk_pa_mute {
  gpios = <&exgpioc 2 GPIO_ACTIVE_HIGH>;
};

3. Ajuste del Controlador de Pantalla LCD

El controlador ST7789V requiere una corrección en la inversión de colores. Modifique la función de inicialización para desactivar la inversión:

static void st7789v_lcd_init(const struct device *dev)
{
    // ... código previo ...
    st7789v_transmit(dev, ST7789V_CMD_INV_OFF, NULL, 0);
    // ... código posterior ...
}

4. Actualización del Enlace de Dispositivo para FT5336

Para soportar el pin de reinicio en el controlador táctil, añada la siguiente definición al archivo YAML de enlace de dispositivo:

reset-gpios:
  type: phandle-array
  description: |
    Pin de reinicio activo para el sensor táctil FT5336.

5. Modificación del Controlador de Brillo de Fondo

Debido a que la polaridad del controlador de retroiluminación es opuesta, ajuste la función que establece el brillo. Introduzca una condición para invertir el valor del ciclo de trabajo PWM si es necesario:

int establecer_brillo(uint8_t ciclo_trabajo_pwm)
{
  if (lcd_pwm.bandera == 1) {
    ciclo_trabajo_pwm = 100 - ciclo_trabajo_pwm;
  }
  ciclo_trabajo_pwm = (ciclo_trabajo_pwm > 95) ? 95 : ciclo_trabajo_pwm;
  ciclo_trabajo_pwm = (ciclo_trabajo_pwm < 0) ? 0 : ciclo_trabajo_pwm;
  // ... resto del código ...
}

6. Inicialización de la Pantalla y Cámara

En la función principal de demostración LCD, invoque explícitamente la función de brillo para activar la retroiluminación:

void lcd_lvgl_demo(void *p1, void *p2, void *p3)
{
  extern int ui_set_brightness(uint8_t pwm_duty);
  ui_set_brightness(0);
  // ... código de inicialización UI ...
}

Para corregir la orientación de la cámara, desactive los controles de volteo vertical y horizontal en la inicialización de la cámara:

int camera_init(void)
{
  int valor = false;
  ret = video_set_ctrl(camera, VIDEO_CID_VFLIP, &valor);
  // ... manejo de errores ...
  valor = false;
  ret = video_set_ctrl(camera, VIDEO_CID_HFLIP, &valor);
  // ... manejo de errores ...
  return 0;
}

Compilación del Proyecto

Finalmente, compile la aplicación deseada usando el tablero adaptado. Por ejemplo, para la aplicación LLM_chat:

lisa zep build -b csk6011a_box_lite apps/LLM_chat -p

Repita el proceso cambiando LLM_chat por el nombre de otras aplicaciones según sea necesario.

Etiquetas: AI-Talk SDK Ubuntu linux Git

Publicado el 6-6 17:20