Páginas

sábado, 20 de diciembre de 2014

"Control Raspberry Pi with Visual Basic .NET and SSH"

"Control Raspberry with Visual .NET"




Este nueva entrada en la que he estoy trabajando es un poco más compleja si la comparamos con otras entradas del blog. Lo que quiero mostrar principalmente en ella será como hacer una conexión SSH a través de una aplicación desarrollada con Visual Basic .NET para poder controlar los pines GPIOs de la famosa y estupenda tarjeta Raspeberry Pi que tan extendida se ha hecho. Además, como extra, añadiré la posibilidad de enviar notificaciones del estado de los pines GPIOs vía emails.




A continuación os dejo un vídeo demostración de como funciona parte de la aplicación, en la que os muestro como controlar las GPIOs desde el móvil vía Wifi.



Como se puede apreciar, los cambios producidos sobre los pines de las GPIOs se traducen en el envío de emails a la dirección que se haya elegido en la aplicación. Además en el propio email se envía el texto de indicación así como una imagen adjunta en el mismo como se puede apreciar en la imagen de más abajo.









¿Por que en Visual Basic .NET? Pues sencillamente, porque es en el lenguaje Visual en el que más cómodo me siento programando aplicaciones GUI y además no hay prácticamente casi nada hecho en "Visual Basic .NET para Raspberry Pi".

¿Por que el control a traves de SSH? Es un protocolo seguro de conexión y además es muy potente una vez tenemos creada la conexión con el equipo destino. 

¿Por que usar una Raspberry Pi? Obviamente es una tarjeta muy barata, si la comparamos con las características que nos suministra y la cantidad de cosas que se puede hacer con ella. Fácil de obtener, de poner en marcha y con multitud de posibilidades para hacer prácticamente casi cualquier proyecto de mediana complejidad.



Aquí esta la tarjeta y en breve por supuesto todo el proyecto ......






Working .....



















"Control Raspberry with Visual .NET"
"Control Raspberry with Visual Basic .NET"
"Control SSH Raspberry Pi Visual Basic .NET"
"Control GPIOs with Visual Basic .NET"


----------------------------------------------------------------------------------------------------------------------------------------------------------------
Por favor, si te ha gustado el blog, te ha ayudado o has visto algún proyecto interesante del que te has podido descargar alguna documentación por favor deja algún comentario. Gracias.
----------------------------------------------------------------------------------------------------------------------------------------------------------------

4 comentarios:

  1. Hi, sounds great. Did it become real or is it just an idea? I and probably many others would be very interestet how the ssh connection has to be programmed under VB. I tried to use 'c:\plink.exe -ssh -pw pi@ ' but it did't work

    Andreas, Germany, Frankfurt

    ResponderEliminar
  2. Hi,
    Of course that it work. Yesterday I decided for your interest in update the page of the blog a little, because I have a lot of things to explain but little time to do it and it true that with only the documentation shown, it seem that the proyect is not working but really works properly. I'll try to uploading all documentation as soon as possible, but although it seem the most easiest work it is the most difficult to do. I hope that in a month and half at least the most important information is ok.

    A greeting.

    ResponderEliminar
  3. Hola Ruben,
    Me parece muy interesante tu proyecto, pero he intentado ver el video y no funciona.
    Usas un VB especial para Raspberry o es el VB estándar que se usa en PC?
    Lo programas en el PC y luego lo compilas para instalarlo en la SD de la RaspBerry?
    Gracias de antemano

    Jesús, Barcelona

    ResponderEliminar
  4. Hola Jesús,

    Lo he verificado y parece que si que funciona, pero a pesar de ello he incluido un enlace justo debajo del vídeo para que se pueda descargar sin mayor problema. Mira a ver si ahora es posible y puedes verlo correctamente.

    Sobre lo que preguntas, te respondo: El VB que he usado es el estandar que se usa para PC, Lo que he hecho ha sido realizar una aplicación (tipo interfaz gráfica) que ejecuto en un PC con Windows. Tras ejecutarse lo que hago es una conexión SSH (gracias a Putty) a través de Visual Basic a la tarjeta Raspberry. Una vez establecida la conexión capturo el volcado de los comandos que le envío por SSH y hago un análisis para saber el estado de los pines GPIOs de la misma. Para saber ese estado es necesario instalar una libreria interface en la Raspberry denominada Wiring Pi (la puedes descargar de este enlace http://wiringpi.com/download-and-install/)
    Con ella te permite hacer el control de todas las GPIOs, desde la propia Raspberry. En este caso lo que yo he aportado ha sido hacer la aplicación con interfaz gráfica para el control remoto a través de un PC con Windows usando Wiring Pi (en la Raspberry) y Putty (en la aplicación del PC). De tal forma que es posible controlar el estado y la configuración de estos pines desde una aplicación de un PC a través de SSH de forma gráfica y añadiéndole algunas otras opciónes. Además se puede elegir la posibilidad de enviar emails de forma automática indicando el estado actual de la GPIOs elegidas así como el contenido e incluso la foto que se adjunta al propio email, entre otras características.

    Para hacer el video demo lo que hice fue instalar una aplicación en el móvil para controlar las GPIOs y así demostrar como automáticamente se actualiza el estado de las GPIOs en la aplicación del PC cuando se hacían cambios y viceversa, cuando se hacen cambios en la aplicación del PC estos cambios se actualizan en la aplicación del móvil.

    Espero haberte aclarado un poco mas.

    Un saludo.

    ResponderEliminar

Deja tu comentario