Paso 2: Conseguir el Pi listo para Alexa.
No entraré en todos los detalles del código aquí ya que está bien documentado en GitHub y parece (de todas las notificaciones de reloj consigo) a estar en desarrollo activo así que puede cambiar a menudo. Con él trabaja en mi Pi 3 tuve la idea de construir el AlexaPhone en paralelo con mi proyecto original, a partir de cero con mi Pi 2 (lamentablemente es decir sin RetroPie temporalmente). Que configurarlo una vez que ya he conseguido completar la configuración Pi y código en una sola noche - este es el proceso que he seguido:
Primero configurar un nuevo dispositivo llamado AlexaPhone en el sitio web de Amazon, siguiendo el proceso en sección 3.4 del archivo ReadMe. El único cambio necesario para apoyar el código AlexaPi fue reemplazar https://localhost:3000 sugerido de amazon con https://localhost:5000 en la sección "Configuración de la Web" el perfil de seguridad. Regresaremos a la configuración de la web un poco más adelante por. Con el dispositivo configurado yo me envió todos los códigos por correo electrónico y dirigió mi atención a la Pi.
Comencé por descarga y escritura una instalación nueva de Raspbian una tarjeta de 8 gb SD - también se podría utilizar NOOBS, este trabajado para mí en el Pi 3. Con un cable de red y monitor conectado, hice el siguiente después del primer arranque:
- Ampliar el sistema de ficheros (abrir una sesión de terminal, escriba raspi-config, seleccione la opción 1)
- Todavía en raspi-config configurar el Audio para forzar la salida de 3,5 mm en vez de HDMI (opciones avanzadas - Audio)
- Todavía en raspi-config cambiar el nombre a AlexaPhone - si tienes Pis múltiples de la red inalámbrica, que esto hace más fácil decirles aparte
- En el tipo de terminal lsusb - listado de los dispositivos USB para asegurarse de que el teléfono USB se detectó
- Desde el escritorio, configurar el nivel del micrófono al máximo (Preferencias > configuración de dispositivo de Audio)
- Desde el escritorio, configurar el WiFi haciendo clic en el icono de red en la barra de tareas
Desde aquí reinicia el Pi y luego conectar a la computadora portátil temporalmente a...
- Inicie sesión en el router WiFi y configurar la IP para tener una "dirección IP reservada" - la dirección MAC del adaptador de WiFi de Pi debería ser obvia en la lista de router de dispositivos conectados, especialmente si usted cambió el nombre de host.
- Tome nota de la dirección IP de Pi, inicie sesión en el sitio web de Amazon y añadir dos nuevas líneas a la configuración Web del perfil de seguridad, por lo en permitido orígenes allí es una línea que dice https://localhost:5000 y por debajo de ella una nueva que dice https://YourPiIpAddress:5000. Lo mismo para URL de retorno permitió así es mostrar https://YourPiIpAddress:5000/authresponse y https://localhost:5000/authresponse.
Ahora para configurar el código AlexaPi! He seguido las instrucciones de GitHub que estaban bien escritas, solo agregare mis experiencias personales:
- Asegúrese de que usted está logeado como root (sudo su en el terminal) antes de hacer la broca Git Clone
- Asegúrese de que usted está en la carpeta raíz antes de hacer el poco de Git Clone (cd/root / en terminal)
- Después de la broca de Git Clone necesita editar el archivo setup.sh si desea utilizar la conexión wi-fi - la AlexaPi al directorio (cd AlexaPi) y editar manualmente (sudo nano setup.sh) el archivo - cambiar ip = ifconfig eth0 con ip = ifconfig wlan0
- Ahora puede ejecutar setup.sh, que le solicita todos los códigos de tiempo que se generaron en el sitio web de Amazon al configurar el perfil de dispositivo. Me pareció más fácil copiar y pegar de Claws Mail.
- Para mí la escritura setup.sh dio un error al final, aunque bien podría funcionar bien para usted - todo lo que necesitaba hacer era editar manualmente el archivo creds.py en la carpeta AlexaPi, pegar en los identificadores de seguridad otra vez.
- Desde aquí manualmente funcionó auth_web.py (sudo python auth_web.py), luego abre una ventana del explorador web y escribir https://localhost:5000 - esto trajo para arriba de una página de inicio de sesión de Amazon para completar el proceso
No estoy seguro de que todos 100% de los procesos anteriores eran necesarios, pero eso fue lo que funcionó para mí. Después de reiniciar que el servicio AlexaPi había iniciado automáticamente cuando arranca el Pi, haciéndome saltar cuando dio su saludo de "Hola".
La parte principal del código se llama apropiadamente main.py, y contiene las instrucciones para capturar la consulta audio, subirla a Alexa y recuperar/reproducción de la respuesta, así como definir los pines GPIO para el interruptor e indicador LED. El código está diseñado para un LED de color de tres en tres patas, que fue perfecto para mí ya que quería mantener el teléfono exterior como despejada como sea posible. Lo único que modificado para este proyecto era el nombre del archivo. mp3 en arranque, reemplazando con el nombre del tono de llamada trimphone. Con el código de trabajo afortunadamente perfectamente me queda bien solo, desconectado el cable de red y monitor y se trasladó a la construcción.