Cómo crear un bot para Facebook Messenger


facebook messenger bot

En el siguiente post vamos a aprender cómo crear y configurar un bot para Messenger de Facebook soportado en Microsoft Azure, pero vale aclarar que este bot no tendrá inteligencia alguna si no por el contrario será nuestra “interfaz gráfica” del bot.

Para crear dicha inteligencia podemos hacer uso de servicios como LUIS de Microsoft Azure o Watson de IBM que lo verás en otros post.

Descargando el código base

Facebook nos colabora con una plantilla básica creada en Node.js para crear nuestro primer bot, requiere ciertas configuraciones pero las veremos más adelante. En el siguiente enlace podrás encontrar el código fuente:

https://github.com/fbsamples/messenger-platform-samples

Cuando hayas entrado al sitio podrás descargar el zip o clonar el proyecto en alguna parte de tu máquina, ya sea por consola o por alguna herramienta que te gestione los repositorios de GIT. Continue reading “Cómo crear un bot para Facebook Messenger”

Event Hubs orientado a IoT


Para tener un centro de eventos listo para usar en nuestro sistema de IoT (hacer click aquí) es necesario seguir la siguiente guía.

Crear Event Hub

Continue reading “Event Hubs orientado a IoT”

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”

Ejecutar Socket.io en Xamarin.Android


Es muy frecuente querer ejecutar esta grandiosa tecnología en la mayoría de recursos que usamos, por lo que esta vez les enseñaré a implementar Socket.io sin necesidad de usar terceros y sacarse las canas entre versiones y dependencias en servidor, etc etc… como me pasó a mi.

La ejecución es muy sencilla, tenemos un WebView donde se ejecuta código en Razor, HTML y un poco de JS donde se hará un hilo de comunicación de doble vía entre el WebView y el Code-Behind, a esta técnica la llamé BlackOps, ya que aquí se harán todas estas tareas oscuras y transparentes al usuario final, la cual darán una sensación de que corre de manera nativa.

  • En Xamarin Studio crear un nuevo proyecto tipo “Android WebView Application”, en este caso lo llamaré “EtonMessy_And”. 
  • En la carpeta Assets crear otra carpeta llamada “js” y crear un archivo llamado “blackOpsHelper”, descargar el cliente de Socket.io desde https://cdn.socket.io/socket.io-1.0.4.js y JQuery desde http://code.jquery.com/jquery-1.11.0.min.js 
  • En el archivo RazorView.cshtml agregar las referencias necesarias a los script.
  • Como buena práctica es encapsular toda la lógica en un archivo *.js que podría llamarse BlackOpsHelper.js, sin embargo, por razones del diseño del control WebView en Xamarin no es posible ejecutar llamados a Internet (probablemente se corrija más adelante), por el momento..  añadir el código base que he diseñado en una etiqueta “script”.

Continue reading “Ejecutar Socket.io en Xamarin.Android”

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”

Crear Cloud Service desde Azure PowerShell automaticamente


En la entrega pasada se vio como crear y publicar un Cloud Service, pero muchas veces esto no es práctico ni funcional, lo que se necesita en el mundo real son sistemas automatizados que generen mil cosas por detrás para entregarnos un resultado, como es el caso de una compra por Internet con tarjeta de crédito, también el proceso de autenticación en un sitio web, en fin…

Así que sin más preámbulos esta entrada expondrá el típico caso de una empresa que permite hacer páginas web para clientes que pagan algún dinero, en este caso nos basaremos desde el ejemplo anterior pero esta vez será explicado en detalle y con imágenes.

Configurando y preparando el escenario

En Microsoft Azure o en algún entorno de virtualización preferido crear una máquina virtual con Windows Server 2012 R2 Datacenter

Configurar dicha máquina, para el caso de Microsoft Azure escoger la fecha de la versión de Windows, Nombre, Capa, Tamaño Nombre de usuario y una contraseña Continue reading “Crear Cloud Service desde Azure PowerShell automaticamente”

Crear Cloud Service desde Azure PowerShell


En esta entrega demostraré como crear un Cloud Service desde la consola de PowerShell para Microsoft Azure (anteriormente Windows Azure) y poder desplegar un sitio web creado en Node.js.

Prerequisitos

  • Node.js
  • NPM
  • Windows Azure PowerShell
  • Preferible: Windows Server 2012 R2 Datacenter.

Continue reading “Crear Cloud Service desde Azure PowerShell”

Día del maestro – FacultyCol, WebGL Demo 2 parte 1


En la segunda demo quería presentar algo más atractivo y más alucinante que en la primera, ya que si bien montar un escenario en 3D en la Web sin plugins ni ningun instalador externo es sorprendente estamos un tanto acostumbrados a ver este tipo de cosas; así que me propuse a mejorar esta y la siguiente demo.

Para esta seleccioné una tecnología que se llama Photosynth que fue desarrollada por un equipo de Microsoft Research en el que permite capturar escenarios reales en 3D con la posibilidad de visualizarlos, este trabaja actualmente con HTML5 y unos que otros hacks hechos en Javascript.

http://photosynth.net/preview Continue reading “Día del maestro – FacultyCol, WebGL Demo 2 parte 1”