La placa de desarrollo Spresense es el debut de Sony en el mercado Maker para microcontroladores, y es impresionante.
Caracteristicas
El Spresense de Sony trae una serie de características eclécticas a la mesa. Una que no hemos visto antes en una placa lista para Creador: es compatible con GNSS desde el primer momento. Eso es GPS, el sistema de posicionamiento global que usa su teléfono para encontrar su ubicación en el mundo, además de redes de transporte adicionales. Si Spresense puede obtener una mejor lectura de su posición utilizando QZSS (sistema de Japón), WAAS (el sistema de la FAA) o GLONASS (sistema de Rusia), es tan capaz de obtener una lectura de esas redes de satélites como la red GPS original.
Su poder de computación en bruto deja a la mayoría de los tableros similares en la sombra, con 6 núcleos funcionando a 156 MHz. Si eso no fuera suficiente, es bastante la placa de audio capaz, con 8 canales de micrófono y salida estéreo de alta resolución. A pesar de todas estas características y caballos de fuerza, esta placa consume energía.
Usos recomendados
Spresense se basa en el chip que Sony diseñó para sus productos de auriculares inteligentes. Ofrece códecs de audio de alta resolución para reproducir sus MP3, entrada de audio para que pueda escuchar los comandos de voz en respuesta, y inteligencia para entender lo que acaba de escuchar. Todos con un consumo de energía lo suficientemente bajo como para funcionar durante horas con una batería lo suficientemente pequeña como para colocarla detrás de la oreja. Con un receptor de GPS, sabe hasta qué punto lo llevó en su trote matutino. Esas mismas características lo convierten en una excelente opción para cualquier invento que necesite tomar comandos de voz, reproducir música o conocer su lugar cambiante en el mundo.
Lo que más me llamó la atención sobre el Spresense fue la potencia informática que aportaba a la poca potencia que consumía. Con seis núcleos funcionando a 156MHz, Spresense tiene una potencia de cómputo que casi lo pone en el rango de computadoras de una sola placa, no de microcontroladores. Su diseño multinúcleo hace que Spresense sea un buen ajuste para ejecutar una pequeña red neuronal para el reconocimiento de voz o para buscar patrones en la alimentación de una cámara. Y dado que consume 30 mA de energía durante el funcionamiento normal, puede ejecutar esas tareas de IA durante horas con las baterías de litio más pequeñas, o un simple par de AA.
Compatibilidad con Arduino
Desde el principio, Spresense se puede programar usando el editor Arduino. (¿Necesita un SO más completo? También puede programar Spresense como una computadora NuttX). Hay una pila de programas de ejemplo que se presentan cuando descarga los archivos de la placa a su editor Arduino, y le muestra cómo acceder a las funciones avanzadas de la placa. , con ejemplos de fotografía, reproducción de MP3, una muestra de Deep Neural Network, y más.
Para obtener compatibilidad con el hardware, consulte la tarjeta de extensión Spresense. La pequeña placa principal de Spresense encaja en la parte superior de esta placa para ofrecer aún más pines IO, en el diseño estándar de Arduino, lo que permite que Spresense use la mayoría de los miles de Shields creados para agregar características a Arduinos.
Hay características más inteligentes en el tablero de extensiones: una ranura para tarjeta micro-SD, un conector para auriculares y casi una docena de puentes de configuración que le permiten modificar la forma en que funciona el hardware. Uno que me llamó la atención fue el selector para ejecutar el tablero de extensión en modo de 3.3V o 5V. El ajuste a 5 V de potencia maximizará la compatibilidad Arduino de la placa y le permitirá ejecutar microservos y otros motores pequeños sin necesidad de aumentar su potencia. La opción de 3.3 V ofrece una mejor compatibilidad con muchos chips modernos a los que se puede conectar el Spresense, evitando la necesidad de un cambiador de nivel y ahorrando energía.
Empezando con Spresense
La propia documentación de Sony cubre cada paso en detalle y será mejor para los nuevos fabricantes. Para los fabricantes experimentados que desean la versión turbo, ofrecemos esta guía:
configuración de hardware
-
Como de costumbre, antes de manipular los tableros de circuitos, toque la cosa más cercana a tierra o el piso sin alfombra, para descargar la acumulación de estática de su cuerpo. - Aplique la protección de la sombra al procesador de Spresense. Es decir, ponga la pequeña etiqueta negra que vino en la caja de la placa principal en el chip brillante de la placa principal. Podría omitir este paso si va a colocar su Spresense en un recinto, pero ¿por qué? Sin el protector de la sombra, las luces brillantes, como la fotografía con flash, pueden reiniciar el tablero.
- Si está utilizando la tarjeta de extensión, busque la bolsa de cuatro separadores y ajústela con suavidad pero con firmeza en la tabla de extensión. Luego, con un cuidado similar, coloque la placa principal en estos cuatro separadores. Los separadores alinean la ranura que conecta las dos placas.
- Conecte el Spresense a su computadora usando su puerto micro USB. Prefiera el puerto de la placa principal al puerto de la placa de extensión.
Configuración de software
Hay algunos pasos adicionales la primera vez que usa su tablero Spresense con el editor Arduino. Una vez que haya hecho esto una vez, la computadora tratará la placa Spresense como un modelo más de Arduino.
- Si aún no tiene instalado el software Arduino, descargue una copia de arduino.cc e instalarlo.
- Paso adicional para los usuarios de Ubuntu (los usuarios de OSX y Windows se saltan este paso): concédase permiso para usar la conexión USB. En el terminal, ingrese:
usodod sudo -a -G dialout $ USUARIO
… luego cierre sesión y vuelva a iniciar sesión.
- Paso adicional para los usuarios de Ubuntu (los usuarios de OSX y Windows se saltan este paso): concédase permiso para usar la conexión USB. En el terminal, ingrese:
- Dentro del software Arduino, descargue los archivos adicionales que Spresense necesita.
- Inicia el editor Arduino y abre la ventana de permisos. (Archivo-> Permisos para usuarios de Windows o Linux, Arduino-> Permisos bajo OSX).
- Copie esto, como una sola línea, en el campo "Direcciones URL adicionales de Board Manager":
https://github.com/sonydevworld/spresense-arduino-compatible/releases/download/generic/package_spresense_index.json
Ahora su editor Arduino sabe dónde encontrar los archivos que le indicarán cómo usar la placa Spresense. - Haga clic en "Aceptar" para salir de la ventana de permisos.
- Dígale al software Arduino que descargue esos archivos:
- En el menú "Herramientas", coloque el cursor sobre "Tablero".
- Haga clic en el enlace superior, "Gerente de la Junta …”
- En la ventana de Board Manager que se acaba de abrir, escriba "spresense" en la barra de búsqueda en la parte superior derecha.
- La lista de tablas en la ventana de abajo debería limitarse a solo una, "Spresense".
- Pinchalo. Aparece un botón "Instalar". Pinchalo. Espera un poco.
- Felicidades. Su software Arduino ahora sabe cómo programar una placa Spresense.
- Dígale a su software Arduino que efectivamente está a punto de programar un tablero modelo "Spresense", y dónde enviar los programas que escribe para incluirlos en ese tablero. Este es el único paso que deberá repetir en sesiones posteriores, como lo haría antes de programar cualquier otro modelo de Arduino.
- En el menú "Herramientas", coloque el cursor sobre "Tablero" y seleccione "Spresense" de las opciones que aparecen.
- Bajo el menú "Herramientas", seleccione el puerto al que enviar los programas. Al pasar sobre "Puerto" le dará una lista de opciones. ¿Cómo sabes cuál es la correcta? Depende de si estás en una computadora con Windows, OSX o Ubuntu:
- Windows: desenchufe la placa de su computadora, verifique la lista de Puertos y cierre la lista de puertos sin seleccionar uno. Luego, vuelva a enchufar la placa y vuelva a abrir la lista de Puertos. El Spresense es el nuevo puerto que no estaba allí la última vez que miraste.
- OSX: el puerto se llama "dev / cu.SLAB_USBtoUART".
- Ubuntu: con el Spresense conectado, abra una ventana de terminal e ingrese:
dmesg | grep "cp21. * adjunto"
… La última palabra de la línea con la que responde el terminal es el nombre que debe buscarse en el menú “Herramientas-> Puerto”.
- Un último paso solo para la primera vez: desbloquee el firmware en la placa de Spresense.
- En “Herramientas-> Programador”, seleccione “Actualizador de firmware de Spresense”.
- Debajo de "Herramientas" selecciona "Grabar Bootloader". Aparecen instrucciones. Siguelos.
¡Todo listo! No deberías repetir estos pasos siempre que uses el mismo Spresense en la misma computadora. Repita el último paso si obtiene un nuevo Spresense o repita los dos primeros pasos para preparar una nueva computadora para la programación de Spresense.
Probando La Junta
Ahora que tenemos el Spresense listo para programar, echemos un vistazo a algunos de los ejemplos que descargamos cuando obtuvimos los archivos de la placa. Busque los programas de ejemplo en los menús del editor Arduino en "Archivo-> Ejemplos". Los ejemplos específicos de Spresense se mostrarán cuando la configuración "Herramienta-> Tablero" del editor esté configurada en "Spresense". Lo hiciste hace un momento cuando configurabas el tablero.
Un ejemplo que puede iniciar con la placa principal y sin hardware adicional es el ejemplo "GNSS". Ábralo haciendo clic en "Archivo-> Ejemplos-> GNSS-> gnss". Luego, cárguelo en el Spresense haciendo clic en el botón Cargar, en la parte superior del editor Arduino, segundo desde la izquierda.
Debería ver los mensajes pasar por la parte inferior de la ventana de Arduino a medida que se prepara y luego empuja el programa al tablero. Cuando dice "reiniciar" después de unos segundos, el programa ha terminado de cargarse en el Spresense.
Las lecturas de GPS ahora se están devolviendo a su computadora, mostrando su posición en el mundo en latitud y longitud. Deberá abrir la ventana del Monitor serie para verlos: haga clic en "Ctrl-M". (Comando-M en una Mac.) O simplemente haga clic en el icono de la lupa en la parte superior derecha de la ventana de Arduino.
El ejemplo del reproductor de MP3 es un buen segundo programa para probar. Es un poco más complicado: querrás que la placa de extensión te permita conectar una tarjeta microSD cargada con tus MP3 y unos auriculares o un mini altavoz para escuchar los resultados. Las instrucciones completas están en:
http://bit.ly/SpresenseMP3 <—— Psst: ¡La capitalización importa!
Próximos pasos
Dado que Sony convierte los sensores en el corazón de muchas cámaras profesionales, no debería sorprender que una cámara estuviera entre los primeros complementos ofrecidos después del lanzamiento. No está nada mal: 5MP puede tener más resolución de la que querrá mantener si está introduciendo los datos de la cámara en una red neuronal, como se muestra en el programa de ejemplo "DNNRT" incluido. Otras opciones de la tarjeta de expansión disponibles después del lanzamiento incluyen un pequeño accesorio Bluetooth de bajo consumo de energía y una combinación de acelerómetro / brújula / altímetro, en caso de que el GPS no le dé suficiente información sobre dónde se encuentra en el mundo.
Para los diseñadores de hardware, Sony ha publicado los esquemas, dibujos de ingeniería y BOM para el Spresense para su público GitHub. Es un fuerte indicador de las intenciones de Sony para el Spresense: quieren hacerlo lo más fácil posible para que pruebes sus fichas y quedes impresionado. La compatibilidad de Arduino en hardware y programación hace que el uso de sus chips con el resto del hardware en circulación sea tan fácil como podría ser. Los archivos de hardware de código abierto le dan la ventaja de llevar su invento de un prototipo hecho a mano a una producción de 10 o 10.000.