Emisora de FM con Raspberry Pi 2 sin ningun hw adicional


La verdad es que hay pocos proyectos para la  Raspberry  Pi no involucren ningún tipo de  hw adicional  de modo que bajo ese  punto de vista ,vamos  a ver un proyecto sorprendente  pues en esta ocasión convertiremos nuestra Raspberry pi 2 en una emisora de fm comercial de corto alcance  de características mas que  aceptables.

Si tiene una Raspberry pi 2 pues ,ya  tiene el 50 por ciento del proyecto, pero si o le suma un simple cablezillo ( que hará de antena )  ya tiene el otro 50 por ciento, ¿ Entonces porque no hacerlo ?

El cable de unos 20 cm   debe conectarlo al GPIO4 (GPIO_GCLK)   de nuestra Raspberry pi 2,para lo cual puede  observar el pinOUT que  se adjunto si tiene alguna duda  ( es  el pin 07  del lado izquierdo).

GPCLK0 (GPIO 4 y pin número 7), es un reloj de propósito general capaz de crear una señal de pulsos cuadrados hasta una frecuencia máxima de 75 MH

Utilizaremos varios archivos, en Python y C, además de la consola, como siempre. Tendremos, también un archivo de sonido .wav, que pasaremos como parámetro al ejecutar el programa.

Es  importante no olvidar  la  antena , la cual puede construirse con un cable de aproximadamente 20 cm para tener algo de cobertura  o por supuesto usar alguna reciclada de algún viejo receptor de FN , la cual conectaremos al pin GPIO 4, que es el pin de reloj (CLK).

Las señales de reloj se usan para proporcionar un pulso que puede sincronizar varias partes de un sistema que lleva a cabo acciones que tienen una relación temporal entre ellas.

Por defecto, transmite a 100 MHz, pero esto podemos cambiarlo con otro parámetro al ejecutar el programa. Vamos a ver en sencillos pasos cómo llevar a cabo la realización de este tutorial:

 

 

Comandos paso a paso

  • Desde la linea de comandos escribimos   wget http://rogerbit.com/wprb/wp-content/uploads/2016/06/fm.zip para descargar el archivo fm.zip
  • Lo descomprimimos con unzip fm.zip
  • Con el comando ls veremos una carpeta llamada fm
  • Entramos a ella con cd fm
  • Escribimos nuevamente ls
  • Veremos los archivos  nuevos, el que nos interesa por ahora es pifm.c
  • Ejecutamos gcc -lm -std=c99 pifm.c 
  • No nos debe aparecer ningún error (ni siquiera una leyenda)
  • Volvemos escribir el comando ls.
  • Nos tiene que aparecer un archivo llamado a.out   !si es así todo salio perfecto!
  • Ejecutamos sudo ./a.out sonido.wav  100.1
  • Con eso debemos ya escuchar música en nuestra radio, recuerden que sonido.wav es el archivo que queremos escuchar y 100.1 es la frecuencia que debemos colocar en nuestra radio en MHz

 

Links con más información:

 http://makezine.com/projects/raspberry-pirate-radio/

http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter

Control de cargas con Raspberry-pi usando MQTT


MQTT significa MQ Telemetry Transport, es decir hablamos de un protocolo de mensajería publicación / suscripción, extremadamente sencillo y ligero, diseñado para dispositivos limitados y bajo ancho de banda y latencia alta o redes no confiables , razón por lo cual  es ideal para IoT (Internet de las cosas).

Los principios de diseño se centran en  minimizar el ancho de banda de la red y los requisitos de recursos del dispositivo, a la vez que intentan asegurar la fiabilidad y cierto grado de garantía de las entregas. Estos principios también resultan ideales para conformar el protocolo ideal de la emergente (M2M) «máquina a máquina» o «Internet de las cosas»  que compone el universo de los dispositivos conectados, asi como  también para aplicaciones móviles en las que el ancho de banda y la energía de la batería están en juego

A partir de marzo de 2013, MQTT está en el proceso de normalización a someterse a OASIS.La especificación del protocolo ha sido publicada abiertamente con una licencia libre de regalías para muchos años, y empresas como Eurotech (anteriormente conocido como Arcom) han puesto en práctica el protocolo en sus productos.En noviembre de 2011 IBM y Eurotech anunciaron su participación conjunta en el Grupo de Trabajo de la Industria M2M Eclipse y la donación del código MQTT al proyecto Eclipse OPS  .

Muy resumidamente  un  sistema basado en  MQTT funciona mediante un Brocker, que es al fin y al cabo un pequeño servidor en el cual se pueden publicar temas llamados Topics.

mqrç

Una vez  publicados esos Topics  en el  Broker ,  otros dispositivos pueden suscribirse a éstos  para intercambiar información o simplemente para consumir información.

Hay muchas librerías para utilizar MQTT,  tanto con diversos microcontroladores (como por ejemplo Arduino)  , con el ESP8266 y por supuesto también con la Raspberry-Pi.

Como Broker, uno de los más famosos es Mosquitto  , el cual también puede correr en una Raspeberry-Pi

Para interectuar con el broker  , no tenemos que crear una nueva app , pues existe la aplicación  ioT Mqtt dashboard , gratuita desrcargable desde Google Play  (si está buscando una aplicación para administrar sus proyectos de IO utilizando el protocolo MQTT, dejar de buscar, aquí está 🙂

Con esta aplicación, puede controlar fácilmente los dispositivos cliente MQTT con pasos de configuración muy sencillas. En un momento  puede comunicarse con su  Arduino, o puede ordenar a su ESP8266 esclavo que haga algo,etc …

 

iot mqtt

Las principales funcionalidades de esta app:

  •  Muchas conexiones
  •  Conexión SSL
  •  Especificar su unidad de datos
  •  Visualizar los valores numéricos de una tabla de actualización en tiempo real
  •  Componentes de Publicaciones personalizables:
    + Texto
    + Botón
    + Interruptor
    + Barra de búsqueda
    + Cuadro de lista desplegable
    + Selector de color
    + botones multi
  • WIDGETS PANTALLA DE INICIO( Botón,Botón basculante (versión del componente widget de interruptor),Selector de color)

Nota:
– Usted puede encontrar el registro de errores en: almacenamiento externo (tarjeta SD) / MQTT-salpicadero / registro
– Los widgets de la pantalla principal se utilizan para publicar sólo! Ellos no se suscribe al tema y reflejan su estado.

El protocolo MQTT es pues un sencillo y ligero sistema diseñado especialmente para IoT (Internet Of Things) que funciona prácticamente en cualquier sitio y no consume apenas recursos  como lo vamos a ver , precisamente usando una Raspberry-PI al que simplemente se han conectado tres leds de colores a modo de ejemplo ,pero que obviamente se podría haber conectado cualquier carga , usando por ejemplo un simple relé o un driver de potencia.

El  esquema como podemos simplemente usa los pines 11,12 y 13 y la masa (pin6) del conector de aplicación de la Raspberry Pi   para conectar simplemente tres leds de colores al que solo se han conectado  tres simples resistencias para limitar la corriente que circula por el puerto:

esqeuma

Como una imagen (y si es en vídeo), vale mas que 1000 palabras , continuación en el siguiente vídeo podemos ver la aplicación ioT Mqtt dashboard , interactuar con una Raspberry Pi usando el esquema anterior:

 

 

Para mas información sobre este proyecto  se puede consultar los siguientes recursos: