Writing /var/lib/dokuwiki/data/meta/teaching/ie0117/actividad_3.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
teaching:ie0117:actividad_3
This is an old revision of the document!
Table of Contents
Actividad 4
Esta actividad consiste en la instalación de un programa que no es parte de debian.
Preguntas de la actividad
- Cuál es la diferencia entre instalar un programa que es parte de Debian y uno que no?
- Qué significa instalar un programa en los directorios de sistema? Y en el directorio de usuario (instalación local)?
- Por qué es más conveniente instalar un programa en el directorio de usuario?
- Para que sirve xstow? Cómo se puede usar para realizar una instalación en un directorio de usuario?
- Qué es YARP? Cómo se instala? Cómo se usan sus utilidades básicas?
- Qué es una red de YARP?
- Qué es procesamiento paralelo? Cómo puedo usar YARP para implementar procesamiento paralelo?
- En qué consiste un programa sencillo de python?
Temas tentativos a cubrir
- xstow
- Variables de entorno importantes para compilación y detección de programas ejecutables
- Proceso de compilación (en general)
- yarp
- Comunicación entre computadoras
- Redes de computadoras
- Abstracción de redes de computadoras usando Yarp.
- Cmake, autotools, Makefiles, PREFIX
Instrucciones
- Instale xstow. Siga el link siguiente para las instrucciones: Using xstow for local installations
- Instale yarp. Siga el link siguiente para las instrucciones: Installing YARP in debian
- Siga las instrucciones del profesor y los asistentes para la prueba de los programas yarp read, yarp write, yarpserver3 y yarp connect
- Al finalizar esta práctica asegurese de que yarp read, yarp write y yarpserver3 no están corriendo más. (Usando Ctrl-c y para estar más seguro use “ps ax”
YARP Write with Python
- Escriba el siguiente programa en un archivo llamado: my_yarp_write.py
#!/usr/bin/python
import sys
import yarp as y
from yarp import BufferedPortBottle as buffport
y.Network.init()
output_port=buffport()
output_port.open("/keyboard/out")
exit=False
while not exit:
a=raw_input()
if a=="exit":
exit=True
print a
bottle=output_port.prepare()
bottle.clear()
bottle.addString(a)
output_port.write()
- A este archivo active la bandera de ejecución.
- Abra una consola y ejecute “yarpserver3”. Deje esta consola corriendo.
- Abra una nueva consola y en el directorio donde almacenó el programa anterior ejecute el programa anterior:
cd ~/mi_directorio_python ./my_yarp_write.py
- Abra una nueva consola y ejecute un yarp read:
yarp read /read
- Conecte ambos módulos:
yarp connect /keyboard/out /read
- Introduzca texto en la consola que está ejecutando my_yarp_write.py
- Cancele la ejecución de todos los programas anteriores (ctrl-c en cada consola)
Módulo de procesamiento con python y yarp: Sumador
- Escriba el siguiente programa en un archivo llamado: my_summer.py
import yarp as y
y.Network.init()
input=y.BufferedPortBottle()
output=y.BufferedPortBottle()
input.open("/summer/in")
output.open("/summer/out")
While True:
inputbottle=input.read(False)
if inputbottle:
outputnumber=inputbottle.get(0).asDouble()+inputbottle.get(1).asDouble()
outputbottle=output.prepare()
outputbottle.clear()
outputbottle.addDouble(outputnumber)
else:
y.Time.delay(0.001)
- Ejecute yarpserver3, el programa que acaba de escribir, un yarp read y un yarp write conectados a los puertos correspondientes del programa anterior.
- En el yarp write usted puede escribir “10 10” y en la consola con yarp read usted puede ver el resultado de la suma.
Evaluación
Yarp debe ser compilado correctamente y debe correr correctamente en la consola.
~~DISCUSSION~~
teaching/ie0117/actividad_3.1473074021.txt.gz · Last modified: 2022/09/20 00:08 (external edit)