03 junio 2018

Construyendo un Gateway IoT 6LoWPAN con Raspberry Pi

Como tal vez habrán notado en el Hackerspace San Salvador llevamos varios días trabajando proyectos de IoT con el estándar de comunicaciones inalambricas 802.15.4.

Hasta ahora mucho de nuestro trabajo se ha enfocado a proyectos comerciales que utilizan el sistema operativo Contiki y a varios proyectos educativos en los cuales hemos hecho utilización de los pequeños radios AT86RF233.

Sin embargo, como se imaginarán, conectar directamente dispositivos a internet requiere de un "gateway" que permita agregar conexiones IP entre los pequeños dispositivos y la gran red de Internet.

Actualmente estamos utilizando un Gateway que nos ha provisto uno de nuestros clientes. Sin embargo queríamos tener un Gateway 100% open source, así que en esta entrada vamos a hablar de lo que necesitas para montar tu propio Gateway IoT 802.15.4 con soporte de 6LoWPAN con una Raspberry Pi.

¡Así que Comencemos!

10 abril 2018

La primera FPGA con soporte Open-Source - Parte 3


Sin embargo, aún no hemos revisado a detalle: ¿Qué hace o cómo funciona el código de ejemplo? ¡Y justo eso es lo que haremos en esta entrada!

Si han estado atentos, en el paso anterior ejecutamos las tres etapas de preparación que incluyen la síntesis, el ruteo y la generación del bitstream de forma automática.

En esta entrada vamos a seguir el diagrama completo del flujo de desarrollo con FPGA que mostrabamos en la primera entrada para entender mejor el funcionamiento de estas herramientas de desarrollo electrónico.

¡Comencemos!

09 abril 2018

La primera FPGA con soporte Open-Source - Parte 2

En nuestra entrada anterior hablamos sobre como el proyecto IceStorm ahora permite desarrollar soluciones con las FPGA ICE40 con herramientas 100% Open-Source.

En esta entrada vamos a preparar nuestro entorno de desarrollo para sintetizar nuestro primer circuito en la FPGA ICE40.

Preparando el Entorno de Desarrollo

Para esta entrada requerimos que utilices una distribución de Linux, es importante que te asegures que tu distribución tenga instaladas las herramientas de desarrollo. La forma en que se instalan las herramientas de desarrollo varía de distribución en distribución, si obtienes errores al momento de instalar puede deberse a que alguna biblioteca de desarrollo no está instalada en tu sistema. Las herramientas que vamos a mostrar ahora aún son relativamente "recientes" por lo que es probable que no exista un paquete pre-compilado para tu distribucipon, por lo que la solución es compilarlos desde cero.

Asegurate que tu distribución incluya al menos los siguientes paquetes de desarrollo:
  • GNU GCC
  • GNU Make
  • Python3
Las herramientas deben instalarse en el orden especificado, el no hacerlo podría provocar errores en el proceso de compilación.

Nota: Es posible que tu distribución ya incluya los paquetes que vamos a utilizar. Si no deseas compilar todo desde cero, intenta buscar los siguientes paquetes utilizando la herramienta de gestión de paquetes incluída en tu distribución:
  • icestorm
  • yosys
  • arachne-pnr
  • icarus-verilog (o iverilog)
  • gtkwave
Si decides seguir este camino, puedes ir directamente a la tercera entrada de esta serie de blog.

08 abril 2018

La primera FPGA con soporte Open-Source - Parte 1

Antes de comenzar hablemos un poco de ¿Qué son las FPGA?

Las FPGA son las siglas en inglés de "Field Programmable Gate Array" o mejor en español: "Arreglo de compuertas programables en terreno". Aunque esto pueda sonar un poco de otro mundo, estos chips son literalmente eso: Un conjunto de bloques que realizan funciones lógicas que se pueden reprogramar (O mejor dicho reconfigurar) en el lugar donde se encuentre el chip.

Por ejemplo en la foto que pueden ver al inicio de la entrada de este blog pueden ver una FPGA controlando una matriz de LEDs. De seguro has visto muchas FGPAs controlando pantallas LED gigantescas ya que es uno de los casos de uso más comunes.

05 abril 2018

Guía de Conexión Transmisores IEEE 802.15.4 y LoRa

Al inicio de esta semana compartimos los resultados de prueba de conectividad de los radios amplificados IEEE802.15.4 y los radios LoRa que adquirimos hace algunos días.

Sin embargo, quedamos pendientes de explicar un poco más a detalle como realizar las conexiones y configuraciones de los equipos utilizados en las pruebas.

Así que esta entrada está dedicada a explicar cómo utilizar, programar y poner en funcionamiento los dos "rigs" de pruebas que utilizamos para las pruebas.



02 abril 2018

Transmitiendo datos con IEEE 802.15.4 y LoRa

¡Hola a todos! Los que están pendientes de nuestro Instagram y Facebook se habrán dado cuenta que casi desde hace como año y medio estamos metidos de cabeza en el desarrollo de soluciones IoT utilizando el estándar para telecomunicaciones inalámbricas IEEE 802.15.4 (Que no es lo mismo que WiFi/IEEE802.11).

¿Por qué no usar WiFi?

La razón es simple: El estándar IEEE 802.15.4 permite comunicar dispositivos utilizando muy poca energía a cambio de ofrecer menos ancho de banda comparado con redes de alta velocidad como WiFi o la red de datos móviles.

En un mundo donde cada día buscamos conexiones más rápidas esto podría parecer un retroceso, sin embargo, en el mundo del Internet de las Cosas se requiere que los dispositivos consuman muy poca energía o que incluso puedan ser capaces de funcionar durante meses con pequeñas baterías. Esto último es imposible de lograr con estándares como WiFi o redes de datos móviles así que 802.15.4 trata de llenar ese vacío.

El problema es que este estándar tiene una pequeña limitante y es que el rango normalmente es bastante "corto" (Unos 100m en condiciones ideales). ¿Pero que pasa  si quieres superar la bandera de los cientos de metros o incluso quieres controlar y transmitir a dispositivos que se encuentran a kilómetros de distancia?

31 marzo 2018

Hablando de Blockchain... y Errores Humanos

Ok, lo siento, tenía que escribir un poco sobre esto. Algunos habrán visto nuestro video en YouTube donde explicabamos algunos de los fundamentos técnicos que permiten a la criptomoneda y al blockchain funcionar.

En los últimos meses casi que todo el mundo habla de cripto-moneda pero lástimosamente muy poca gente conoce los principios que le permiten funcionar y las limitantes en el mundo real que puede tener esta tecnología (Refiriéndome a comó funcionan las personas, las economías y las sociedades).

Creo que el comediante John Olivier  en un reciente video no pudo haberlo explicado mejor: La discusión de criptomoneda actual es la combinación de "todo lo que la gente no entiende sobre dinero combinado con todo lo que la gente no entiende sobre computadoras" (en inglés).