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.1456507780.txt.gz · Last modified: 2022/09/20 00:08 (external edit)