Table of Contents

IE-0117 Programación Bajo Plataformas Abiertas

Proyectos Estudiantes

Proyectos

Programa del curso

Programa del Curso

Clases

Actividad 1: Instalación de Debian GNU/Linux y Comandos Básicos

Consiste en la instalación de Debian hasta tener un sistema gráfico completo, con el que se pueden instalar aplicaciones y tener acceso de administración al sistema. Al final se verán algunas utilidades de sistema comúnmente usadas.

IE0117: Actividad 1

Materiales

IE0117: Materiales

Actividad 2. Haciendo cosas Útiles Básicas!

Tenemos un sistema operativo y ya queremos comenzar a hacer algunas cosas interesantes.

IE0117: Actividad 2

Python

Actividad 1

yarp write with python
#!/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()

Actividad 2

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_())
Python yarp

* We use python for this example * Open a console and run “yarp server”. Leave this console running * Type “ipython” in another console, then in the ipython interpreter, type the following:

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)

Ideas para proyectos

Modulo Linux

Asistente de compras

- Pagina web - lista de compras - Aplicación de celular

  1. Conexion a base de datos
  2. Modificar si es necesario

- base de datos

Facilitación de mantenimiento para internet cafes

- Servidor tftp - Servidor dhcp - Creación de las imágenes - Selección de varios sistemas de archivos para instalar

Disponibilidad de servicios por red

- Servidor compartido de impresión y escaneo (cups) - Servidor archivos (nfs)

Reutilización de equipo obsoleto

- Estudio de aplicaciones y mercado - Prototipo funcional

(Tal vez es muy poco para dos)

Asistente personal (Final)
Sistema integrada para casa inteligente
Servidos integrado de almacenamiento
Sistema de anuncios y búsqueda de alquileres

(considerar unirlo al primer proyecto)

Proyecto final

Materiales