Saltar al contenido principal

reSpeaker Core v2.0

enter image description here

ReSpeaker Core v2.0 de Seeed está diseñado para aplicaciones de interfaz de voz. Está basado en el Rockchip RK3229, un ARM Cortex A7 de cuatro núcleos que funciona hasta 1.5GHz, con 1GB de RAM. La placa incorpora una matriz de seis micrófonos con algoritmos de voz que incluyen DoA (Direction of Arrival), BF (Beam-Forming), AEC (Acoustic Echo Cancellation), etc.

ReSpeaker Core v2.0 ejecuta un sistema operativo GNU/Linux. Se beneficia de una comunidad activa y potente que permite utilizar software y herramientas existentes para desarrollo, pruebas y despliegue, lo que posibilita un desarrollo de producto rápido.

ReSpeaker Core v2.0 está diseñado como una placa de desarrollo rica en funciones para que las empresas la evalúen. Con este fin, la placa consta de dos secciones principales: la primera es el módulo central que contiene la CPU, la memoria (RAM) y la PMU. La segunda sección es la placa portadora externa que contiene los periféricos como la eMMC, los conectores y los componentes de conectividad inalámbrica. Cualquiera de las secciones o ambas se pueden personalizar a través de los servicios de personalización de Seeed.

Características

  • Solución todo en uno con SoC de alto rendimiento

  • 1GB RAM y 4GB eMMC

  • Matriz de 6 micrófonos

  • USB OTG, dispositivo USB

  • WiFi b/g/n y BLE 4.0

  • Rango de detección: ~5 metros

  • Zócalo Grove para otros sensores

  • Conector de audio de 3.5mm y conector JST2.0

  • ADCs de 8 canales para matriz de 6 micrófonos y 2 de retorno (bucle de hardware)

  • Sistema Linux basado en Debian

  • SDK de C++ y contenedor de Python

  • SDK para algoritmo de voz con documentación completa

  • Algoritmos y funciones de voz:

    • Activación por palabra clave
    • BF(Beam-Forming)
    • DoA (Direction of arrival)
    • NS(Noise suppression)
    • AEC (Acoustic echo cancellation) y AGC (Automatic gain control)

Especificación

Características
Soc(Rockchip RK3229)CPUCortex-A7 de cuatro núcleos, hasta 1.5GHz
GPUMali400MP, compatible con OpenGL ES1.1/2.0
Memoria1GB RAM (el módulo central incluye RAM y PMU)
SistemaVoltaje de funcionamiento: 3.6-5V
80 pines en el módulo
PMU en el módulo
PeriféricoRedesWiFi b/g/n;
BLE 4.0;
Ethernet
USB2 x USB Host; 1 x USB OTG; 1 x alimentación USB
Grove1 x zócalo Grove (I2C y Digital)
VídeoDecodificación de vídeo 4K VP9 y 4K 10bits H265/H264, hasta 60fps
AudioFrecuencia de muestreo máxima: 96Khz;
Matriz de 6 micrófonos;
Conector de audio de 3.5mm;
Conector de salida de audio JST2.0
Almacenamiento4GB eMMC a bordo;
Ranura SD
Otros12 x LEDs RGB;
8 pines GPIO
Consumo de energíaModo de espera200mA /5V
Funcionando con modo de algoritmo330mA /5V
nota

​ Esta tabla solo enumera la especificación básica de ReSpeakser Core v2.0; para parámetros más profesionales, consulta Acoustic & Electrical Specification of ReSpeaker Core v2.0.

Descripción general del hardware

Interfaz y almacenamiento

  • Conector de auriculares de 3.5mm: Salida de audio. Puedes conectar altavoces activos o auriculares a este puerto.

  • USB OTG: Este puerto USB se utiliza para conectarse a tu ordenador mediante el modo serie de putty (u otras herramientas serie).

  • Entrada de alimentación USB: Este puerto se utiliza para proporcionar alimentación a Respeaker Core v2.0.

  • **Conector de altavoz: Salida de audio para altavoces pasivos. Zócalo Jst 2.0.

  • UART: También puedes conectar el ReSpeaker Core v2.0 con tu ordenador a través de este puerto UART.

  • 8 pines GPIO: Interfaz de entrada/salida de propósito general para aplicaciones ampliadas.

  • Ranura para tarjeta SD: Para insertar una tarjeta micro-SD.

  • eMMC: Embedded Multi Media Card. Puedes grabar la imagen en la eMMC, de modo que el ReSpeaker Core v2.0 pueda arrancar desde la eMMC.

  • USB Host: Puedes conectar dispositivos USB, como ratón USB, teclado USB y memoria USB al ReSpeaker Core v2.0 a través de estos dos USB hosts.

  • Ethernet: Acceso a Internet.

  • HDMI: Salida de vídeo.

  • Antena Bluetooth y WIFI: La antena integrada es para WIFI y Bluetooth. También proporcionamos una interfaz para antena de 2.4G o antena PCB.

  • Zócalo Grove: Zócalo Grove para digital o I2C.

Diagrama del sistema

Puedes hacer clic para ver la imagen original

Distribución de pines

Definición del índice de pines para cabeceras

Cabecera de 8 pinesZócalo Grove

Pines GPIO

MRAAHEADER PIN INDEXSYSFS PINRK3229 PIN
001091GPIO2_D3
11--VCC
221043GPIO1_B3
331127GPIO3_D7
441017GPIO0_C1
551067GPIO2_A3
66--GND
771013GPIO0_B5
881085GPIO2_C5
991084GPIO2_C4
1010--VCC
1111--GND

Pines I2C

MRAAHEADER PIN INDEXSYSFS PINRK3229 PIN
08--I2C2_SCL
09--I2C2_SDA

Dimensiones

Aplicaciones

  • Altavoz inteligente
  • Sistemas inteligentes de asistente de voz
  • Grabadoras de voz
  • Sistema de conferencias de voz
  • Equipos de comunicación para reuniones
  • Robot de interacción por voz
  • Asistente de voz para automóvil
  • Otros escenarios que necesitan comandos de voz

Primeros pasos

Preparación

Esta parte te explicará:

  • Cómo instalar la imagen
  • Cómo acceder a la consola serie
  • Cómo configurar WiFi
  • Cómo conectarse por SSH y VNC
  • Cómo configurar Bluetooth
  • Prueba de grabación y reproducción de audio

Requisitos previos

  • ReSpeaker Core V2.0
  • Red Wi-Fi
  • Tarjeta SD de 4GB (o más) y lector de tarjetas SD
  • PC o Mac
  • USB To Uart Adapter (Opcional)
  • Adaptador Micro USB de 5V 1A para alimentación (Opcional)
  • Dos cables Micro-USB
precaución

Por favor, conecta el cable USB suavemente, de lo contrario podrías dañar la interfaz. Utiliza el cable USB con 4 hilos internos; el cable de 2 hilos no puede transferir datos. Si no estás seguro del cable que tienes, puedes hacer clic aquí para comprarlo

Instalación de la imagen

De forma similar a la Raspberry Pi, necesitas instalar la imagen de ReSpeaker Core v2.0 desde una tarjeta SD para ponerlo en funcionamiento. Ofrecemos dos formas de arrancar el ReSpeaker Core v2.0. Puedes arrancar desde la tarjeta SD o arrancar desde la eMMC.

A. Arrancar desde la tarjeta SD

  • Paso 1. Haz clic en mirror-azure para descargar nuestros últimos archivos de imagen zip: respeaker-debian-9-lxqt-sd-********-4gb.img.xz o respeaker-debian-9-iot-sd-********-4gb.img.xz.
SecciónDescripción
iot / lxqtLa versión lxqt viene con una GUI de escritorio mientras que la versión iot no. Si eres nuevo en ReSpeaker Core v2.0, se recomienda la versión lxqt.
flasher / sdLa versión flasher se utiliza para grabar la eMMC integrada, después de grabarla puedes retirar la tarjeta SD. La versión sd requerirá que la tarjeta SD permanezca insertada todo el tiempo.

Para desarrollo, recomendamos la versión lxqt + sd. Así que descarga el archivo respeaker-debian-9-lxqt-sd-[date]-4gb.img.xz.

precaución

Este wiki se basa en la versión de imagen respeaker-debian-9-lxqt-sd-20180610-4gb.img.xz.

  • Paso 2. Inserta la tarjeta SD en tu PC o MAC con un lector de tarjetas SD. Necesitas una tarjeta SD con una capacidad de más de 4G.

  • Paso 3. Haz clic para descargar Etcher aquí, y graba el archivo *.img.xz directamente en tu tarjeta SD con Etcher. O descomprime el archivo *.img.xz a un archivo *.img, luego grábalo en la tarjeta SD con otras herramientas de escritura de imágenes.



Haz clic en el icono de Más para añadir la imagen que acabas de descargar, el software seleccionará automáticamente la tarjeta SD que conectaste. Luego haz clic en Flash! para empezar a grabar. Tardará unos 10 minutos en terminar.

  • Paso 4. Después de escribir la imagen en la tarjeta SD, inserta la tarjeta SD en tu ReSpeaker Core v2.0. Alimenta la placa usando el puerto micro USB PWR_IN y NO retires la tarjeta SD después de encender. ReSpeaker Core v2.0 arrancará desde la tarjeta SD, y podrás ver los LED USER1 y USER2 encendidos. USER1 suele estar configurado al arrancar para parpadear con un patrón de latido y USER2 suele estar configurado al arrancar para encenderse durante los accesos a la tarjeta SD. Ahora, deberías ir a la siguiente parte: Consola serie.

B. Arrancar desde la eMMC

No hay firmware en la EMMC cuando sale de fábrica, puedes grabar los archivos de imagen de ReSpeaker en la eMMC de ReSpeaker (memoria flash integrada) usando tu PC o Mac. Entonces el ReSpeaker arrancará desde su eMMC (memoria flash integrada) y no desde la tarjeta SD.

  • Paso 1. Descarga nuestro último archivo de imagen zip respeaker-debian-9-iot-flasher-********-4gb.img.xz o respeaker-debian-9-lxqt-flasher-********-4gb.img.xz en mirror-azure. La versión lxqt viene con escritorio Debian y la versión iot no. Y la versión flasher es para grabar la eMMC, y la versión sd es para arrancar desde la tarjeta SD.

  • Paso 2. Graba el archivo *.img.xz directamente en la tarjeta SD con Etcher, o descomprime el archivo *.img.xz a un archivo *.img, luego grábalo en la tarjeta SD con otras herramientas de escritura de imágenes.

  • Paso 3. Después de grabar la tarjeta SD, inserta la tarjeta SD en el ReSpeaker Core v2.0. Alimenta la placa usando el puerto micro USB PWR_IN y no retires la tarjeta SD mientras se está grabando.

Durante el proceso de grabación, verás los LED USER1 y USER2 parpadear alternativamente. Tardará unos 10 minutos en completarse. Cuando los LED se apaguen, puedes apagar la placa, sacar la tarjeta SD y encender de nuevo. Si los LED se encienden, significa que la imagen se grabó correctamente en la eMMC.

También puedes comprobar la versión de la imagen con este comando: cat /etc/issue.net.

Consola serie

Ahora que tu ReSpeaker Core v2.0 puede arrancar, quizá quieras acceder al sistema Linux mediante una consola, para configurar el WiFi, etc. Tienes dos formas de obtener la consola:

  • A. El puerto USB OTG - Esto requiere un sistema Linux en ejecución en la placa

  • B. El puerto UART - Esta es la forma difícil de acceder a la consola, puede usarse para depurar problemas de bajo nivel

A. Conexión mediante OTG

  • Paso 1. Busca un cable micro USB, y asegúrate de que es un cable de datos (no solo un cable de alimentación), conecta el extremo micro USB al puerto micro USB OTG del ReSpeaker (hay dos puertos micro USB en la placa ReSpeaker, que están etiquetados con diferentes serigrafías, uno es PWR_IN y el otro es OTG), luego conecta el otro extremo de este cable a tu ordenador.

  • Paso 2. Comprueba en tu ordenador si el puerto serie ha aparecido:

    • Windows: comprueba el administrador de dispositivos, debería haber nuevos dispositivos serie llamados COMx donde x es un número creciente. Si usas Windows XP/7/8, quizá necesites instalar windows CDC drivers.
    • Linux: ls /dev/ttyACM*, deberías obtener /dev/ttyACMx donde x variará dependiendo de qué puerto USB usaste.
    • Mac: ls /dev/cu.usb*, deberías obtener /dev/cu.usbmodem14xx donde xx variará dependiendo de qué puerto USB usaste.
  • Paso 3. Usa tu herramienta de depuración serie favorita para conectar el puerto serie, la configuración serie es: 115200 baudios, 8Bits, Paridad None, Bits de parada 1, Control de flujo None. Por ejemplo:

    • Windows: usa PUTTY, selecciona el protocolo Serial, rellena el puerto COM correcto de ReSpeaker Core v2.0, 115200 baudios, 8Bits, Paridad None, Bits de parada 1, Control de flujo None.
    • Linux: Dependiendo de tu Adaptador USB a TTL, podría ser screen /dev/ttyACM0(,1, and so on) 115200 o screen /dev/ttyUSB0(,1, and so on) 115200
    • Mac: Dependiendo de tu Adaptador USB a TTL, podría ser screen /dev/cu.usbserial1412(,1422, and so on) 115200 o screen /dev/cu.usbmodem1412(,1422, and so on) 115200
  • Paso 4. El nombre de usuario predeterminado es respeaker, y la contraseña también es respeaker.

B. Conexión mediante el puerto UART

En esta sección te guiaremos sobre cómo establecer una conexión desde tu ordenador a tu ReSpeaker usando tu adaptador USB a TTL que se conectará al puerto Uart del ReSpeaker (el puerto Uart se encuentra justo a la izquierda del conector del altavoz del ReSpeaker).

  • Paso 1. Conecta el puerto Uart y tu PC/Mac con un Adaptador USB a TTL. Ten en cuenta que el voltaje de RX/TX es de 3,3 V. Si no tienes un Adaptador USB a TTL, puedes hacer clic aquí para conseguir uno.

  • Paso 2. Usa las siguientes herramientas de depuración serie con 115200 baudios:

    • Windows: usa PUTTY, selecciona el protocolo Serial, rellena el puerto COM correcto de ReSpeaker Core v2.0, 115200 baudios, 8Bits, Paridad None, Bits de parada 1, Control de flujo None.
    • Linux: Dependiendo de tu Adaptador USB a TTL, podría ser screen /dev/ttyACM0(,1, and so on) 115200 o screen /dev/ttyUSB0(,1, and so on) 115200.
    • Mac: Dependiendo de tu Adaptador USB a TTL, podría ser screen /dev/cu.usbserial1412(,1422, and so on) 115200 o screen /dev/cu.usbmodem1412(,1422, and so on) 115200.
  • Paso 3. El nombre de usuario de inicio de sesión es respeaker, y la contraseña también es respeaker.

  • Paso 4. Si no tienes un Adaptador USB a TTL, también puedes usar un Arduino. Si usas un Arduino, conecta un extremo de un cable puente al pin RESET del Arduino y el otro extremo al pin GND del Arduino. Esto omitirá el MCU ATMEGA de tu Arduino y convertirá tu Arduino en un adaptador USB a TTL, consulta el tutorial en vídeo aquí. Ahora conecta el pin GND del Arduino al pin GND del puerto Uart del Respeaker. Conecta el pin Rx del Arduino al pin Rx del puerto Uart del Respeaker. Conecta el pin Tx del Arduino al pin Tx del puerto Uart del Respeaker. Y por último, conecta el Arduino a tu PC/Mac mediante el cable USB del Arduino. Ahora comprueba que tu Mac o PC Linux detecta tu Arduino escribiendo este comando:

ls /dev/cu.usb* (Mac)
ls /dev/ttyACM* (Linux)

Deberías obtener algo como:

/dev/cu.usbmodem14XX where XX will vary depending on which USB port you used (on Mac)
/dev/ttyACMX where X will vary depending on which USB port you used (on Linux)

Ahora sigue el paso 2 anterior para conectarte a tu Respeaker a través de esta conexión serie. Y ten en cuenta que este es un procedimiento de una sola vez, ya que a continuación configurarás tu Respeaker para la conectividad Wi‑Fi y luego te conectarás mediante ssh o VNC en adelante.

Configuración de red

A. Configuración de Wi‑Fi

Configura la red de tu ReSpeaker con la herramienta Network Manager, nmtui. nmtui ya estará instalado en la imagen de ReSpeaker.

sudo nmtui              # respeaker user needs sudo

Entonces verás una página de configuración como esta, selecciona Activate a connection y pulsa la tecla Enter.

Selecciona tu Wi‑Fi para ReSpeaker v2.0, pulsa la tecla Enter y escribe la contraseña de tu Wi‑Fi y pulsa la tecla Enter de nuevo. Cuando veas una marca *, significa que tu ReSpeaker se ha conectado correctamente a tu red Wi‑Fi. Pulsa la tecla Esc dos veces para salir de la herramienta de configuración del administrador de red.

Ahora encuentra la dirección IP de tu ReSpeaker usando el siguiente comando.

ip address

En el siguiente ejemplo, podemos ver que la dirección IP de este ReSpeaker es 192.168.7.108

root@v2:/home/respeaker# ip address

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1
link/sit 0.0.0.0 brd 0.0.0.0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether e0:76:d0:37:38:6d brd ff:ff:ff:ff:ff:ff
inet **192.168.7.108**/24 brd 192.168.7.255 scope global dynamic wlan0
valid_lft 604332sec preferred_lft 604332sec
inet6 2601:647:4680:ebf0:ec0a:5965:e710:f329/64 scope global noprefixroute dynamic
valid_lft 345598sec preferred_lft 345598sec
inet6 fe80::64de:cac8:65ef:aac8/64 scope link
valid_lft forever preferred_lft forever

Además de la interfaz gráfica de usuario de Network Manager, Network Manager también tiene una herramienta de línea de comandos. Si te estás conectando a una red Wi‑Fi oculta, necesitarás usar esta herramienta de línea de comandos:

nmcli c add type wifi con-name mywifi ifname wlan0 ssid your_wifi_ssid
nmcli con modify mywifi wifi-sec.key-mgmt wpa-psk
nmcli con modify mywifi wifi-sec.psk your_wifi_password
nmcli con up mywifi

B. Conectividad Ethernet

Puedes conectarte a una red usando un cable Ethernet. Solo conecta el cable Ethernet que tenga conexión a Internet y será suficiente.

Conectar a SSH y VNC

A. SSH

El servidor SSH se inicia automáticamente en ReSpeaker v2.0. Para usuarios de Windows, hay clientes SSH de terceros disponibles. Para usuarios de Linux/Mac, el cliente SSH viene incorporado.

  • Windows: Usa PUTTY, selecciona el protocolo SSH, introduce la dirección IP correcta y haz clic en open. Inicia sesión como usuario respeaker y la contraseña también es respeaker.

  • Linux/Mac:

ssh [email protected].***.***
// password: respeaker
nota

Ten en cuenta que si experimentas un rendimiento lento usando SSH, cambia a una red WiFi menos congestionada.

B. VNC

Para obtener la autorización de Alexa, necesitas usar VNC Viewer. El sistema tiene un servidor VNC integrado. El servidor VNC lanzará el escritorio GUI lxqt, que es un entorno de escritorio Qt ligero. El servicio VNC también se inicia automáticamente. Usa VNC Viewer o VNC Viewer for Google Chrome para conectarte al escritorio de ReSpeaker Core v2.0.

Para usar VNC, conecta tu PC/Mac y ReSpeaker v2.0 a la misma red Wi‑Fi. Luego abre VNC Viewer, escribe 192.168.xxx.xxx en la barra de direcciones. 192.168.xxx.xxx es la dirección IP de la placa, puedes usar el comando ifconfig para comprobarla. Si aparece Unencrypted connection, haz clic en Continue para continuar. La contraseña es respeaker.

nota

Ten en cuenta que la conexión VNC depende de una buena calidad de red, prepárate mentalmente porque probablemente obtendrás una tasa de refresco muy baja en la pantalla VNC.

Conectar a altavoz o auriculares

La placa usa el códec integrado del SOC para reproducir audio. Tanto el puerto de altavoz JST como el puerto de auriculares están impulsados por su propio amplificador, y ambos amplificadores están conectados al mismo códec del SOC. El controlador de tarjeta de sonido que SEEED implementó controla tanto el dispositivo de captura como el de reproducción. Así que no hay una tarjeta de sonido de captura o reproducción independiente en la lista de dispositivos ALSA. Todos se llaman seeed-8mic-voicecard.

La forma más sencilla de escuchar sonido desde la placa es conectar unos auriculares. Si prefieres un altavoz potente, la placa puede proporcionar hasta 8W de capacidad de salida.

Configuración de Bluetooth

Activar el bluetooth

Por favor introduce los siguientes comandos para actualizar y activar el Bluetooth de ReSpeaker Core v2.0:

sudo apt update
sudo apt-mark hold firefox
sudo apt upgrade
nota

Si la actualización falla, cambia a otra red WiFi con buenas condiciones de red y realiza la actualización de nuevo.

Luego activa el bluetooth con el comando:

sudo systemctl enable bt-auto-connect.service
sudo reboot -f

Usar el ReSpeaker Core v2.0 como dispositivo esclavo de altavoz Bluetooth

Cuando el ReSpeaker Core v2.0 se reinicie, abre el bluetooth de tu teléfono u ordenador, encontrarás un dispositivo bluetooth llamado ReSpeaker-xxxx. Elígelo y conéctate a él. Conecta un altavoz o auriculares al ReSpeaker Core v2.0 y luego reproduce música y disfruta de tu altavoz bluetooth.

Usar el ReSpeaker Core v2.0 como dispositivo maestro reproductor Bluetooth

Además de funcionar solo como un altavoz bluetooth, también puede servir como un reproductor bluetooth para hackear tus auriculares bluetooth o altavoz bluetooth. Bien, vamos a hackear.

  • Paso 1. Escribe bluetoothctl para abrir la shell de bluetooth.

  • Paso 2. Escribe scan on para escanear tu dispositivo bluetooth.

  • Paso 3. Cuando el ReSpeaker Core v2.0 encuentre tu dispositivo objetivo, escribe scan off. Para este wiki, digamos que los auriculares MDR-1000X son nuestro objetivo, marca el ID del dispositivo Device 04:5D:4B:81:35:84.

respeaker@v2:~$ bluetoothctl
[NEW] Controller 43:43:A0:12:1F:AC ReSpeaker-1FAC [default]
Agent registered
[bluetooth]# scan on
Discovery started
[CHG] Controller 43:43:A0:12:1F:AC Discovering: yes
[NEW] Device C8:69:CD:BB:9B:B3 C8-69-CD-BB-9B-B3
[NEW] Device E1:D9:68:0E:51:C0 MTKBTDEVICE
[NEW] Device 62:15:9C:3F:40:AA 62-15-9C-3F-40-AA
[NEW] Device 56:AF:DE:C0:34:25 56-AF-DE-C0-34-25
[NEW] Device B8:86:87:99:FB:10 SOLARRAIN
[CHG] Device B8:86:87:99:FB:10 Trusted: yes
[NEW] Device 04:5D:4B:81:35:84 MDR-1000X
[CHG] Device 04:5D:4B:81:35:84 Trusted: yes
[CHG] Device 4C:04:59:38:D3:25 ManufacturerData Key: 0x004c
[CHG] Device 4C:04:59:38:D3:25 ManufacturerData Value:
10 05 0b 10 99 18 0a .......
[bluetooth]# scan off
[CHG] Device 04:5D:4B:81:35:84 RSSI is nil
[CHG] Device B8:86:87:99:FB:10 TxPower is nil
[CHG] Device B8:86:87:99:FB:10 RSSI is nil
[CHG] Device 4C:04:59:38:D3:25 RSSI is nil
[CHG] Device 58:44:98:93:35:24 RSSI is nil
Discovery stopped
[bluetooth]#

  • Paso 4. Ahora usa el comando pair + device ID para emparejar el dispositivo bluetooth con el ReSpeaker Core v2.0.

  • Paso 5. Cuando veas el mensaje Pairing successful, escribe connect + device ID.

[bluetooth]# pair 04:5D:4B:81:35:84
Attempting to pair with 04:5D:4B:81:35:84
[CHG] Device 04:5D:4B:81:35:84 Connected: yes
[CHG] Device 04:5D:4B:81:35:84 UUIDs: 00001108-0000-1000-8000-00805f9b34fb
[CHG] Device 04:5D:4B:81:35:84 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device 04:5D:4B:81:35:84 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Device 04:5D:4B:81:35:84 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device 04:5D:4B:81:35:84 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[CHG] Device 04:5D:4B:81:35:84 ServicesResolved: yes
[CHG] Device 04:5D:4B:81:35:84 Paired: yes
Pairing successful
[CHG] Controller 43:43:A0:12:1F:AC Discoverable: no
[CHG] Device 04:5D:4B:81:35:84 ServicesResolved: no
[CHG] Device 04:5D:4B:81:35:84 Connected: no
[CHG] Controller 43:43:A0:12:1F:AC Discoverable: yes
[bluetooth]# connect 04:5D:4B:81:35:84
Attempting to connect to 04:5D:4B:81:35:84
[CHG] Device 04:5D:4B:81:35:84 Connected: yes
Connection successful
[CHG] Device 04:5D:4B:81:35:84 ServicesResolved: yes
[CHG] Controller 43:43:A0:12:1F:AC Discoverable: no
[MDR-1000X]#

Si aparece Connection successful, ¡configuración completada!

Puedes escribir exit o quit para salir de la shell, luego usa los siguientes comandos para probar tu dispositivo bluetooth.

arecord bluetoothtest.wav
aplay bluetoothtest.wav

Grabar y reproducir

1. Probar mediante ALSA

Como esta es una documentación técnica de la fase de desarrollo, el índice del dispositivo de sonido puede cambiar entre versiones. Así que primero comprueba el índice correcto del dispositivo con los siguientes comandos:

respeaker@v2:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: seeed8micvoicec [seeed-8mic-voicecard], device 0: 100b0000.i2s1-ac108-pcm0 ac108-pcm0-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0

respeaker@v2:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: seeed8micvoicec [seeed-8mic-voicecard], device 1: 100b0000.i2s1-rk3228-hifi rk3228-hifi-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0

Encuentra la tarjeta de sonido cuyo nombre tenga el prefijo seeed. En el ejemplo anterior, el dispositivo de captura es hw:0,0, lo que significa tarjeta 0/dispositivo 0. El dispositivo de reproducción es hw:0,1, lo que significa tarjeta 0/dispositivo 1. Luego prueba la grabación y reproducción de sonido con los siguientes comandos:

# record & playback 2 channels audio
arecord -Dhw:0,0 -f S16_LE -r 16000 -c 2 hello.wav
aplay -Dhw:0,1 -r 16000 -c 2 hello.wav

# If you want to output the sound by the bluetooth device, you need to use the command below to play
aplay -r 16000 -c 2 hello.wav

# record 8 channels audio
# there are 6 microphones on board, and ac108 compose the 2 remaining channels.
arecord -Dhw:0,0 -f S16_LE -r 16000 -c 8 hello_8ch.wav

Además, puedes grabar y reproducir al mismo tiempo.

arecord | aplay

2. Probar mediante PulseAudio

Primero comprueba si PulseAudio se está ejecutando:

respeaker@v2:~$ ps aux|grep pulse|grep -v grep
respeak+ 1109 0.0 0.7 363272 7932 ? S<l 01:01 0:00 /usr/bin/pulseaudio --start --log-target=syslog

Si no lo está, consulta la documentación de PulseAudio para habilitar el auto-spawn de PulseAudio. Luego prueba mediante:

parecord --channels=8 --rate=16000 --format=s16le hello2.wav
paplay hello2.wav

Además, el dispositivo ALSA predeterminado ahora se conecta a PulseAudio, por lo que usar los siguientes comandos también reproduce/graba sonido mediante PulseAudio:

arecord -v -f cd hello3.wav
aplay hello3.wav

Hasta ahora hemos aprendido las operaciones básicas de la placa ReSpeaker Core v2.0, sigamos adelante. Podemos usar ReSpeaker Core v2.0 para construir nuestro propio dispositivo AVS (Alexa Voice Service) o dispositivo Dueros (asistente de voz de Baidu).

Por favor sigue el ReSpeaker Core V2 & Wio Link Tutorial para usar el ReSpeaker Core V2 para controlar Wio Link a través de IFTTT.

Jugar con GPIO

Esta parte presentará cómo usar MRAA y UPM para controlar GPIO y el conector Grove en Respeaker Core v2.0.

  • Paso 1. Actualizar las bibliotecas MRAA y UPM a la última versión

Primero, necesitamos instalar los paquetes más recientes de MRAA y UPM.

sudo apt install  python-mraa python-upm libmraa1 libupm1 mraa-tools
  • Paso 2. Comprobar la información de tu plataforma
#only have bus 0 and id=03(/dev/i2c-3), 0 is the i2c number for mraa and upm
respeaker@v2:~$ mraa-i2c list
Bus 0: id=03 type=linux

#mraa gpio numbers and system gpio numbers and it's pinmux
respeaker@v2:~$ mraa-gpio list
00 GPIO91: GPIO
01 VCC:
02 GPIO43: GPIO
03 GPIO127: GPIO
04 GPIO17: GPIO
05 GPIO67: GPIO
06 GND:
07 GPIO13: GPIO
08 I2C2_SCL: I2C
09 I2C2_SDA: I2C
10 VCC:
11 GND:
12 GPIO66: GPIO

Para la descripción de la definición de PIN de la placa ReSpeaker Core v2.0, consulta Pin Out

  • Paso 3. Demos con MRAA o UPM

A. Usar la biblioteca MRAA

Controlar GPIO directamente

Materiales

ReSpeaker Core v2.0Grove - Buzzer
enter image description hereenter image description here
Obtener Uno AhoraObtener Uno Ahora

Conecta el pin SIG del sensor Grove PIR al pin de cabecera 0 de la ReSpeaker Core v2.0 con un jumper. No olvides conectar VCC y GND al mismo tiempo. Luego escribe el código de abajo en tu consola

respeaker@v2:~$ python
Python 2.7.13 (default, Jan 19 2017, 14:48:08)
[GCC 6.3.0 20170118] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mraa
>>> x = mraa.Gpio(0)
>>> x.dir(mraa.DIR_OUT)
0
>>> x.write(0)
0
>>> x.write(1)
0
>>>

Cuando escribas x.write(1), oirás un pitido del zumbador.

Ejemplo de sensor de movimiento PIR

Materiales

ReSpeaker Core v2.0Grove - PIR Motion Sensor
enter image description hereenter image description here
Obtener Uno AhoraObtener Uno Ahora

En este ejemplo, vamos a escuchar el disparo del sensor Grove PIR, en código Python. Conecta el pin D1 del sensor Grove PIR al pin de cabecera 0 de la ReSpeaker Core v2.0 con un jumper. No olvides conectar VCC y GND al mismo tiempo. Luego copia el código de abajo en un archivo nuevo y guárdalo como un archivo de Python, con el nombre mraa_pir.py. Copia este archivo en tu ReSpeaker Core v2.0.

import mraa

def on_trigger(gpio):
print("pin " + repr(gpio.getPin(True)) + " = " + repr(gpio.read()))

pin = 0

try:
x = mraa.Gpio(pin)
print("Starting ISR for pin " + repr(pin))
x.dir(mraa.DIR_IN)
# respeaker v2 only support EDGE_BOTH
x.isr(mraa.EDGE_BOTH, on_trigger, x)
var = raw_input("Press ENTER to stop")
x.isrExit()
except ValueError as e:
print(e)

Luego ejecuta el código con el siguiente comando (asegúrate de que estás ubicado en la carpeta que contiene el mraa_pir.py que acabas de guardar)

sudo python mraa_pir.py

El resultado será algo como

$ sudo python mraa_pir.py
Starting ISR for pin 0
Press ENTER to stoppin 1091 = 0
pin 1091 = 0
pin 1091 = 1
...

B. Usar la biblioteca UPM

El proyecto UPM implementa controladores de sensores basados en la biblioteca MRAA, por lo que ya no necesitamos preocuparnos por la programación GPIO o por cuál es la dirección I2C de un sensor, toda la información y la lógica predeterminadas para un sensor en particular se han encapsulado en una biblioteca UPM. UPM ya es compatible con un montón de sensores. UPM modules. Pero ten en cuenta que no confirmamos que todos los sensores funcionen en la ReSpeaker Core v2.0.

Ejemplo para Grove Digital Light Sensor

Materiales

ReSpeaker Core v2Grove - Digital Light Sensor
enter image description hereenter image description here
Obtener Uno AhoraObtener Uno Ahora

Este es un ejemplo para el Grove Digital Light Sensor, que se ha copiado del repositorio de GitHub de UPM.

Conecta el PIR Motion Sensor a tu Respeaker Core v2.0 mediante el conector Grove. Luego copia el código de abajo en un archivo nuevo y guárdalo como un archivo de Python, con el nombre tsl2561.py. Copia este archivo en tu ReSpeaker Core v2.0.

#!/usr/bin/env python
# Author: Zion Orent <[email protected]>
# Copyright (c) 2015 Intel Corporation.
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

from __future__ import print_function
import time, sys, signal, atexit
from upm import pyupm_tsl2561 as upmTsl2561

def main():
# Instantiate a digital light sensor TSL2561 on I2C
myDigitalLightSensor = upmTsl2561.TSL2561()

## Exit handlers ##
# This function stops python from printing a stacktrace when you hit control-C
def SIGINTHandler(signum, frame):
raise SystemExit

# This function lets you run code on exit, including functions from myDigitalLightSensor
def exitHandler():
print("Exiting")
sys.exit(0)

# Register exit handlers
atexit.register(exitHandler)
signal.signal(signal.SIGINT, SIGINTHandler)

while(1):
print("Light value is " + str(myDigitalLightSensor.getLux()))
time.sleep(1)
if __name__ == '__main__':
main()

El resultado debería ser algo como:

respeaker@v2:~$ python tsl2561.py       
Light value is 0
Light value is 38
Light value is 20
Light value is 54
Light value is 13
Light value is 44
Light value is 31

Preguntas frecuentes

P1: ¿Cómo grabar y reproducir con Audacity?

R1: La versión lxqt tiene Audacity preinstalado. Haz clic en el Bird button en la esquina inferior izquierda y lo encontrarás en Sound & Video -> Audacity.

Cuando abras Audacity, haz clic en la pequeña flecha negra para elegir el dispositivo de grabación y reproducción y configúralo como en la imagen de abajo.

Debes elegir Seeed-8mic-voicecard tanto para el dispositivo de grabación como para el de reproducción. Y puedes elegir 1/2/4/6/8 canales para grabar y reproducir. Como puedes ver, hay 8 canales en la imagen, sin embargo no hay datos en los canales 7 y 8. Esto se debe a que estos dos canales son los canales de reproducción. El canal 7 es para los auriculares de 3,5 mm y el canal 8 para el altavoz JST2.0 (si no tienes un cable JST, también puedes usar jumpers). Digamos que usamos el altavoz JST:

  • Paso 1. Configura como en la imagen de arriba, haz clic en el botón Record y graba un periodo de audio.

  • Paso 2. Haz clic en el botón Stop, entonces verás que los canales 7 y 8 están vacíos.

  • Paso 3. Haz clic de nuevo en el botón Record, esta vez verás que el canal 8 ha cambiado.

P2: ¿Cómo acceder al AP de ReSpeaker Core v2.0?

R2: Puedes usar un cable de dos hilos para alimentar la ReSpeaker Core v2.0. Cuando el sistema está en ejecución, la Respeaker Core v2.0 puede actuar como un AP. Puedes usar tu ordenador para acceder a este AP. Como muestra la imagen. Puedes seguir los pasos para configurar el WiFi de ReSpeaker Core v2.0.

  • Paso 1. Escribe el siguiente comando para activar el AP de ReSpeaker Core v2.0.
sudo systemctl enable re-wifi.service
sudo reboot -f

  • Paso 2. Accede al AP de ReSpeaker Core v2.0. Después de que la ReSpeaker Core v2.0 se reinicie, usa tu teléfono u ordenador para buscar la WiFi. Encontrarás que el nombre del AP es algo como ReSpeaker_xxxx, el usuario es respeaker y la contraseña también es respeaker.

  • Paso 3. Ahora puedes usar Putty, en modo SSH, para entrar en la consola serie. La IP de la Wlan1 es 192.168.42.1, necesitas usar esta IP para establecer la conexión. Y el nombre de usuario de ReSpeaker Core v2.0 es respeaker, la contraseña es respeaker.

P3: ¿Cómo ajustar el volumen?

R3: Puedes usar Alsamixer para ajustar el volumen de reproducción y la sensibilidad de captura.

  • Paso 1. Escribe el siguiente código para abrir Alsamixer:
alsamixer
  • Paso 2. Pulsa F6 en tu teclado para elegir la tarjeta Seeed-8mic-voicec.
  • Paso 3. Verás la interfaz como en la imagen de abajo. Puedes elegir la voz de reproducción o el canal de grabación pulsando la tecla Right o Left. Y puedes ajustar el valor pulsando la tecla Up o Down.

P4: ¿Cómo usar el botón de usuario? R4: Como puedes ver, hay un botón de usuario en la parte posterior de la ReSpeaker Core v2.0. Aquí proporcionamos una demo en Python para mostrar cómo usarlo.

  • Paso 1. Escribe el siguiente comando:
sudo pip install evdev
  • Paso 2. Copia el código de abajo y guárdalo como un archivo de Python, llamémoslo usrer_button.py.
from evdev import InputDevice,categorize,ecodes

key = InputDevice("/dev/input/event0")
for event in key.read_loop():
if event.type == ecodes.EV_KEY:
print(categorize(event))
  • Paso 3. Toque el siguiente comando para ejecutar esta demostración.
sudo python usrer_button.py

Entonces verá que el resultado es algo como esto:

P5: ¿El ordenador no puede reconocer la ReSpeaker Core v2.0, problema de controlador?

R5: Esto puede suceder cuando conecta la ReSpeaker Core v2.0 con su ordenador a través de OTG o UART. Esto se debe a que el controlador CDC Serial tiene un conflicto con otro controlador OTG. Desinstale el controlador en conflicto y vuelva a conectar la ReSpeaker Core v2.0.

P6: ¿Qué pasa si quiero usar la antena externa?

R6: La ReSpeaker Core v2.0 usa AP6212 para proporcionar tanto WiFi como Bluetooth, comparten la misma antena. En lugar de la antena integrada, puede usar una antena externa. Para hacerlo, debe quitar una resistencia y soldarla en las nuevas almohadillas, como se muestra a continuación:

  • Primero debe quitar la resistencia en el cuadro naranja.
  • Luego, por favor, sóldela en el cuadro verde.

P7: ¿Cómo crear mi propio firmware flasher? Así puedo grabar mi propio firmware en el resto de ReSpeaker Core v2.0.

R7: por favor ejecute el generador de imágenes en un sistema ARM debian con RAM>2G.

Aquí están las instrucciones detalladas.

  • Paso 1. git clone image_builder repository
  • Paso 2. modifique la ruta de carga @ /publish/respeaker.io_stable.sh
  • Paso 3. sudo ./publish/respeaker.io_stable.sh

P8: Cuando conecto la tarjeta SD grabada a la ReSpeaker Core v2.0, no hay puerto COM en el administrador de dispositivos y no hay visualización en la interfaz HDMI.

R8: Utilice el adaptador USb a TTL para conectarse directamente a UART, verá los siguientes errores.

[    2.119560] mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900
[ 2.128134] mmcblk0: command error, retrying timeout

La causa raíz es que las tarjetas SD antiguas no funcionan con el sistema linux. Cambie a tarjetas SD recientes, que admitan todos los comandos eMMC, como ScanDisk Ultra.

Recursos

Proyectos

ReSpeaker Core v2.0 - Demostración de Alexa

En esta demostración, usamos ReSpeaker Core v2.0 para hablar con Alexa. Puede hacer cualquier pregunta y hablar con ReSpeaker Core v2.0 como con un amigo. Además, este producto también puede funcionar con Google Assistant y Bing. La palabra de activación es Snowboy y, por supuesto, puede crear su propia palabra de activación.


ReSpeaker Core v2.0 - Prueba de distancia de activación

En esta demostración, hemos probado la distancia de activación de ReSpeaker Core v2.0. Usamos Alexa con la palabra de activación Snowboy. Como puede ver en la pantalla, el ''Alexa:status code 204" significa que se activó Alexa correctamente.

¡Con algoritmos avanzados y seis micrófonos de alta calidad, el resultado es increíble! ¡Podemos activar la ReSpeaker Core v2.0 a 16 metros (52Ft) de distancia!

ReSpeaker Core v2.0 - Sistema de recepción por voz

Este sistema inteligente consta de un asistente de voz (ReSpeaker Core v2.0) y un asistente telefónico (Linklt One). Como puede ver, cuando un visitante le dice al asistente de voz el nombre de la persona que está buscando, el pequeño asistente inteligente reconocerá y buscará a la persona en su base de datos. Si hay un nombre coincidente, nuestro asistente lo llamará. Y cuando la persona confirma la identificación del visitante, solo necesita enviar el mensaje "Open" para abrir la puerta y que el visitante pueda entrar.

¿Qué le parece tener un sistema de recepción por voz frente a su casa o lugar de trabajo? ¿No es genial?


ReSpeaker Core v2.0 - Sistema simple de recepción por voz

La función básica del servicio de recepción es recibir a los visitantes, hacer que se sientan bienvenidos y evitar el acceso no autorizado a la oficina. Aprovechamos las funciones de ReSpeaker Core v2.0 para diseñar un Servicio de Recepción por Voz. El sistema puede interactuar con el visitante y dejar un mensaje a la persona que va a ser visitada. En el futuro, podemos diseñar una pequeña base de datos de la lista de teléfonos de los empleados de la oficina; el empleado puede dejar un mensaje en el sistema, y el sistema utiliza las funciones GPIO de la ReSpeaker Core v2.0 para abrir las puertas para el visitante. Usamos los servicios Microsoft Bing Speech to text y las APIs de mensajes Twilio/Tencent para crear los scripts de python. Para más información, consulte ReSpeaker Voice Reception System.

Soporte técnico y debate sobre el producto

Gracias por elegir nuestros productos. Estamos aquí para ofrecerle diferentes tipos de soporte para garantizar que su experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.

Loading Comments...