Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



viernes, 30 de diciembre de 2011

Beruby: Mi primer regalo de 2012

 Beruby: Mi primer regalo de 2012

La verdad es que me he llevado una grata sorpresa con Beruby.

Han tardado menos de una hora en enviarme el pago del mes del diciembre, ¡¡¡ cuando, según ellos, mismos tardan de 2 a 3 dias laborales !!!

Aquí teneis el comprobante del pago de mi paypal:


Es muy fácil ganar algo de dinero con ellos, dedicándole todos los días 10 minutos:
  1.  Visitando a sus anunciantes (ganar por visitas)
  2.  Comprando en las tiendas virtuales  (ganar por comprar)
  3.  Registrándote en los anunciantes  (ganar por registro)
  4.  Ganar Por Invitados (hasta un 2º nivel)
Te invito a probar Beruby apuntate con mi link de invitación.

Si tienes alguna duda sobre el funcionamiento, pues me preguntas :)


Aqui teneis un video que hice a principios del 2011, para que veais como es:


Saludos y Feliz 2012

miércoles, 28 de diciembre de 2011

Compartir carpetas en redes linux mediante nfs


Hola, estoy haciendo un programa el cual va a estar trabajando en distintos ordenadores, pero los datos (ficheros de imagenes), van a estar en uno en concreto (al que le llamo ordenador_servidor).
¿Como se pueden compartir un carpeta entre varios ordenadores con sistemas linux todos ellos?



Pues en el blog de http://www.technoblog.com.ar/index.php/2010/01/como-compartir-carpetas-en-una-red-linux-usando-nfs/
encontre la solución.

Pasos a seguir:
1. Instalo en los ordenadores servidor y clientes el programa nfs:
sudo apt-get install nfs-common nfs-kernel-server


2. En el ordenador  servidor, editamos el archivo /etc/exports para crear la carpeta compartida y añadimos en la ultima linea lo siguiente
/home/test      *(rw,sync,no_subtree_check)
Con esta linea indicamos que estamos compartiendo la carpeta que esta en /home/test con todos los usuarios de la red (por eso le ponemos "*"), y con los permisos de lectura y escritura. ("rw")


 Guardamos los cambios del archivo.

3. Reiniciamos el servicio nfs en el ordenador servidor:

sudo /etc/init.d/nfs-kernel-server restart
4. Para comprobar que se ha compartido escribimos:
sudo exportfs

Y nos mostrara que las carpetas carpetas que tengamos compartidas 


5. Ahora necesitamos saber cual es el IP del ordenador servidor:

ifconfig

Este comando nos dara cual es el ip. Suponemos que nos haya dado el numero:
Direc. inet:192.168.1.102

6. Nos vamos al ordenador cliente, creamos una carpeta en nuestro directorio llamada "compartida_ext"

mkdir /home/usuario/compartida_ext


, y creamos con gedit un script en bash, llamandolo "compartida.sh":

gedit compartida.sh

Y le añadimos:
sleep 30
echo "password_root" |sudo -S mount 192.168.1.102:/home/test /home/usuario/compartida_ext


La palabra password_root, la tenemos que sustituir por  pasword del root de nuestro sistema en el ordenador cliente.

Esto lo que hace es esperar 30 segundo,para que de tiempo al ordenador conectarse a la red, y luego monta la carpeta compartida.

Podemos poner en el inicio del sistema que arranque este script, asi siempre que  arranquemos el ordenador a los 30 segundos tendremos la carpeta ya accesible.

¡¡¡ terminado y funcionando !!!


Fuente:
-http://www.technoblog.com.ar/index.php/2010/01/como-compartir-carpetas-en-una-red-linux-usando-nfs/

- http://es.wikipedia.org/wiki/Network_File_System

- https://sites.google.com/site/fpoprogramadorsistemas/nfs-protocolo-de-red-sistema-de-archivos-de-red

martes, 27 de diciembre de 2011

Liberad ya a Miguel Montes Neiro #Montesacasa

Liberad ya a Miguel Montes Neiro #Montesacasa

Acción promovida por Familia Montes Neiro
Miguelmontes

A pesar del indulto del gobierno, Miguel Montes sigue en la cárcel. La Audiencia y la cárcel se lavan las manos. Pedimos a Gallardón que interceda.

 

Nuestro hermano Miguel Montes Neiro lleva más de 35 años en la cárcel, y es el preso más antiguo de España.
Miguel ingresó en la cárcel con 26 años y desde entonces ha acumulado condenas por delitos menores e intentos de fuga, y en principio debía permanecer en prisión hasta 2021.Ahora tiene 61 años y sufre de hepatitis y tuberculosis.
Tras conseguir el apoyo de más de 50.000 personas a través de una petición en Actuable, el gobierno le concedió el indulto el pasado 16 de diciembre.Desde entonces intentamos saber cuando vamos a poder abrazar a Miguel de nuevo. Hemos ido a la cárcel, a la Audiencia de Granada, a los Juzgados, presentado escritos, solicitado permisos...pero nadie nos dice nada, todo el mundo se pasa la pelota.
El problema es que no somos ricos, ni tenemos ejércitos de abogados. Si fuese así, Miguel ya estaría en la calle. Lo único que pedimos es que Miguel pueda empezar el año con nosotros. Gracias a vosotros conseguimos el indulto. Ahora os pedimos que nos ayudéis a que Miguel salga de la cárcel de una vez, pidiéndole al nuevo Ministro de Justicia que interceda para lograr su liberación.
Millones de gracias por vuestro apoyo

Al firmar la petición estarás enviando esta carta

Destinatario: Sr. D. Alberto Ruiz-Gallardón, Ministro de Justicia

Estimado señor Ministro:
Sé que conoce bien el caso de D. Miguel Montes Neiro, el preso más antiguo de España. Miguel lleva casi 35 años en prisión a pesar de no haber cometido ningún delito de sangre.
El pasado 16 de diciembre, el Consejo de Ministros aprobaba dos indultos parciales a Miguel. A su vez, el Tribunal Supremo ha dictaminado que la Audiencia de Granada debe revisar el cálculo de las penas de Miguel. Ese nuevo cálculo supondría el tercer grado inmediato.
A pesar de todo esto, Miguel sigue en la cárcel, y nadie parece hacerse responsable de liberarle. La Audiencia y la dirección de la prisión hacen caso omiso a las peticiones de la familia de saber cuando podrá salir.
Por ello, le ruego que haga todo lo que esté en sus manos para acelerar el trámite de su puesta en libertad, para que Miguel pueda empezar el año con los suyos.
Atentamente,

Para firmar:
http://actuable.es/peticiones/liberad-ya-miguel-montes-neiro-montesacasa-2


 

domingo, 25 de diciembre de 2011

Videotutoriales para Diseño Gráfico en Gnu Linux: Gimp

Videotutoriales para 
Diseño Gráfico en Gnu Linux
Usando Gimp


Os dejo esta dirección del canal de keinek
que se ha "currado" 28 videotutoriales de Gimp




Videotutoriales para edición de videos en Gnu Linux: Openshot


Videotutoriales para edición de videos con gnu/linux
Openshot




OpenShot, ( http://www.openshot.org/ ), en un sencillo pero muy útil editor de video. Os dejo varios videos tutoriales realizados por Keinek


1º Clase:
- Presentación.
- Unimos dos vídeos con una transición.


2º Clase:
- Generamos un vídeo a partir de distintas fotos.
- Unimos las imágenes con transiciones y agregamos música.
- Generamos un vídeo nuevo resultante.
3º Clase
- Agregamos títulos a un trabajo previo.
- Generamos un vídeo nuevo resultante.
 4º Clase
- Cortamos dos vídeos para luego unirlos y agregamos transiciones.
- Generamos un vídeo nuevo resultante.
 5º Clase
- Agregamos títulos y efectos.
- Generamos un vídeo nuevo resultante

 6º Clase
- Agregamos títulos animados 3D.
- Generamos un vídeo nuevo resultante
 7º Clase
- Agregamos un audio de fondo al proyecto.
- Generamos un vídeo nuevo resultante

 8º Clase
- Agregamos efectos a los vídeos.
- Generamos un vídeo nuevo resultante
 9º Clase
- Agregamos un efecto con 4 fotos.
- Generamos un vídeo nuevo resultante

 10º Clase
- Generamos Títulos en GIMP para luego llevarlos a OPENSHOT.
- Generamos un vídeo nuevo resultante

 Material Extra:
- Trabajamos con el programa Mobile Media Converter. ( Para descargar mobileMedia Converter Down)
- Convertimos un video .MP4 a .3GP

sábado, 24 de diciembre de 2011

Algunas notas para configurar ubuntu 11.10

Para instalar Blender en Ubuntu 11.10  puede hacerse fácilmente vía repositorios abriendo una terminal y escribiendo:
sudo add-apt-repository ppa:cheleb/blender-svn
sudo apt-get update
sudo apt-get install blender



Poner el menu de gnome en ubuntu 11.10
sudo add-apt-repository ppa:diesch/testing
 sudo apt-get update
 sudo apt-get install classicmenu-indicator




Poner el menu en las aplicaciones:

Si no te gustan los menus en la parte de arriba del sistema operativo y los quieres de nuevo en las ventana de cada aplicacion entonces escribe esto en la consola:
sudo apt-get remove appmenu-gtk3 appmenu-gtk appmenu-qt

Marlin:
Un nuevo explorador de archivos mas rápido que Nauitilus
sudo add-apt-repository ppa:marlin-devs/marlin-daily
sudo apt-get update
sudo apt-get install marlin
Cambiar la posicion de los botones Minimizar-Maximizar-Cerrar
Descarga y ejecuta este script: window_controls.py




Fuentes:
http://webypc.net/instalar-blender-2-60-en-ubuntu-11-10/
http://fsandin.wordpress.com/2011/11/14/instalar-el-menu-clasico-de-gnome-en-ubuntu-11-10/#comment-874
http://lavidalinux.com.ar/2011/10/5-utiles-minitutoriales-para-despues-de-instalar-ubuntu-11-10.html
http://www.ubuntizandoelplaneta.com/2011/12/como-instalar-marlin-en-ubuntu.html
http://www.ubuntips.com.ar/2010/03/09/script-para-modificar-graficamente-la-posicion-de-los-botones/

Traduccion del ejemplo del programa Contactos del libro "A Beginner's Guide to Gambas, revisada para Gambas 3 "


Manual y ejemplo del uso de clases, colecciones 
y
como abrir y guardar datos en ficheros planos en Gambas




Del libro "A Beginner's Guide to Gambas, revisada para Gambas 3", he traducido parte del capitulo 11, dedicado a la programación orientada a objetos, donde viene un ejemplo sencillo, sobre como hacer una agenda usando clases y colecciones de clases.



Aqui teneis los enlaces de descarga.
http://manualgambasenaleman.googlecode.com/files/Programa%20Contactos.pdf
http://manualgambasenaleman.googlecode.com/files/Classes-0.0.2.tar.gz

Enlace Mirror en box:
https://app.box.com/s/f3l67an36bcr51f1di1u
https://app.box.com/s/rzdgawkivlsyaa8o73x2



Saludos y Feliz Navidad.




Fuente:

http://beginnersguidetogambas.com/

lunes, 19 de diciembre de 2011

Amigos del software libre… el Linex ha muerto.

He leido en un blog, la siguiente  noticia:

Extremeños… el Linex ha muerto.


Bueno, hoy exactamente no, será el 30 de Diciembre de 2011 a eso de las 15h. cuando los trabajadores de CESJE salgan de trabajar para no volver.6819a01 in Extremeños... el Linex ha muerto. CESJE, perteneciente a GPEx, es el Centro de Excelencia de Software Libre José de Espronceda, el organismo de la Junta de Extremadura que se dedica, o dedicaba, a desarrollar, potenciar y difundir todas las actividades que tengan que ver con el Software Libre, e integrar desarrollos bajo la plataforma LinEx
Y ayer todos sus trabajadores recibieron una carta en la que se les comunicaba su rescisión de contrato para el día 31 de diciembre, cumpliendo asi los plazos legales. Todos ellos entran en el contingente de 620 trabajadores que el Gobierno de Extremadura está despidiendo de la empresa pública GPEx.
Así, el días 3 de Enero no habrá nadie en la Junta de Extremadura que trabaje a favor del Software Libre y del Linex. Nadie moverá una tecla para desarrollarlo. Solo un pequeño grupo dependiente de la Consejería de Educación seguirá, por ahora, desarrollando Linex-Edu hasta que el Secretario General del ramo consiga la excusa para cerrarlo.
Nota: los 620 despidos son de la empresa GPEx que engloba a otras muchas, una de ellas CESJE que entre otras cosa, como ya he comentado en el post, se dedica a desarrollar las diferentes variantes del Linex excepto Linex-Edu. Son unos 12 trabajadores en CESJE de los que 4 hacen linex

Es una triste noticia, primero para los trabajadores que van a engrosar las listas del paro (y más en estas fiestas de navidad), y para el resto del mundo relacionado con el Software Libre, donde la administración de Extremadura fue un pionero en implantarlo.

Bueno, no es malo para todo el mundo..... algunas multinacionales dedicadas al software, van a hacer caja a costa de vender licencias, mantenimientos, etc....

Fuente:

http://alasombradeltomate.es/2011/12/16/extremenos-el-linex-ha-muerto/

sábado, 10 de diciembre de 2011

Generador de Códigos QR: Un FrontEnd de los comandos qrencode y libdecodeqr. Crea y lee Codigos QR en gnu linux


Gestor de códigos QR

Crea y lee tus códigos QR personalizados 
en gnu linux









NOTA IMPORTANTE: 04/03/2014
ESTA VERSION ES PARA GAMBAS2
SI QUEREIS USAR LA VERSIÓN MAS ACTUAL PARA GAMBAS3 esta en la siguiente dirección:  

Este programa es un FrontEnd para los comandos qrencode y libdecodeqr, que generan y leen códigos  QR (¿que es un código QR?)

Estos códigos son muy cómodos para organizar paquetería, indicar direcciones web, etc.

Con este programas podemos crearlos, escribiendo un texto o una la dirección Url, y leerlos, ya sea de un archivo de imagen .png o directamente desde la captura de una webcam.

Además es capaz de detectar si están instalada las librerías necesarias (la del qrencode y libdecodeqr) e instalarlas.

Aquí podes ver varios pantallazos del programa en ejecución:


Capturando con la webcam:


Generando un archivo html:

Aqui os dejo el código fuente: enlace
Y el ejecutable: enlace



También podeis ver el código fuente en la pestaña de "Codigo fuentes de algunas aplicaciones"


Nota:
Actualización:
Para gambas3: http://jsbsan.blogspot.com.es/2014/03/actualizacion-para-gambas3-generador-de.html


Saludos

Fuentes:
http://openyourshell.wordpress.com/2011/04/28/codigo-qr-con-qrencode-en-gnulinux/
Y solución para el refresco de picturebox- drawing-> http://www.gambas-es.org/viewtopic.php?f=4&t=1694&highlight=picturebox+refresco

viernes, 9 de diciembre de 2011

Nueva Red Social pero distinta a las demas: Diaspora


Diaspora: la nueva red social libre


Esta red social  es diferente, es libre y respeta la privacidad del usuario.








"En Diaspora tú eres el dueño de tus comentarios y tus fotos. Si borras algo, se borra de verdad. Si eliminas un comentario, se elimina de verdad. No hay robots espiando tus conversaciones, recopilando tus datos o traficando con ellos. Eso es para Facebook y Tuenti. En Diaspora todo es limpio, transparente y diáfano."
Aqui tenéis una captura:



También, en los mensajes que escribes puedes usar los # delante de tus palabras como en Twitter.

Y para apuntarte:  https://diasp.org/

Saludos


Fuentes:
http://www.pillateunlinux.com/diaspora-esta-en-marcha-%C2%BFquieres-probarlo/
http://es.wikipedia.org/wiki/Diaspora*

jueves, 8 de diciembre de 2011

MiTabCity: Conexion por wifi a tu ordenador y mejoras para su uso.


Como conectar tu MiTabCity 
(o cualquier teléfono movil 
android o tablet)
con tu ordenador PC
mediante WIFI
y algunas mejoras para
convertir tu MiTabCity 
en un centro multimedia 





Hola, debido al éxito que esta teniendo la entrada  dedicada a esta tablet, he realizado esta otra.

Esta vez os comento dos temas:

- Como conectar tu miTabCITY a tu ordenador mediante WIFI:




- El programa WebSharing: Compartir contenido de la tarjeta microSD (para el caso de la MiTabCity)

Os voy a comentar el programa WebSharing (mas abajo os encontrareis el enlace de descarga). Se trata de un programa donde podeis compartir vuestros archivos que tengais en MiTabCity con vuestro ordenador, muy fácilmente. Debemos tener una tarjeta microSD insertada, ya que es este dispositivo de almacenamiento el que se comparte. He probado con una memoria lapiz-usb pero no la reconoce el programa :(

Una vez descargada la aplicación, se instala y tendreis el nuevo icono en vuestro menu de aplicaciones.



Si la ejecutáis, y pulsáis a START, hara la conexión a vuestra red wifi. (foto adquirida de otra web):





y ahora si en vuestro navegador (yo lo he probado en firefox y Chrome), poneis la direccion: http://192.168.2.7:2112/ 

y el password que os da la aplicación en el movil: nc23q

(nota: estos numeros y password, pueden cambiar segun vuestra red y el momento de la ejecución de la aplicación, poned los que os ponga en vuestra tablet/movil)



Aqui teneis un video explicando un poco el uso del programa: (vereis que en el video la direccion http, es distinta)











Enlace de descarga del Websharing:
Para los que tengais Market Android:  http://android.nextapp.com/site/websharing

Directamente los archivos de instalación: 
Websharing version 1.6.1.apk

Websharing version 1.2.2.apk

Nota:
Las dos versiones las he probado en mi tabled MiTabCity y funcionan.



- El programa Es Explorer

Este programa también varios opciones de compartición de archivos.
 Por FTP: mediante un servidor externo podeis subir los archivos a ese servidor y luego bajarlos a vuestro ordenador.

Yo uso servidores ftp gratuitos :
 www.000webhost.com

y el programa Filezilla para el pc:







Enlace de descarga del Es  Explorer:
https://market.android.com/details?id=com.estrongs.android.pop&hl=es





Nota Importante:
Comentaros que podeis encontrar programas .apk en la siguiente dirección:
FileCrop : Search Engine for Shared Files (Motor de busqueda de archivos compartidos)








- Como usar la tablet MiTabCity como "ordenador" y reproductor de películas.

Con el transfer-box que trae MiTabCity, le he puesto un teclado+ratón inalámbrico, además de conectarle dos altavoces que tenía.


De esta manera, puedo navegar, escribir correos, etc,  cómodamente con la tablet.


El transfer-box, no admite tener más más de un dispositivo USB (en la foto veis que uso un ladron de usb, pero solo me admitio un dispositivo usb).

Para ver películas, use un lápiz usb (quitando el dispositivo inalámbrico del teclado+ratón) donde tenia grabada una película, y se reprodujo sin ningún problema y con buen sonido (con los altavoces del pc!!). Los formatos que admite esta tableta son el: mpeg, mjpg, h263, h264.


Fuentes:
Un blog interesante que me he encontrado ha sido:
http://laguaridadelandroide.wordpress.com/2010/02/11/explora-tu-android-por-wifi-con-websharing-genial/

donde explican cosas sobre android y el programa websharing.


Saludos

miércoles, 7 de diciembre de 2011

Programa Para Ver Videos De Megavideo Sin Restriccion


MOVIE1

Descarga videos de Megavideos sin sus restricciones...





Este programa nos sirve para descargar videos de megavideos sin sus restricciones (72 minutos, es capaz de abrir varias secciones de descargas, misma ip, etc.)

Los autores  son: Juan Luis Lopez y Enchufadoo
(vease:  enlace post del foro gambas es org)

Enlace de descarga del:
        - codigo fuente (versión movie1.00)
        - ejecutable en .gambas
        - y para diversas distribuciones
            (ubuntu, opensuse, mandriva, debian, fedora)

están alojados en: Enlace de descarga


también podeis ver el codigo fuente en la pestaña de codigo fuentes de algunas aplicaciones





Saludos

Nota:
Aquí os podéis descargar tanto el código fuente como los paquetes de instalación para las varias distribuciones de gnu/linux

lunes, 28 de noviembre de 2011

¿tu contraseña es segura? Comprobador de Contraseñas/Password


¿como saber si nuestra
 contraseña es segura?

Esta es una dirección web que me ha pasado jguardon, el administrador del foro de gambas-es.org ,  para comprobar si nuestras contraseñas son seguras:





Saludos

sábado, 19 de noviembre de 2011

Gambas: Convenciones Acerca de Nombres de Variables

En este enlace del gambasdoc, podeis ver reglas para nombrar variables, algo muy interesante para facilitar compartir códigos:




Prefijos convenidos para tipos comunes de variables

Tipo de variablePrefijo
Integeri
Floatf
Booleanb
Bytebt
Shortsh
Longl
Singlesng
Variantv
Pointerptr
Strings
Datedate
Objecto

Prefijos convenidos para matrices o colecciones

Tipo de variablePrefijo
Matriz estáticaar + prefijo de tipo
Integer[]ari
Float[]arf
Boolean][]arb
Byte][]arbt
Short[]arsh
Long[]arl
Single[]arsng
Variant[]arv
String[]ars
Date[]ardate
Object[]aro
Collectioncol

Tipos especiales

Tipo de variablePrefijo
Filefi
Processproc

Prefijos de ejemplo para algunos componentes

Tipo de variablePrefijo
Formfrm
TextBoxtxtb
TextAreatxta
ListBoxlstb
ComboBoxcbo
Timertmr
Buttonbut
ToggleButtontglbut
ToolButtontbut

Como comprobar si ya esta ejecutandose el mismo programa: comando PS y Gambas


Comando ps en Gambas

Algunas veces nos interesa saber si nuestro programa se esta ejecutando por una 2º vez.
En gnu/linux, tenemos el comando "ps" que nos muestra los programas que se esten ejecutando, con el argumento "a", nos va a mostrar todas los programas que se esten ejecuntado en las distintas terminales.



¿como poder usar este comando en Gambas?
Una opción es usarlo con el comando "Shell", por ejemplo, creo un modulo llamado "comprobar" y este es su codigo:

' Gambas module file
' nombre: es el nombre de la aplicacion que estamos buscando ver si esta ejecutandose 2 veces.
PUBLIC SUB ejecucion(nombre AS String) AS Boolean
DIM texto AS String
DIM buscar AS Integer
DIM buscar2 AS Integer

SHELL ("ps a >" & User.home & "/temporal.process") WAIT

texto = File.Load(User.home & "/temporal.process")
KILL User.home & "/temporal.process" ' para no dejar restos
buscar = InStr(texto, nombre)
IF buscar <> 0 THEN
buscar2 = InStr(Mid$(texto, buscar + Len(nombre), Len(texto)), nombre)
IF buscar2 <> 0 THEN
'se ha encontrado una 2º ejecucion
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
ENDIF
RETURN FALSE
END


En este código con la orden: SHELL ("ps a >" & User.home & "/temporal.process") WAIT
vamos a crear un archivo "temporal.proccess", que va a contener la salida que genera el "ps a" (para ello usamos el redireccionamiento ">".

luego cargamos el contenido de este archivo en la variable texto:
texto = File.Load(User.home & "/temporal.process")
Y empazamos a analizalo:
Primero buscamos si existe dentro de "texto", el contenido de la variable "nombre"
buscar = InStr(texto, nombre)
Si lo encuentra (busca es distinto a cero), procede a otro busqueda, entre el resto del texto y el total de la longitud, buscando el contenido de la variable "nombre"
buscar2 = InStr(Mid$(texto, buscar + Len(nombre), Len(texto)), nombre)
Y si busca2 tambien es distinto a cero, entonces eso indica que has por lo menos 2 veces, y por lo tanto 2 ejecuciones.

Para usar este procedimiento:
.....

if comprobar.ejecucion("hola.gambas") then  Message.Info("Se esta ejecutando por lo menos 2 veces")

.....



Descarga del Codigo fuente


Saludos.

Fuente:
https://sites.google.com/site/fpoprogramadorsistemas/sistemas-de-procesos-en-gnu-linux

Enlaces de interes:
Instr
Shell
file.load
Foro: Gambas es org: Permitir Una Sola Ejecución.

viernes, 18 de noviembre de 2011

Mi primera aplicacion con Gambas y Arduino


Arduino y Gambas
Mi primera aplicación

Hoy os traigo mi primera aplicación con Gambas y Arduino.
Es algo muy sencillo,el tipico encendido de led y apagado, pero bueno... por algun lado hay que empezar... :)

Hay que diferenciar 2 partes:
La programación de arduino:
Lo primero que hace es conectarse al puerto serie a una velocidad 9600, y mandar un mensaje "Conectado con el Arduino.Hello world". Luego entra en un loop, donde según reciba el valor "1" o "0", enciende o apaga el led conectado al puerto 13, enviando el correspondente mensaje al puerto de serie de "Arduino: He apagado/encendido el led 13"

int dato;
void setup()
{
// Inicializamos puerto serie a 9600 bps
Serial.begin(9600);
pinMode(13, OUTPUT);
// Enviamos "Hello World" con salto de línea al final
Serial.println("Conectado con el Arduino. Hello world!");
//arduino manda esta cadena al PC
}
void loop()
{
//¿Existen datos por el puerto serie?
if (Serial.available()) {
//Guardamos el dato por la variable dato
dato=Serial.read();
// Serial.println(dato);
switch (dato) {
case 49:
// escribo 1 en el PC y lo envio
//Apagamos el led 13
digitalWrite(13,LOW);
Serial.println("Arduino: He apagado el led 13");
break;
case 48:
// escribo 0 en el PC y lo envio al arduino
//Encendemos el led 13
digitalWrite(13,HIGH);
Serial.println("Arduino: He encendido el led 13");
break;
}
}
}


Por otro lado esta el programa en gambas (basado en el ejemplo que trae gambas sobre el puerto serie):

Lo que hace el programa es configurar el puerto serie, y esperar al que el usuario pulse el boton de "Abrir" que se encarga de abrir el puerto y dejar las propiedade del boton de icono led verde activo, para que podamos pulsar sobre el.

Cuando pulsas sobre el boton, manda un mensaje al arduino, el mensaje varia si esta encendido o apagado (variable "encendido")


' Gambas class file
PUBLIC encendido AS Boolean

PUBLIC SUB Form_Close()
IF Sport.Status = Net.Active THEN CLOSE Sport
END

PUBLIC SUB Button1_Click()
IF Sport.Status = Net.Active THEN
CLOSE Sport
Button1.Text = "Abrir"
Label3.Enabled = FALSE
ToolButtonLed.enabled = FALSE
ELSE
' Line parameters
Sport.PortName = TxtPort.Text
Sport.Speed = CmbSpeed.Text
Sport.Parity = CmbParity.Index
Sport.DataBits = CmbData.Text
Sport.StopBits = CmbStop.Text
' keep DTR on
Sport.FlowControl = ComboBox1.Index
Sport.Open()

TextArea1.Text = "Port Abierto : " & Sport.PortName & " Settings : " &
Sport.Speed & "," & Sport.Parity & "," & Sport.DataBits & "," &
Sport.StopBits & Chr(13) & Chr(10)
Button1.Text = "Cerrar"
Label3.Enabled = TRUE
ToolButtonLed.enabled = TRUE
END IF
END

PUBLIC SUB SPort_Read()
DIM s AS String
READ #Sport, s, Lof(Sport)
TextArea1.Text = TextArea1.Text & s
END


PUBLIC SUB ComboBox1_Click()
Sport.FlowControl = ComboBox1.Index
END


PUBLIC SUB Form_Open()
ME.center
cmbSpeed.Index = cmbSpeed.Find("9600")
END


PUBLIC SUB ToolButtonLed_Click()
IF encendido = FALSE THEN
TRY PRINT #Sport, "0" 'enciendo led
IF ERROR THEN Message.Error("tienes que abrir el puerto")
ToolButtonLed.Picture = Picture["ledVerdeEncendido.jpg"]
encendido = TRUE
ELSE
PRINT #Sport, "1" 'apago led
ToolButtonLed.Picture = Picture["ledVerdeApagado.jpg"]
encendido = FALSE
ENDIF
END

Os dejo un video para que veais como funciona:




Codigo fuentes:
Arduino: puertoSerieEncendidoYapagado.pde
Gambas: SerialPort-Arduino 0.0.18.tar.gz

fuentes:
 Me he basado en las explicaciones de este blog:
http://www.craswer.net/2011/02/arduino-y-puerto-serie/
Y en el ejemplo que trae gambas2 sobre el puerto serie.

Nota: 22/01/2012
Lo que esta leyendo el arduino es la "salida" que genera la aplicación Gambas.

Gambas le envia un caracter "1" o "0" (no el número el 1 o 0).

El caracter "0" corresponde en la tabla ASCII al 48,
Y el caracter "1" corresponde en la tabal ASCII al 49

Por eso el tema de usar el  48 y el 49 en el código de Arduino.

Nota:
Una entrada interesante sobre lectura de entras analogicas:
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDEQFjAA&url=http%3A%2F%2Fplatea.pntic.mec.es%2F~mhidalgo%2Fdocumentos%2F04_2011_EntradasAnalogicas.pdf&ei=duguT6rcHNOBhQfts4WCCw&usg=AFQjCNH2BooTBKKIlgGrNE4GFWNj9cuFAw&sig2=3jowRw23996gFHStD4_nzw

Otra entrada interesante:
http://recursostic.educacion.es/observatorio/web/es/equipamiento-tecnologico/didactica-de-la-tecnologia/944-monografico-arduinoblocks?showall=1

Y otro..
http://www.arduinoacademy.com/

Notas: 
03/05/2012
Podeis ver un ejemplo más complejo en el siguiente enlace:
http://jsbsan.blogspot.com.es/2012/05/arduino-y-gambas3-lectura-y-graficos-de.html

19/05/2012
Podeis ver otro ejemplo (con dos ServoMotores) en este enlace:
http://jsbsan.blogspot.com.es/2012/05/gambas-y-arduino-moviendo-dos.html

27/01/2014: Solución Error: Cannot open serial port (5)


Tengo un arduino más moderno (tipo leonardo), y cuando ejecuto el programa me da el siguiente error Cannot open serial port(5). 
Esto es debido a  que tiene ya un verdadero puerto USB y ahora nombre del puerto de conexión se llama: /dev/ttyACM0 (en vez de /dev/ttyUSB0)

Con este cambio, en los datos del programa que hay que poner inicialmente,  ya se  ejecuta correctamente con este tipo de arduino:

Nota:
en el entorno del Ide de Arduino, cuando elegimos el tipo Leonardo, el puerto serie se denomina tambien  /dev/ttyACM0



Saludos