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 3
Esta actividad consiste en la instalación de un programa que no es parte de debian. También se utilizan los primeros programas sencillos de python.
Preguntas de la actividad
- Cuál es la diferencia entre instalar un programa que es parte de Debian y uno que no?
- En qué consiste el proceso de compilación?
- 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?
- Cómo comunico programas en python usando YARP?
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
- Python primer vistazo.
- YARP desde python.
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.
Python QT
sudo apt-get install libqt4-dev qt4-dev-tools python-qt4-dev pyqt4-dev-tools libtclap-dev
import sys from PyQt4 import QtGui,QtCore app=QtGui.QApplication(sys.argv) main_widget=QtGui.QWidget() button=QtGui.QPushButton("test", main_widget) main_widget.show() main_widget.setWindowTitle("test application") def testprint(): print "Works" QtCore.QObject.connect(button,QtCore.SIGNAL("clicked()"),testprint) sys.exit(app.exec_())
Evaluación
Yarp debe ser compilado correctamente y debe correr correctamente en la consola.
~~DISCUSSION~~
teaching/ie0117/actividad_3.1461002503.txt.gz · Last modified: 2022/09/20 00:08 (external edit)