Conjunto de péndulo de precisión: Gestión de software

From wwwelab
Jump to navigation Jump to search

Raspberry software

PAGINA EN CONSTRUCCIÓN

Gestión de software

La computadora Raspberry Pi interconecta el microcontrolador del experimento y los servidores del laboratorio electrónico. Sin él, no es posible el acceso remoto. Por lo tanto, es esencial que esté correctamente configurado y configurado para garantizar una alta confiabilidad y seguridad.

Instalación del sistema operativo

Si comienza con una tarjeta SD en blanco, la primera tarea es instalar el sistema operativo (SO). Hay varios sistemas operativos que admiten Raspberry Pi (RPi) disponibles y, en teoría, se puede utilizar cualquiera de los que admiten el software necesario. Sin embargo, el uso de Raspbian es altamente recomendado. Es el sistema operativo oficial de la Fundación Raspberry Pi para todos los modelos de RPi, tiene una amplia selección de software compatible disponible en los repositorios oficiales y abundan los tutoriales y guías, en línea y en otros medios.

Las instrucciones debajo de este punto asumen que se está utilizando Raspbian. Otros sistemas operativos pueden tener diferentes métodos de configuración.

Al crear una nueva tarjeta SD, se debe instalar la última versión del sistema operativo. Esto asegura que el sistema se ejecutará con todas las correcciones de seguridad y rendimiento disponibles. La última versión de Raspbian se puede descargar desde este link. Hay tres versiones disponibles:

  • La versión lite contiene la cantidad mínima de software necesaria para arrancar el RPi. No se incluye ningún software adicional. Esto implica la falta de una Interfaz Gráfica de Usuario (IGU), lo que significa que, si está conectado a una pantalla, el RPi mostrará solo una línea de comando (como se muestra en la imagen).
  • La versión de escritorio contiene el mismo software que la versión lite más el software necesario para usar una IGU. Cuando se conecta a una pantalla, el RPi mostrará una IGU (en la imagen).
  • La versión de escritorio y software recomendado" contiene el mismo software que la "versión de escritorio" más algunos programas de software y utilidades preseleccionados.

El mismo software está disponible para su instalación en todas las versiones, lo que significa que se puede comenzar con una versión lite y luego instalar todo el software incluido en la versión de escritorio y software recomendado. Si el RPi se está preparando para ejecutarse únicamente como servidor para el experimento, se recomienda que se elija la versión lite o de escritorio, ya que tener un sistema operativo con solo el software necesario es más seguro, mejora el rendimiento y la capacidad de mantenimiento. En particular, si planea usar el RPi sin una pantalla, la versión lite es de especial interés ya que no incluye la GUI, que solo es útil si usa una pantalla.

La Fundación Raspberry Pi proporciona instrucciones de instalación para el sistema operativo Raspbian aquí.

Después de la instalación

Después de instalar el sistema operativo, la tarjeta SD ahora está lista para usarse para arrancar el RPi. Sin embargo, antes de insertar la tarjeta SD en el RPi, es necesario considerar cómo conectarla con el RPi. Es posible hacerlo a través de dos métodos diferentes, de la siguiente manera:

Usando el RPi a través de un teclado, mouse y pantalla

Cuando se usa un teclado, un mouse y una pantalla, el RPi funciona como cualquier otra computadora. Dado que es posible interactuar con el RPi a través del teclado, el mouse y la pantalla, la tarjeta SD se puede insertar en el RPi y el proceso de arranque se puede iniciar conectando el adaptador de corriente al RPi. Este es un procedimiento más simple, sin embargo, el hardware adicional necesario lo encarece. No conecte el RPi a Internet antes de completar la configuración del sistema operativo, como se describe a continuación. Cuando se haya configurado correctamente, debería ver un mensaje que muestra:

pi@raspberry:~ $

o la interfaz gráfica de usuario habitual del SO, según la versión de Raspbian elegida.

Continúe con la sección Configuración del sistema operativo RPi.

Conexión al RPi a través de una conexión ssh

Si un teclado, mouse y pantalla no están disponibles para usar e interactuar con el RPi, aún es posible interactuar con él configurando el SSH servicio antes de insertar la tarjeta SD en el RPi. El servicio SSH permite conexiones con un RPi a través de una interfaz de red, a través de la cual se pueden enviar comandos. Esto hace uso del teclado, el mouse y la pantalla de una segunda computadora, p. Ej. una computadora portátil o de escritorio ya configurada. Para hacerlo, la Raspberry Pi y la computadora utilizada necesitan que se ajuste su configuración de red.

Para habilitar el servicio SSH en el RPi externamente:

  • Inserte la tarjeta SD en una computadora, p. ej. el que se usa para instalar el sistema operativo en la tarjeta.
  • Después de instalar el sistema operativo, la tarjeta se mostrará en las computadoras como compuesta por dos unidades. Una unidad más pequeña de unos cientos de MB y una unidad más grande de unos pocos GB (según el tamaño de la tarjeta SD).
  • En la "unidad" más pequeña, cree un archivo vacío llamado ssh. Esto habilita el servicio SSH durante el próximo arranque del RPi solamente. Esta configuración se hará permanente más adelante.
  • En la "unidad" más grande, edite el archivo "/etc/dhcpcd.conf". Al final del archivo, debería haber una sección de texto similar a esta:
# It is possible to fall back to a static IP if DHCP fails:
# define static profile
profile static_eth0
static ip_address=123.123.123.123/24
#static routers=192.168.1.1
#static domain_name_servers=192.168.1.1

# fallback to static profile on eth0
interface eth0
fallback static_eth0

Edite el archivo para que imite el texto que se muestra arriba. La línea:

static ip_address=123.123.123.123/24

Define la dirección IP de respaldo de la Raspberry Pi cuando no recibe ofertas de IP a través de DHCP. En general, esto sucede cuando no hay conexión disponible en la red o se ha conectado a una computadora portátil o de escritorio común. Se pueden elegir otras IP de respaldo distintas de 123.123.123.123. Este se sugiere porque es fácil de recordar.

  • La tarjeta SD ahora se puede desmontar de forma segura de la computadora e insertar en la Raspberry Pi y arrancar

A continuación, la computadora que se conectará al RPi debe tener su propia conexión Ethernet configurada para que se conecte al mismo subnet que el RPi. Esto significa que, siguiendo la configuración que se muestra arriba, su 'IP debe configurarse para ser 123.123.123.xxx, donde el último número puede ser cualquiera del 001 al 254, y una máscara de red de 255.255.255.000. El procedimiento exacto a seguir para lograr esto depende en gran medida del sistema operativo instalado en la computadora. Asegúrese de proceder de la forma adecuada para su sistema operativo específico. Si su computadora utiliza el puerto Ethernet para la conexión a Internet diaria, es posible que se le atribuya alguna configuración específica para hacer posible esta conexión en su red. Asegúrese de preservar la configuración de red original, ya sea tomando capturas de pantalla de los cuadros de diálogo apropiados o tomando notas, de su adaptador Ethernet para que pueda revertir cualquier cambio realizado. A continuación se muestran algunos ejemplos de sistemas operativos comunes.

Configuración del adaptador Ethernet en Windows 10/8.1/7 y conexión al RPi
  • Microsoft proporciona instrucciones sobre cómo configurar manualmente el adaptador Ethernet.
  • Siga el procedimiento para configurar manualmente los ajustes de IPv4. Cuando se le solicite, complete el campo "Dirección IP" con una dirección adecuada de acuerdo con la configuración seleccionada para el RPi. Suponiendo que se seleccionó la configuración de ejemplo que se muestra en esta página, este campo se puede completar con 123.123.123.124, y el campo Longitud del prefijo de subred/Máscara de subred se puede completar con 255.255.255.0 o 24. Se pueden ignorar los ajustes relacionados con los campos Puerta de enlace y DNS e IPv6.
  • Si no lo ha hecho antes, el RPi se puede iniciar y conectar a la computadora a través de Ethernet. Esto se logra conectando un extremo de un cable Ethernet al puerto Ethernet de la computadora y el otro extremo del cable al puerto Ethernet del RPi
  • El símbolo de red en la bandeja de Windows ahora debería mostrar la conexión Ethernet. Posiblemente indicando que es una red desconocida.
  • Windows no instala un cliente SSH de forma predeterminada. Para conectarse al RPi a través de SSH, se debe configurar uno. Aunque se pueden utilizar otros, putty es una fuente abierta, cliente SSH de software gratuito para Windows. Se puede instalar o utilizar de forma independiente, lo que significa que no es necesario instalarlo. Los siguientes pasos seguirán el uso de masilla. Tenga en cuenta que aunque la configuración general también se aplica a otro software, las instrucciones específicas pueden diferir.
  • Complete el campo Nombre de host (o dirección IP) con la IP configurada del RPi. Si se sigue la configuración sugerida, debe rellenarse con 123.123.123.123. En los botones de opción a continuación, seleccione SSH. Si desea guardar esta configuración para que no sea necesario recordarla o reescribirla cada vez, escriba cualquier nombre memorable en el campo "Sesiones guardadas" y haga clic en "Guardar". A continuación, puede recuperar esta configuración seleccionando el nombre de la lista y seleccionando "Cargar".
  • Puede aparecer una advertencia que indique que el host, la computadora a la que se está conectando, es nueva y desconocida. Se le preguntará si se puede confiar en la nueva computadora y si se completó la conexión. Dado que se trata de una nueva instalación de una computadora que usted posee y que ha configurado usted mismo, puede responder afirmativamente con seguridad. Cuando se le solicite, ingrese la contraseña. Si no es la primera vez que sigue esta guía, es posible que la advertencia indique que el host, la computadora a la que se está conectando, haya cambiado. Esto se espera ya que ahora puede aplicar estos pasos a un RPi diferente. Acepte la advertencia seleccionando y la conexión debería completarse.
  • Cuando se le solicite el usuario y la contraseña, ingrese el usuario y la contraseña predeterminados del sistema operativo Raspian que se puede encontrar aquí.
  • Tenga en cuenta que en este caso se utilizan pi y 123.123.123.123 ya que nos estamos conectando al RPi como usuario pi y está conectado directamente a la computadora con la IP configurada de 123.123.123.123. Después de crear un nuevo usuario y eliminar el predeterminado y conectar el RPi a la red normal, esto cambiará.
  • Después de ingresar con éxito la contraseña predeterminada, se mostrará un mensaje que indica:
pi@raspberry:~ $

Ha iniciado sesión correctamente y ahora puede continuar con la Configuración del sistema operativo RPi

  • Si hubo un error al indicar
ssh: connect to host xxx.xxx.xxx.xxx port 22: No route to host

Donde xxx.xxx.xxx.xxx es la IP utilizada en el comando ssh, los adaptadores Ethernet se han configurado incorrectamente. Por favor, revise la configuración de los adaptadores. Para una conexión exitosa, tanto la computadora como el RPi deben estar configurados para estar en la misma subred. Si no ha seguido la configuración de IP sugerida aquí, tenga en cuenta que se sabe que proporciona una configuración funcional.

Configuración del sistema operativo RPi

Después de la instalación, es necesario configurar el sistema operativo. Las siguientes instrucciones deben seguirse en el indicador del terminal. Si está utilizando un teclado y una pantalla conectados al RPi e instaló un sistema operativo con GUI, abra un emulador de terminal.

Primero, proceda con la configuración general del sistema cargando la utilidad raspi-config, ejecutando el comando:

sudo raspi-config

Cuando se le solicite, introduzca la contraseña pi del usuario. El menú que muestra se puede navegar usando las teclas de flecha para la selección, la tecla de escape para retroceder en los menús e ingresar para seleccionar la entrada resaltada.

  • La entrada 1 Cambiar contraseña de usuario se puede ignorar ya que el usuario pi se eliminará más tarde
  • En la entrada 2 Opciones de red, es posible configurar el Nombre de host y configurar una conexión Wi-Fi.

El Nombre de host es el nombre asignado al RPi y no tiene un significado especial. Es útil para reconocer fácilmente la computadora basándose solo en el nombre.

La entrada Wi-Fi permite la configuración de una red Wi-Fi ingresando el SSID (nombre de la red) y la contraseña de la red. Este cuadro de diálogo solo funciona para esquemas WEP, WPA y WPA2. WPA-empresa debe configurarse manualmente a través del demandante.

Ignore las entradas restantes a menos que esté seguro de los cambios que se están realizando.

  • En las 3 opciones de arranque, es la entrada Desktop/CLI que selecciona si el RPi arranca en un entorno de IGU o en un símbolo del sistema, el Esperar red en el arranque si espera conexión de red antes de completar el proceso de arranque y la Pantalla de bienvenida si muestra una imagen o texto de depuración durante el arranque.

Tenga en cuenta que la entrada Desktop/CLI solo produce efectos si instaló previamente una versión de Raspbian con IGU o mientras tanto instaló una IGU en la versión lite.

Estas configuraciones son seguras de configurar según los deseos de los usuarios.

  • En la entrada 4 Opciones de localización, la entrada Cambiar configuración regional permite configurar el RPi para que se muestre el idioma y otros elementos de localización, como el formato de fecha y hora, el nombre de los días de la wiki, la moneda , etc., están de acuerdo con la ubicación del usuario de RPi, la entrada Cambiar zona horaria permite configurar la zona horaria local, de modo que el RPi muestre la hora y fecha correctas, la entrada Cambiar distribución del teclado permite al usuario configurar es el teclado para que las teclas escritas en el teclado físico coincidan con las que aparecen en la pantalla, y el Cambiar país de Wi-Fi configura el RPi para que se comunique en las frecuencias de Wi-Fi correctas de acuerdo con las leyes locales.

La entrada "Cambiar distribución del teclado" solo es importante si el RPi se utiliza con un teclado directamente conectado a él. Los usuarios que se conectan a través de SSH no necesitan configurar esta opción.

La entrada Cambiar país de Wi-Fi debe configurarse si se va a configurar una conexión Wi-Fi. Si no lo hace, es posible que la conexión no funcione, ya que el RPi está tratando de comunicarse en diferentes frecuencias como el resto de los dispositivos Wi-Fi locales, y problemas regulatorios para que el usuario transmita en frecuencias prohibidas.

  • En las 5 opciones de interfaz, las entradas permiten habilitar/deshabilitar los diversos servicios enumerados. Todos deben estar configurados como deshabilitados excepto por el SSH y/o VNC servicios, la interfaz Serie y el acceso GPIO remoto.

Tenga en cuenta que el servicio VNC solo funcionará si hay una IGU instalada en el sistema. De lo contrario, solo se puede habilitar el servicio SSH.

Habilitar el servicio SSH hace que no sea necesario crear el archivo ssh en el disco como se describió anteriormente. Estará disponible en cada arranque hasta que se desactive nuevamente.

En la entrada Serie, seleccione No cuando se le pregunte si el shell de inicio de sesión debería estar disponible en serie y cuando se le pregunte si el hardware del puerto serie debe estar habilitado.

  • Por favor ignore las opciones restantes, excepto la opción Expandir sistema de archivos disponible en la entrada Opciones avanzadas.
  • Salga de la utilidad seleccionando Finalizar y, cuando se le solicite, permita que el RPi se reinicie seleccionando . Si está conectado a través de SSH, la conexión se terminará automáticamente.
  • Permita que el RPi termine de reiniciarse. No lo apague desconectando el cable de alimentación.
  • Cuando el LED verde deja de parpadear, el reinicio está completo. Inicie sesión en el RPi como antes.

Antes de conectar el RPi a Internet, se debe crear un nuevo usuario y se debe eliminar el usuario predeterminado. Dado que todas las nuevas instalaciones del sistema operativo Raspbian tienen el mismo usuario y contraseña predeterminados, que todo el mundo puede encontrar en Internet, mantenerlos disponibles en el sistema operativo es una vulnerabilidad de seguridad muy grave. Cualquiera que sepa esto puede intentar iniciar sesión en su RPi y, si tiene éxito, tomar el control del sistema .

Los siguientes comandos crean un usuario llamado newton. Se pueden y se deben elegir otros nombres de usuario al configurar el RPi. El nombre de usuario newton se está utilizando como ejemplo.

  • Crear usuario newton
sudo useradd newton

Cuando se le solicite que ingrese la contraseña del usuario pi , ingrese la misma contraseña utilizada para iniciar sesión. Esto iniciará el proceso de creación de usuario donde se le pedirá una nueva contraseña para el nuevo usuario. Elija una nueva contraseña, diferente de la contraseña de usuario pi predeterminada. Al elegir la nueva contraseña, recuerde que:

Las contraseñas seguras tienen al menos 8 caracteres, una combinación de letras mayúsculas y minúsculas, una combinación de letras y números e incluyen al menos un carácter especial, por ejemplo,! @ #? ].

'Una contraseña segura es difícil de adivinar, pero debería ser fácil de recordar. Una contraseña que debe escribirse no es segura, no importa cuántas de las características anteriores se empleen.

No elija contraseñas que estén compuestas de cualquier palabra que se pueda encontrar en un diccionario, en cualquier idioma (por ejemplo, aeroplano o aeroplano), una palabra del diccionario con algunas letras simplemente reemplazadas por números (por ejemplo, a1rplan3 o aer0plan0 ), un carácter repetido o una serie de caracteres (p. ej., AAAAA o 12345), una serie de caracteres del teclado (p. ej., qwerty o qazwsx), cualquier cosa que esté escrita y almacenada en algún lugar cerca de su computadora.

Su nombre de usuario y contraseña son uno de los principales mecanismos de defensa contra el acceso no autorizado y la manipulación. Tener nombres de usuario fáciles de adivinar, contraseñas débiles o que el público las conozca afecta gravemente la seguridad de sus dispositivos y su red.

  • Agregar el nuevo usuario a los grupos del sistema

Comience identificando los grupos de los que el usuario original pi es miembro ejecutando el comando:

  
id

El comando generará tres listas en el formato "número (texto)". Mantenga la salida en pantalla. Escriba, pero no ejecute, el siguiente comando:

sudo usermod -a -G

De la salida del comando anterior, seleccione la lista después de grupos =, excepto por el primer elemento, haciendo clic y arrastrando con el mouse sobre el texto. Cópielo en la línea de comando haciendo clic en el botón central del mouse después de seleccionar el texto. Edite el comando actual utilizando las flechas del teclado para mover el cursor y eliminar los números y los paréntesis, pero manteniendo el texto y las comas. Agregue el nombre del usuario que se está creando al final del comando. El comando final debe tener el mismo formato que este:

sudo usermod -a -G group1,group2,group3,group4 newton

Confirme que el usuario se agregó correctamente a los grupos del sistema ejecutando:

id newton

En la salida, después de grupos =, deberían aparecer los mismos grupos que antes. No proceda antes que ellos.

  • Cierre sesión en RPi e inicie sesión con el nuevo usuario
  • Eliminar la cuenta de usuario pi

El usuario predeterminado pi todavía existe en el sistema. Dejar esta cuenta activa es una vulnerabilidad de seguridad. Bórralo ejecutando:

sudo userdel -remove-home pi
  • Para configurar la red donde se conectará el RPi, a menudo es útil conocer el Dirección MAC del adaptador de red. Ejecute el siguiente comando:
ifconfig

Si planea conectar el experimento a través de un cable Ethernet, copie el campo ether en la entrada eht0 de la salida. Si se conecta a través de una conexión inalámbrica, copie el campo ether en la entrada wlan0 de la salida.

  • Si planea usar una conexión VPN para administrar experimentos implementados de forma remota, ahora también es un buen momento para enviar los archivos necesarios al RPi. Al hacerlo, se garantiza el secreto necesario de las claves, ya que se envían a través del cable que conecta su computadora y el RPi. Si usa el RPi con teclado y pantalla, considere apagarlo y escribir los archivos directamente en la tarjeta SD insertándolo en una computadora. La configuración de VPN depende en gran medida de su configuración, por lo que debe completarse caso por caso.
  • Si no lo ha hecho, apague el RPi. Espere a que el LED verde del RPi deje de parpadear antes de desconectar la fuente de alimentación. Muévalo a su ubicación permanente, conectándolo a la infraestructura de red y electrónica del experimento.
  • Encienda el RPi conectando la fuente de alimentación. Debe obtener una dirección IP válida de su red. La configuración de la red y el firewall depende en gran medida de su infraestructura de red específica. Si se siguieron las instrucciones anteriores, el RPi está configurado para aceptar ofertas de arrendamiento de IP DHCP. Para que el servidor de hardware y la transmisión de video funcionen, el RPi debe poder comunicarse
  • Inicie sesión en él. Actualice el software en el RPi ejecutando los siguientes comandos en sucesión:
sudo apt-get update
sudo apt-get full-upgrade

El último comando puede tardar un poco en completarse. Mientras funciona, NO DESCONECTE EL RPi DE LA FUENTE DE ALIMENTACIÓN. SI LO HACE, ES MUY PROBABLE QUE DAÑE LA TARJETA SD Y TENGA QUE EMPEZAR DE NUEVO.

  • Reinicie el RPi para asegurarse de que se esté ejecutando el software más reciente. Inicie sesión de nuevo.
  • Instale el software necesario para el servidor de hardware y la transmisión de video.

Para el servidor de hardware, se debe instalar el siguiente software:

sudo apt-get install openjdk-8-jre-headless librxtx-java

Para la transmisión de video, se pueden utilizar varios programas de software. La forma recomendada es utilizar GStreamer y sus bibliotecas que admiten codificación de hardware de video en el RPi. Se puede instalar con el siguiente comando:

sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-bad\
gstreamer1.0-omx-rpi gstreamer1.0-omx-rpi-config gstreamer1.0-omx-generic gstreamer1.0-omx-generic-config

Si es necesario, también instale el software para la conexión VPN. Por ejemplo, el cliente openvpn sería instalado por el comando:

sudo apt-get install openvpn

Ahora que la VPN está instalada, complete la configuración de la VPN con los archivos transferidos al RPi en el último paso.

Tenga en cuenta que el administrador de software sugerirá paquetes adicionales, en su mayoría dependencias de los que se ordenó instalar. Acepte cualquier paquete adicional sugerido.

Herramientas y utilidades de red

La conectividad de la computadora donde se instalará el servidor de hardware se puede probar y verificar instalando algunas herramientas como nmap:

sudo apt-get install nmap

El programa nmap se usa para verificar las pruebas de acceso al puerto para elab.ist.utl.pt, elab1.ist.utl.pt y elabmc.ist.utl.pt:

nmap -v -A elab.ist.utl.pt

Se espera que los puertos 443, 80, 8080, 22 y [9000..9010] estén abiertos. elabmc debería haber agregado los puertos UDP para la transmisión (consulte la última sección).

Sugerimos utilizar la utilidad cron en caso de que se requiera un reinicio regular. Para evitar solicitudes de registro simultáneas al mismo tiempo, se agrega un retraso de 5 minutos según el orden del experimento. Nano es el editor elegido.

sudo crontab -e

y se agrega la siguiente línea para reiniciar cada 4 am más 35 minutos (posición 7 en la mesa)

0 4   *   *   *    /sbin/shutdown -r +35

Crontab -l enumera los trabajos que se ejecutarán en un momento determinado.

sudo crontab -l

Códigos autónomos

Servidor de hardware

Ahora que tiene la Raspberry Pi y el Péndulo configurados, está listo para conectarlos a la red World Pendulum Alliance.

Para hacer eso, necesitará implementar y ejecutar una aplicación en la Raspberry. Esta aplicación se llama REC Hardware Server, es una aplicación Java y por eso es necesario tener instalado el JDK.

Una vez que ejecute el servidor de hardware REC, automáticamente intentará comunicarse con su Pendulum donde espera encontrar su cadena de identificación (por ejemplo, "WP_UESC_IOS"). Si encuentra la ID esperada, se conectará con el Péndulo y su péndulo debería cobrar vida en la página pública de elab. De lo contrario, se mostrará un mensaje de error, en cuyo caso le recomendamos que se ponga en contacto con el equipo de gestión del proyecto para que le ayude con la depuración.

La coordinación del proyecto proporcionará el servidor de hardware REC específico para su péndulo en un archivo .ZIP, que estará disponible en una carpeta específica en el servidor elab1.

Para implementar una nueva versión del REC Hardware Server para un péndulo específico, debe abrir una terminal (por ejemplo, Putty) y acceder a la máquina donde se implementará el HardwareServer, en este caso, el RPi, y seguir estos pasos:

  • Valide si existe el directorio "rec-deployment", si no, créelo escribiendo:
    mkdir ${home_directory}/rec-deployment 
    ex: mkdir /home/wpa/rec-deployment 
  • List HardwareServer Zip files:
    echo "ls *.zip" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist
  • Una vez que haya identificado el servidor de hardware para su péndulo, copie el archivo zip hardwareServer en su máquina (Raspberry):
    echo "get ${hardwareServerZipFile} ~/rec-reployment/" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist 
    ex. echo "get wpunicvraiHarwareServer_21-02-2020.zip ~/rec-reployment/" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist 
  • Vaya al directorio rec-deployment:
    cd /home/wpa/rec-deployment 
  • Unzip HardwareServer's zip file to rec-deployment directory
    unzip ${hardwareServerZipFile} -d ${hardwareServerAliasName}
    ex: unzip wpuesciosHardwareServer_24-01-2020.zip -d wpuescios
  • Cambiar al directorio de experiencia:
    cd ${hardwareServerAliasName}
    ex: cd wpuescios
  • Start HardwareServer:
    ./Start${AliasName}Driver.sh
    ex: ./StartwpuesciosDriver.sh

    NOTA

    El HardwareServer solo debe implementarse después del procedimiento de calibración completo descrito en la página siguiente y ejecutarse con el minicom u otro programa de terminal.

    Transmisión de video

    La transmisión de video se puede hacer usando el picamera, la cámara propietaria de RPi o una cámara USB común. Los siguientes pasos se probaron en una cámara USB. Además, fueron diseñados para funcionar con un servidor de transmisión que recibe el video del RPi y lo reenvía a todos los clientes conectados.

    • Inicie la transmisión en el RPi. Esto se hace con el comando:
    gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=10/1 ! clockoverlay time-format="%x - %X" \
    ! videoconvert ! omxh264enc ! video/x-h264,profile=baseline ! h264parse ! mpegtsmux ! rtpmp2tpay ! udpsink host=HOST port=PORT async=false

    Aunque es casi seguro que esté en /dev/video0, es posible que la cámara no se muestre en el sistema RPi en /dev/video0. Verifique que sea ejecutando:

    ls /dev
    

    En la salida, la entrada del formato videoX, donde X es un número, es la ubicación lógica de la cámara en el sistema. Edite el comando anterior para que el número X sea el mismo que el que aparece en la salida del último comando.

    Es posible aumentar la resolución del video y la velocidad de fotogramas alterando los campos de ancho, alto y velocidad de fotogramas en el comando de ejemplo anterior. Los valores de ejemplo que se muestran arriba son muy conservadores, pero garantizan que la transmisión de video sea posible incluso en las condiciones de red más difíciles al generar una transmisión de tasa de bits muy baja. Tenga en cuenta que cualquier ancho, alto y velocidad de fotogramas solicitados debe ser compatible con la cámara de video; de lo contrario, el comando volverá con un error. Edite los campos HOST y PORT para que apunten a su servidor de transmisión de video en particular.

    Una vez que se verifica que el video se está ejecutando, se puede convertir en permanente modificando ligeramente el comando para:

    nohup gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=10/1 ! clockoverlay time-format="%x - %X" \
    ! videoconvert ! omxh264enc ! video/x-h264,profile=baseline ! h264parse ! mpegtsmux ! rtpmp2tpay ! udpsink host=HOST port=PORT async=false &

    Esto se ejecutará hasta que se apague el RPi o se desconecte la cámara.

    Una List of TCP ports se considera necesario que esté abierto para la correcta conexión a Internet entre el ordenador del aparato y el servidor central.

    Para los péndulos del socio principal, el parámetro HOST del comando de transmisión debe establecerse como se indica en las sesiones de entrenamiento. El PUERTO debe configurarse como se indica en Port listing page. Para cada péndulo secundario, se puede seguir el mismo proceso. Sin embargo, los socios deben configurar una infraestructura de transmisión independiente para la transmisión de video de péndulos secundarios.

    Para que la información necesaria esté disponible para que los usuarios puedan conectarse a la transmisión, SDP los archivos deben estar disponibles. Estos se pueden abrir de forma independiente en el software del reproductor de video, como VLC, o visto a través del software cliente de péndulo. El archivo se puede hacer adaptando la plantilla a continuación, reemplazando el NOMBRE DEL EXPERIMENTO y el PUERTO por los campos apropiados, como se muestra en la Port listing page. El campo HOST debe configurarse con el mismo valor que se describe en las sesiones de capacitación.

    v=0
    o=- 16251185917537979632 16251185917537979632 IN IP4 EXPERIMENT NAME
    s=EXPERIMENT NAME
    i=N/A
    c=IN IP4 HOST
    t=0 0
    a=tool:vlc 3.0.8
    a=recvonly
    a=type:broadcast
    a=charset:UTF-8
    m=video PORT RTP/AVP 33
    b=RR:0
    a=rtpmap:33 MP2T/90000
    

    El archivo SDP debe crearse con el mismo nombre que se indica en la Port listing page. A continuación, este archivo debe transferirse al servidor responsable de ponerlo a disposición de la web como se indica en las sesiones de formación.

    En caso de que no se utilice ttyS0, se puede utilizar un enlazador simbólico si es necesario:

    ln -s /dev/ttyAMA0 /dev/ttyS0
    

    Iniciar automáticamente en RPi Boot

    Para que los programas se inicien automáticamente cuando se inicia el RPi, edite el archivo /etc/rc.local, ejecutando

    sudo nano /etc/rc.local
    

    Suponiendo que el servidor de hardware se ha colocado en la carpeta indicada en la sección anterior, agregar las siguientes líneas al archivo, antes de la salida 0 y después de la fi, hará que el RPi inicie el servidor de hardware y el video se transmite automáticamente a medida que se inicia sin más intervención.

    sleep 120
    su USER -c "/home/USER/rec-deployment/exp_name/expDaemon.sh start &"
    su USER -c "(gst-launch-1.0 v4l2src device=/dev/video0 ! \
     video/x-raw,width=320,height=240,framerate=10/1 ! \
     clockoverlay time-format=\"%x - %X\" ! \
     videoconvert ! \
     omxh264enc ! \
     video/x-h264,profile=baseline ! h264parse ! \
     mpegtsmux ! rtpmp2tpay ! \
     udpsink host=HOST port=PORT async=false ) &"
    

    Tenga en cuenta que el HOST y PORT los campos deben reemplazarse como se muestra arriba. El campo USUARIO debe cambiarse para que coincida con la cuenta de usuario creada, normalmente wpa como se indicó anteriormente.

    En caso de que no se utilice ttyS0, se puede utilizar un enlazador simbólico si es necesario:

    ln -s /dev/ttyAMA0 /dev/ttyS0
    

    firmware dsPIC

    Programa dsPIC con Raspberry Pi

    Con la ayuda de un software de programación, el dspic se puede programar usando la Raspberry Pi. Mira esto page para obtener instrucciones.

    Descargar archivo de firmware

    Las versiones de firmware oficiales disponibles para descargar se presentan a continuación.

    Version 2021_01_96_22_08_46: File:Wp 2021 01 06 22 08 46.zip


    Página siguiente (Calibración)

    Links