in

Introducción a Java SE Embedded en Raspberry Pi

1715347

Cómo hacer que Linux y Java SE Embedded se ejecuten en Raspberry Pi en menos de una hora

Es apenas más grande que una tarjeta de crédito. Cuesta aproximadamente lo mismo que un libro sobre programación Java.

Es la computadora Raspberry Pi y puede admitir un tiempo de ejecución completo de Java SE para aplicaciones integradas sin cabeza. Este artículo le permite comenzar con Java en la programación de Raspberry Pi con estos temas:

NOTA: Existen muchas variaciones potenciales de las instrucciones que se dan aquí, especialmente las operaciones que ejecuta en una computadora host (de escritorio o portátil) y las que ejecuta en la Raspberry Pi. Utilice sus conocimientos y preferencias (y quizás algunos de los temas de la Ajuste y ajuste de Linux opcional sección) para crear un flujo de trabajo que funcione para usted.

La Raspberry Pi

La Raspberry Pi es una placa pequeña de bajo consumo construida alrededor de una CPU ARMv6 de 700 MHz con punto flotante de hardware y procesador de gráficos integrados en un solo chip. El procesador de gráficos y la CPU comparten 256 MB de RAM. Hay conexiones para USB, Ethernet, gráficos de alta definición, audio, una tarjeta SD y E / S de uso general. La Figura 1 muestra una Raspberry Pi modelo B con una tarjeta SD insertada para escalar. La tarjeta SD juega un papel especial: la Raspberry Pi arranca desde ella. Este artículo consiste en gran parte en instrucciones para crear y modificar archivos en una tarjeta SD de arranque.

Figura 1. Raspberry Pi Modelo B

Figura 1. Raspberry Pi Modelo B

Puede interactuar con la Raspberry Pi con un teclado y un mouse USB y un monitor HDMI o un televisor (hasta 1080p). La conexión Ethernet de la placa ofrece otra opción: interactuar desde un host en red a través de ssh. los Ajuste y ajuste de Linux opcional La sección de este artículo describe cómo habilitar ssh inicios de sesión.

Prerrequisitos

Para configurar la Raspberry Pi modelo B para ejecutar Java SE Embedded, necesita lo siguiente:

  • Una red cableada a la que puede conectar la Raspberry Pi mediante un cable Ethernet. La red debe proporcionar direcciones IP DHCP.
  • Una computadora host Linux en la misma red Ethernet cableada que la Raspberry Pi. Puede realizar operaciones equivalentes en un host Windows o Mac, pero los detalles difieren y este artículo no los describe. Necesita la contraseña de root para la computadora host. En el host también necesitas:
    • Una forma de descargar un archivo de un sitio web, como un navegador web o el wget utilidad.
    • Una herramienta de partición de discos. En este artículo usamos GParted, que es simple y efectivo. Si no tiene GParted, puede adquirirlo e instalarlo en el host de la siguiente manera:
      $ sudo apt-get install gparted
    • Un navegador web y un cliente de correo electrónico para descargar Java SE Embedded de Oracle
    • Un lector / escritor de tarjetas SD. Si su host ejecuta Linux en una máquina virtual, asegúrese de que pueda leer y escribir tarjetas SD.
  • Un monitor que se puede conectar directamente o mediante un adaptador al puerto HDMI de la Raspberry Pi.
  • Un teclado y un mouse USB conectados a la Raspberry Pi mediante un concentrador USB con alimentación.
  • Una tarjeta SD para contener el sistema operativo de Raspberry Pi y el tiempo de ejecución de Java. Una tarjeta de 4GB tiene la capacidad adecuada para Linux, Java SE Embedded y la mayoría de las aplicaciones integradas.

    NOTA: No todas las tarjetas SD funcionan con Raspberry Pi. Las tarjetas de alta velocidad pueden ser demasiado rápidas para el bus Raspberry Pi. Hemos tenido éxito con las tarjetas Transcend 4GB Micro y Patriot 4GB clase 4. http://elinux.org/RPi_VerifiedPeripherals#SD_cards tiene listas de tarjetas que han funcionado y no han funcionado para los usuarios de Raspberry Pi.

  • Una fuente de alimentación Micro USB de 5 V CC con capacidad de al menos 700 mA. Según el sitio web de Raspberry Pi, no utilice un concentrador USB o una computadora como fuente de alimentación.

Configuración básica de Linux

Cuando se aplica energía, el firmware de la Raspberry Pi se inicia desde la ranura de la tarjeta SD. Java SE Embedded se ejecuta en Linux, por lo tanto, su primera tarea es obtener Linux en una tarjeta SD.

Descargue la imagen de Debian Squeeze Linux para Raspberry Pi

NOTA: estas instrucciones son para Debian Squeeze. Otras implementaciones de Linux para Raspberry Pi pueden funcionar, pero debe se han construido para el punto flotante del software del chip ARM. Es posible que las imágenes vinculadas desde el sitio web de Raspberry Pi se hayan creado para hardware de punto flotante; no funcionarán con Java SE para Embedded.

Puede encontrar un enlace a una imagen comprimida de Debian Squeeze para Raspberry Pi aquí: http://elinux.org/RPi_Distributions#Debian_ARM. El tamaño del archivo es de aproximadamente 450 MB. Las siguientes instrucciones asumen que ha descargado a un nuevo directorio ~/RaspberryPi/. Para verificar el archivo descargado, siga las instrucciones de la suma de comprobación SHA-1 en la página que se muestra cuando comienza la descarga.

Descomprime la imagen de la siguiente manera:


$ cd ~/RaspberryPi
$ unzip *.zip 


Al descomprimir se crea un subdirectorio llamado algo así como debian6-19-04-2012.

Copie la imagen de Debian Squeeze en la tarjeta SD

En su computadora host, descubra el identificador del dispositivo de la tarjeta SD de la siguiente manera (use una forma diferente si lo prefiere):

En las siguientes instrucciones, asumimos que el asa del dispositivo de la tarjeta SD es /dev/sdb y que tiene una sola partición sdb1. Ajuste las instrucciones si es necesario para su entorno.

  • Desmontar las particiones de la tarjeta SD:

    $ sudo umount /dev/sdb1

  • Copie la imagen de Debian a la tarjeta SD con dd.

    NOTA: En el siguiente comando, sea cierto para entrar a of (archivo de salida) valor del argumento correctamente. Está a punto de invocar una copia de disco de bajo nivel que sobrescribe todos los datos. Especificar el dispositivo incorrecto destruirá los datos.

    
    
    $ cd ~/RaspberryPi/debian6-19-04-2012
    $ sudo dd if=yourDebian.img of=/dev/sdb bs=1M
    1859+1 records in
    1859+1 records out
    1950000000 bytes (2.0 GB) copied, 212.344 s, 9.2MB/s 
    

    ddLa conexión a una tarjeta SD es una operación lenta. Puede tomar de 5 a 10 minutos para una tarjeta de clase 4 de 4 GB. dd no da ninguna indicación de progreso, así que tenga paciencia mientras hace su trabajo lentamente.

Si desea asegurarse ahora de que su tarjeta SD Linux funciona, vaya a la Primer arranque sección, luego regresa a Cambiar el tamaño de las particiones de la tarjeta SD.

Cambiar el tamaño de las particiones de la tarjeta SD

La tarjeta SD ahora contiene tres particiones y espacio no asignado. Ahora agregaremos el espacio no asignado al sistema de archivos de Linux para hacer más espacio para Java SE Embedded y aplicaciones. Para asignar espacio no asignado al sistema de archivos, modificamos las particiones en la tarjeta SD, borramos y volvemos a crear una de las particiones y cambiamos el tamaño de otra.

  • Inicie GParted:

    $ sudo gparted

    Gparted muestra inicialmente las particiones del disco del host. Tú haces no desea cambiar estas particiones.

  • Elija GParted -> Dispositivos para mostrar las particiones y el espacio no asignado en /dev/sdb:

    Figura 2. Particiones iniciales de la tarjeta SD

    Figura 2. Particiones iniciales de la tarjeta SD

Las tres particiones son:

  • /dev/sdb1: Partición de arranque
  • /dev/sdb2: Sistema de archivos raíz de Linux. La mayor parte de su asignación de 1,5 GB ya está en uso.
  • /dev/sdb3: Área de intercambio de Linux.

Aproximadamente la mitad del espacio de la tarjeta no está asignado. La mayor parte de espacio libre sigue el /dev/sdb3 dividir. Para agregar este espacio a /dev/sdb2 (el sistema de archivos), eliminamos temporalmente /dev/sdb3, extender /dev/sdb2, luego vuelve a crear /dev/sdb3.

  • En la columna Partición, seleccione /dev/sdb3 (linux-swap), haga clic derecho y elija Eliminar. La partición se muestra como eliminada, pero GParted ha puesto en cola la operación y la ejecutará más tarde.

    Figura 2. Particiones de la tarjeta SD después de eliminar la cola

    Figura 3. Particiones de la tarjeta SD después de eliminar la cola

  • En la columna Partición, seleccione /dev/sdb2, que es el sistema de archivos de Linux, haga clic con el botón derecho y seleccione Cambiar tamaño / Mover. En el cuadro de diálogo que aparece, arrastre la flecha derecha hasta que «Espacio libre siguiente» sea aproximadamente 512 (o la cantidad que desee dejar para el intercambio). Es posible que no pueda arrastrar exactamente a 512, pero el tamaño exacto no es importante.

    Figura 4. 512 MB para intercambio

    Figura 4. 512 MB para intercambio

  • Haga clic en Cambiar tamaño / Mover para poner en cola el cambio. En el cuadro de diálogo de advertencia «Mover una partición» que aparece, haga clic en Aceptar.
  • Ahora que hemos aumentado la partición del sistema de archivos, volvemos a crear una partición de intercambio. Seleccione la partición no asignada de 512MiB, haga clic con el botón derecho y elija Nuevo.
  • En el cuadro de diálogo Crear nueva partición, en el menú desplegable Sistema de archivos, elija linux-swap.

    Figura 5. Nueva partición de intercambio

    Figura 5. Nueva partición de intercambio

  • Haga clic en Agregar.
  • En la ventana principal de GParted, elija Editar> Aplicar todas las operaciones, que realiza las operaciones que hemos puesto en cola. En el cuadro de diálogo «¿Está seguro?», Haga clic en Aplicar. El reparticionamiento es otra operación prolongada, que se ejecuta fácilmente durante varios minutos. Un cuadro de diálogo muestra el progreso. Haga clic en Cerrar cuando se complete.

    El nuevo mapa de particiones es similar a esto:

    Figura 6. Nuevo mapa de particiones

    Figura 6. Nuevo mapa de particiones

  • Salga de GParted y expulse la tarjeta SD para que pueda intentar su primer arranque.

Primer arranque

Nota: Para estos pasos, debe tener estos componentes conectados a la Raspberry Pi: un monitor, un teclado y un cable Ethernet que funcione.

  • Con la Raspberry Pi desconectada, inserte la tarjeta SD de Linux en la ranura y luego conecte la alimentación. En unos segundos, los mensajes de progreso del arranque deberían aparecer en el monitor. Si no es así, es probable que la tarjeta SD sea del tipo incorrecto o que esté formateada incorrectamente.

    Es normal que aparezcan mensajes de error durante el primer arranque porque algunos servicios aún no están configurados. También puede parecer que el primer arranque se cuelga esperando a que se cierre el mapa de puertos. Como indica un mensaje de la consola, puede dejar que se ejecute (normalmente durante unos minutos) o desconectar la energía de la Raspberry Pi y, opcionalmente, arrancar de nuevo. Las botas posteriores son comparativamente rápidas.

  • Después de recibir el mensaje de inicio de sesión, inicie sesión con el nombre de usuario y la contraseña de Raspberry Pi. En el momento en que se escribió este artículo, eran «pi» y «frambuesa», respectivamente.

    NOTA: Un teclado incompatible puede evitar el inicio de sesión, por ejemplo, mediante la repetición de caracteres. Si no puede iniciar sesión, pruebe con otro teclado.

    Si «pi» y «raspberry» no funcionan, consulte el sitio web de distribución de Linux.

  • Obtenga y anote la dirección IP de la Raspberry Pi de la siguiente manera:
    
    
    $ sudo /etc/rc.local
    RaspberryIP
    
  • Permiso ssh inicios de sesión con este comando:

    $ sudo update-rc.d -f ssh defaults 20

  • Reinicie para habilitar realmente ssh inicios de sesión:

    $ sudo sync; sudo shutdown -r now

    Si el apagado demora demasiado, puede apagar y encender la Raspberry Pi.

Ahora podemos leer y escribir la tarjeta SD Raspberry Pi a través de la red desde la computadora host.

Configuración incrustada de Java SE

En esta sección usamos el host para descargar Java SE Embedded y copiarlo a través de la red al sistema de archivos Linux de la Raspberry Pi. Entonces, todavía trabajando …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

0YsUSz6OUNBv03YAr

El problema de la ruina del jugador

Método python String find ()