Node.js App orientado a IoT


Para esta primera aplicación respecto al diagrama del post primario ( click aquí ) se usará Node.js y Socket.io para comunicar el front-end y Raspberry Pi, lo que será nuestro servidor de backend.

Crear máquina virtual

Continue reading “Node.js App orientado a IoT”

Mini sistema orientado a IoT


El pasado lunes 6 de abril se llevó a cabo IoT Expert Day, el cual durante el día se llevaron a cabo charlas introductorias al Internet de las Cosas y se mostraron ejemplos de cada tema; luego, después del medio día se llevó a cabo un taller para crear un sistema orientado a IoT para que todos los participantes pudieran tener un primer acercamiento.

Este taller que ahora dejo en disposición de manera online consta de los siguientes elementos:

  • Programa escrito en Arduino para encender un led
  • Aplicación hecha con Node.js y Socket.io, para servir de interface de conexión
  • Aplicación en Python para recibir todos los comandos por medio de Internet
  • Web App para controlar el led
  • Event Hub para registrar todos los eventos
  • Programa en C# para demostrar el funcionamiento de los Event Hub
  • Finalmente dejaré una aplicación móvil para que sea más realista el ejemplo

diagrama del sistema Continue reading “Mini sistema orientado a IoT”

Crear un backend rápido y poderoso con Socket.io en Azure


Siguiendo con el demo del 11 de diciembre el siguiente paso es crear un backend donde todo orquestará y hará armonía; pero para ello decidí usar Socket.io, ya que es una tecnología muy flexible y desde mi punto de vista, muy sencilla de implementar.

Básicamente en Socket.io se generan eventos y listener de estos eventos donde se necesite, si necesito ejecutar un evento en el backend, simplemente defino el emisor y el receptor, con sus lógicas de negocio dependiendo de como sea el callback.

Para comenzar es vital generar una máquina virtual en el ambiente que nosotros deseemos, sin embargo, con fines de esta práctica todo se hizo en Microsoft Azure y su implementación de Virtual Machines.

Crear Website básico en Microsoft Azure


El pasado jueves 11 de Diciembre en Microsoft Branch Colombia se estaba llevando a cabo unas sesiones técnicas para emprendedores del país, en esta sesión accedí a dictar la charla donde se tomarán los siguientes temas:

  • Websites Azure
  • Virtual Machines Azure
  • Windows Phone
  • Xamarin

Por lo cual decidí compartir este código usado durante la sesión en varias secciones, la primera es acerca de la creación básica de Websites en Azure.

Creando el Front End

En esta ocasión se decidió hacer un sitio muy básico y estático que a la final solo se conectará con un Backend publicado en otro lado.

En este caso se simulará un negocio de una disquera musical, sin embargo aclaro que todos los logos y nombres de marca son propiedad registrada.

  • Seleccionar una plantilla adecuada, en este caso ir a http://startbootstrap.com/template-overviews/freelancer/
  • Descomprimir el contenido y renombrar la carpeta a algún nombre fácil de recordar.
  • Modificar las imágenes primarias, donde aparece el muñeco por una foto de algún Dj y agregarle un background a esa sección, esto se hace en el archivo freelancer.css
header {
    text-align: center;
    color: #fff;
    background: #18bc9c;

    background-image: url(../img/DJ-Background.jpg);
  
    /* Background image is centered vertically and horizontally at all times */
    background-position: center center;
  
    /* Background image doesn't tile */
    background-repeat: no-repeat;
  
    /* Background image is fixed in the viewport so that it doesn't move when 
       the content's height is greater than the image's height */
    background-attachment: fixed;
  
    /* This is what makes the background image rescale based
       on the container's size */
    background-size: cover;
}

Continue reading “Crear Website básico en Microsoft Azure”

How To: Escalar imágen manteniendo proporciones – JQuery


La mayoría de veces tenemos que poner un listado imágenes de manera estándar pero la peor práctica es volver todas estas imágenes al mismo tamaño una a una en un editor de imágenes, ya que por lo general estas vendrán de algún servicio web o directamente desde los clientes.

Teniendo esta necesidad me puse a la tarea de buscar en Internet y mejoré un código muy bueno que encontré en la siguiente Web: http://ericjuden.com/2009/07/jquery-image-resize/ Continue reading “How To: Escalar imágen manteniendo proporciones – JQuery”

Primeros pasos en Node.js


Casi siempre que tengo que escribir una nueva App con Node.js me toca buscar los pasos iniciales ya que mi frecuencia de desarrollo en esta tecnología no es alta, por lo que decidí re-copilar todos estos primeros pasos que desde mi perspectiva son los más generales.

¿Cómo instalar Node.js en Ubuntu 14.x?

Desde la consola ya sea directamente o un terminal PuTTY escribir los siguientes comandos:

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

Cabe aclarar que la máquina virtual debe tener conexión a Internet.

¿Cómo instalar Express?

Continue reading “Primeros pasos en Node.js”

Snippet: storageHelper.js


El día de hoy he creado una pequeña librería que encapsula las funcionalidades para LocalStorage de HTML5, esto se puede usar en cualquier Web App o Mobile App.

Sin más o menos que decir les dejo la librería: Continue reading “Snippet: storageHelper.js”

Día del maestro – FacultyCol, WebGL Demo1


WebGL logo

Lo prometido es deuda y comenzaré a publicar los 4 demo que se tenían preparados para el día del maestro.

La primera demostración es un escenario en 3D donde se controla la posición mediante las teclas de teclado a la cámara y con el mouse se controla la dirección de la misma.

La carpeta contiene un index, la librería de Three.js y PointerLockControls.js:

http://1drv.ms/1n2cBkz

Auto KeyDown y KeyUp en C#


En alguna ocasiones necesitamos desarrollar un programa o aplicación donde simule un evento del teclado para hacer diversas cosas, como por ejemplo controlar un videojuego de manera remota, haciendo spam, usando Kinect para leer los movimientos y controlar el flujo de un programa externo, en fin… para mi caso lo necesito para automatizar el tecleado de la flecha hacia arriba y hacia abajo, en los próximos post explicaré el motivo.

Inicialmente lo iba a hacer en Javascript nativo pero dadas las políticas de seguridad de Internet Explorer 11 me vi obligado a hacer otra solución, lo único que se me ocurrió fue hacerle una trampilla a IE y hacerle creer que el usuario era quien enviaba el comando del teclado, desgraciadamente no soy el único que se le ha ocurrido y no solo con buenas intenciones, averiguando a puro ensayo y error me di cuenta que para llevar a cabo esta acción la aplicación debe estar con permisos administrativos, de lo contrario IE 11 cierra la aplicación al detectar que está siendo aplicada esta técnica que comunmente se usa para generar spam.

Ok, luego entendiendo esos puntos claros no queda más que comenzar con un proyecto nuevo en Visual Studio, para este caso estoy usando el Framework 4.5 pero según la documentación la función que se usará es soportada desde el Framework 2.0.

En esta solución nueva seleccionar un proyecto para consola.

Se y entiendo muy bien que la función keybd_event fue sustituida por SendInput, pero nuevamente entra a jugar la seguridad de IE y es como si no le hiciera nada.

Entonces declararemos el siguiente método:

 

        private static void SendInput(byte key, int time)
        {
            keybd_event(key, 0, KEYEVENTF_EXTENDEDKEY | 0, 0);

            Thread.Sleep(time);

            keybd_event(key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
        }

Continue reading “Auto KeyDown y KeyUp en C#”