Monitor portatil casero


En este proyecto realizado   por  GreatScottlab  podemos ver   cómo utilizar  un LCD KIt de  1280 x 800  para construir un  mini -monitor  autoalimentado   por baterías, el cual  puede ser útil  para una cámara DSLR, como pantalla para la Raspberry Pi o simplemente para ampliar el campo de visión del ordenador.

Realmente la idea del circuito no  es mala porque no es habitual encontrar en el mercado  monitores alimentados a batería que puedan servir para nuestra Raspberry PI así que veamos como lo ha construido

A continuación  la lista de materiales usados por GreatScottlab :

  • 1 x 1280 x 800 LCD Kit
  • 5 x pulsadores táctiles:
  • 1 x 5mm verde y rojo:
  • 1 x interruptor
  • 1 cargador de celular solo x TP4056: Se puede comprar en Amazon por  unos 6€
  • 1 x XL6009 convertidor: Se puede compra en Amazon por menos de 5€ 
  • Baterías de ion de litio 2 x 18650 2800mAh.
  • 1 x trípode.
  • 1 x Mini trípode

 

El kit lcd

El proyecto  gira  en torno a  un  kit del módulo de pantalla lcd 10.1 pulgadas  y resolución 1280 * 800  especialmente diseñado como monitor para Raspberry PI 3/2 Model B b a +. Raspberry y B+ PI que puede adquirirse en ebay o en portales orientales

En caso de usarlo para la Raspberry Pi se sugiere editar el fichero config.txt para configurar el cable hdmi a la resolución nativa 1280 x 800 en caso de no detecte correctamente la resolución (la forma más fácil de editar el config.txt es poner la tarjeta microsd  de lapi en un ordenador y editar config.txt con cualquier editor de texto y guardar.

Las características del kit del panel son las siguientes:

  • Tamaño del panel: 10.1″
  • Resolución (rgb): wxga 1280 x 800.
  • Brillo: 350CD/m ^ 2
  •  Voltaje de funcionamiento: 12v (actual requisito 1a-2a)
  • La potencia nominal: 6-7w
  •  Entrada de señal: AV + VGA + HDMI (HDMI 1.2)

Pantalla dimensiones: 217 x 135 mm / 16:1010.1 pulgada 1280x800 exhibición del hd TFT Kit de módulo lcd para Raspberry Pi

Como vemos  el kit consta de una controladora , el panel lcd   y una pequeña botonera ambos unidos  por sendos cables de cinta.

10.1 pulgada 1280x800 exhibición del hd TFT Kit de módulo lcd para Raspberry Pi

Convertidor  DC

En el  proyecto se usa el modulo  DSN6009 , que  un módulo conversor dc-dc  de refuerzo de alto rendimiento (BOOST) con una corriente de conmutación de 4A.

La tensión de entrada soportada va  desde los  3V  hasta 32V, pero el mejor voltaje de funcionamiento es 5 ~ 32V.  La tensión de salida es variable entre 5v a 35V

Cuenta con un interruptor incorporado de tipo  MOSFET de  alta eficacia  soportando 4A, siendo la eficacia de hasta 94%; (la corriente LM2577 es sólo 3A)

Gracias a la alta frecuencia de conmutación de 400KHz, se puede alcanzar resultados muy buenos con una pequeña capacidad del condensador del filtro (la frecuencia de LM2577 es solamente 50KHz)

El conexionado, como vemos, es bastante sencillo  pues en los pines IN+  y IN – conectaremos el  polo +(IN+)     y la masa(IN-)    de  la  salida de 5V  procedentes de la salida del cargador de batería .  

Para este proyecto debe ajustarse el  modulo regulando el trimmer  para obtener una salida de 12V DC.

De los pines OUT + y OUT-  conectaremos bien mediante un jack   a la  placa del interfaz de la placa del lCD ( la masa del jack a OUT-   y el pin central al pin OUT+)  o bien soldandolos a la placa madre del kit lcd  como en la foto:

Picture of Get the Wiring Done!

Cargador batería

Para la gestión de la carga de las  baterías del tipo  18650  ,  se  usa un modulo  con chip TP4056 con sobre-protección de bajo voltaje.
Este modulo gestiona la  carga de una celda de carga de baterías con  una celda de litio 18650 energía con carga de hasta 1000 mAh
Se puede cargar baterías  18650  con 2600 mAh ( desarrolladas para  antiguos Notebook), lo cual significa que con el módulo también se permite la carga de baterías de litio de una mayor capacidad 1000 mAh ( el ejemplo de hecho se usan dos celdas en paralelo)
El tiempo de carga depende de la  corriente de entrada que introduciremos de 5V DC  por cable micro USB cable de carga o en los contactos “+ – ” junto a el puerto USB de soldar.
Se puede cargar con el cable USB de un cargador de un móvil o de  ordenador , tan pronto como el nivel de batería ha descendido.a 2.5 V .
Este modulo, ademas,  puede cargar sin  preocupaciones, mientras este conectada la entrada de alimentación y es usado el monitor
Características del modulo:
  • Voltaje de entrada: 4,5 hasta 5 V
  • Corriente de carga máxima 1000 milivatio amperios
  • Voltaje de apagado al cargar 4,2 V +/-1%
  • Protección de bajo voltaje de 2,5 V
  • Protección contra cortocircuitos en 3 amperios
  • Dimensiones: 26 x 17 x 2 mm
En la siguiente imagen podemos ver el modulo con las conexiones realizadas a las dos baterías en paralelo , los leds al panel   y  la salida que ira conectada al convertidor dc-dc:
Picture of Get the Wiring Done!

Construcción de la caja

No todo el mundo tiene disponible  un impresora 3d, asi que GreatScottlab    decidio hacer la caja con materiales tradicionales  como es la madera

En la foto  se pueden ver as las medidas de las piezas MDF que GreatScottlab creo para construir la caja.

Cableado

Finalmente en  al siguiente foto vemos el montaje final

Observese  que se han capturado los pulsadores del kit para hacerlos accesibles desde el exterior
Asimismo se ven los dos leds de estado de carga  y de la batería conectados justo debajo de los pulsadores
Asimismo se ha conectado  un interruptor de potencia para  conectar  o desconectar la unidad

El cableado  es pues sencillo  y cabe perfectamente dentro  de la caja así que de esta forma que todo debería funcionar bien.

Aqui podemos ver el resultado final

 

¡Acabamos de  ver como crear un monitor mini portátil casero!

 

Por si nos ha quedado alguna duda en los  dos siguientes videos  podemos ver el proceso de montaje  paso a paso con todo lujo de detalles desde las coenxiones electricas y pruebas pertinentes  a la construcción de la propia caja que contendrá  todas la electronica:

 

En el video continuacion del anteriro podemso  ver oda la información fundamental  del montaje  de kla caja que se  necesitaría  para la construcción de este proyecto:

 

 

¿Se  atrevería  a montarlo usted también?

 

 

 

 

Fuente Instructables.com

Anuncios

Contador con reconocimiento facial para Raspbery Pi 3


Con una Raspberry Pi se pueden hacer muchas cosas , pero seguramente  se sorprenda que incluso puede utilizar la cámara para experimentar  con reconocimiento facial, labor que ha hecho  DekuNukem utilizando una Raspberry Pi 3, el módulo de la cámara de Raspberry Pi y una pantalla OLED para la visualización de los datos

 El concepto es relativamente simple: la pi-camera toma una foto cada 15 segundos, de modo que  si se encuentra nuestra cara, la cual  previamente habremos cargado, se registra la hora actual. y el tiempo registrado se suma para calcular el  horario laboral exacto todas las semanas mostrándose el resultado en una pantalla OLED.

Para este proyecto  estrictamente como puede deducirse  no es necesario incluir la pantalla OLED  ya que nos  podemos  conectar  a la propia Raspberry Pi  3 para consultar ese dato , pero definitivamente la pantalla extra añade inmediatez y flexibilidad , dejando ver el tiempo diario y semanal de un vistazo sin tener que acceder su frambuesa Pi para ver  los datos.

 

dekuNukem facepunch raspberry pi facial recognition

 

Resumiendo estos son los componentes usados :

  • Raspberry Pi 3 Model B. También podría funcionar en Zero
  • Módulo de cámara Raspberry Pi
  • OPCIONAL : pantalla OLED de 1.3 pulgadas de 128×64. Pantallas de 0.96 pulgadas OLED también funcionan.Que sea  OLED es opcional; Omita los pasos relacionados con la pantalla si se opta por no usar  esta

Modulo de visualización

Se  puede conectar una OLED a la  Pi con el Pi interfaz I2C o SPI. En general, I2C utiliza menos pines  pero es algo más lenta. SPI es mas rápido, pero requiere un numero o de pines del GPIO  extra por lo que esta elección  debe considerarse en función de sus necesidades .

La interfaz I2C es la normal que se use por su mayor sencillez    pero para ‘escritura’ en la pantalla solamente, asi todavía tendrá el marco entero 512 bytes del búfer en el microcontrolador RAM  aunque no se podran  leer datos de lo OLED (aunque I2C es un protocolo bidireccional).

Antes de comenzar el cableado de la  pantalla , en muchas  de estas debe conectarse  una franja de pines que deben soldarse a la placa  OLED , pues no es posible  simplemente hacer las conexiones enrollándolos a las cabeceras

Si su OLED compatible con I2C y SPI, asegúrese de comprobar cómo se configuran los puentes de soldadura para configurar  la interfaz correcta, asi que para comenzar, usted necesitará  dos puentes en la parte posterior de la pantalla OLED de la soldadura. Debe soldarse como ‘cerrado’ para   configurar la pantalla en modo  I2C

 

Para usar la  Raspberry Pi  3 , habilitar I2C antes desde el interfaz  de Raspbian antes de cablearlo

Las conexiones necesarias son las siguientes:

  • Conectar pin 3  de GND   de la  Raspberry Pi  3 , al pin GND de la  pantalla  (cable negro).
  • Conectar  VIN  de la pantalla  al pin 1  Raspberry Pi  3 , de 3.3 voltios (cable rojo).
  • Conectar el terminal Reset de la pantalla al pin pin32 de la  Raspberry Pi  3 ,   (cable azul). Alternativamente puede usar cualquier pin digital libre de GPIO para el pin de reset.
  • Conecte el pin SCL de la pantalla  al pin 5 SCL de la   Raspberry Pi  3 ,  (cable morado).
  • Conectar el pin SDA  de la pantalla al pin 3 SDA de la  Raspberry Pi  3   (cable naranja).

 

 

El módulo de cámara es un complemento personalizado y diseñado para Rasbperry Pi. Se conecta a Raspberry Pi a través de uno de los dos pequeños conectores de la parte superior de la placa. La cámara debe ser  compatible con la última versión de Raspbian, el sistema operativo preferido de Raspberry Pi.

El módulo en sí, es pequeño, en torno a 25 mm x 20 mm x 9 mm. Se conecta a Raspberry Pi  3 mediante un cable plano flexible al conector  de cámara .

Sin título.png

Resto de conexiones

Como dekuNukem explica en el repositorio de GitHub para la construcción del prototipo se puede utilizar una placa de  prototipos para montar  incluso  la pantalla  adhiriendo  esta a la pcb , conectado el conjunto a la Raspberry  Pi  por el GPIO   ,lo cual es  una forma agradable y sencilla de tener  todo el proyecto juntos sin cables sueltos o incluso simplificar  si  se necesita modificarlo.

Puede colocar la cámara y el OLED juntos en una placa perforada que se conecta al bus GPIO  o por supuesto, puede colocarlos en otro lugar o diseñar su propia PCB.

 

Librerias necesarias

Para este proyecto se necesitan las siguientes librerias:

 

Proporcione su foto

El programa necesita una imagen de su rostro para saber cómo se ve. Obtenga una imagen de su cara bien iluminada con un fondo limpio, llamándola por ejemplo  me.jpg y colóquela en la carpeta del software.

La resolución debe ser de alrededor de 400×400, de lo contrario el tiempo de procesamiento va a ser largo. Ya se proporciona un ejemplo, así que simplemente reemplace esta  por el suyo.

Ejecucion del programa

Ejecute python3 detect.py para iniciar la detección de rostros y el registro.
Ejecute python3 display_oled.py para mostrar las estadísticas de tiempo en el OLED.
O si no usa un OLED, ejecute python3 display_text.py para imprimir las estadísticas en el terminal.
Es posible que tenga que expeimentar r con camera.rotation y camera.brightness al principio de detect.py, dependiendo de cómo esté orientada la cámara y de su condición de iluminación. Puede abrir image.jpg para ver la última foto tomada.
El pin de reinicio OLED predeterminado es 17, cámbielo a lo que usa en display_oled.py.

 

 

Esta  incursión en reconocimiento facial  puede  incorporarse  en  otros proyectos de automatización del hogar:  como por ejemplo  una identificación de usuario de Magic Mirror, quizás, o un timbre que reconoce a amigos y familiares.

En todo caso la idea presentada  en su simpleza destaca uan genialidad  pues  nos  da una estadística visual y desatendida de las horas que nos pasamos delante de la pantalla.

 

 

 

Control de GPIO de Raspberry Pi sobre MQTT usando ThingsBoard


ThingsBoard es una plataforma de servidor de código abierto que le permite monitorear y controlar dispositivos IoT. Es gratuita tanto para uso personal como comercial y puede implementarlo en cualquier lugar.

ThingsBoard es pues  una plataforma de IoT de código abierto que permite el desarrollo rápido, la gestión y la ampliación de los proyectos de IoT  de modo  que  puede:

  • Crear dispositivos de provisión y control.
  • Recopilar y visualizad datos de dispositivos.
  • Analizea datos del dispositivo y disparae alarmas.
  • Entregar datos del dispositivo a otros sistemas.
  • Habilitar las funciones específicas de casos de uso usando reglas y complementos personalizables.
  • Proporcionar la nube IoT lista para usar o ser la solución en las instalaciones que habilitará la infraestructura del lado del servidor para sus aplicaciones de IoT.

ThingsBoard es escalable pues es una plataforma escalable horizontalmente y compilación utilizando tecnologías líderes de código abierto, tolerante a errores  pues  no hay punto único de fallo ya que  cada nodo en el clúster es idéntico,es personalizable pues permite agregar nueva funcionalidad es fácil con widgets personalizables, motor de reglas y sistema de complementos, es s duradero  y es robusto y eficiente  pues  el nodo de servidor único puede manejar decenas o incluso cientos de miles de dispositivos según el caso de uso (un cluster ThingsBoard puede manejar millones de dispositivos). Asimismo también puede conectar dispositivos existentes a la plataforma usando ThingsBoard Gateway .

 

ThingsBoard le permite enviar llamadas de procedimiento remoto (RPC) desde aplicaciones del servidor a dispositivos y viceversa. Básicamente, esta característica le permite enviar comandos a dispositivos y recibir resultados de ejecución de comandos. Similarmente, puede ejecutar la solicitud desde el dispositivo, aplicar algunos cálculos u otra lógica del lado del servidor en el back-end y enviar la respuesta de regreso al dispositivo. Esta guía cubre las capacidades de ThingsBoard RPC. Después de leer esta guía, se familiarizará con los siguientes temas:

  • Tipos de llamadas RPC
  • Casos de uso de RPC básicos
  • Las API RPC del lado del cliente y del lado del servidor
  • Widgets RPC

Tipos de llamadas RPC

La característica de RPC de Thinsboard se puede dividir en dos tipos según el originador: llamadas RPC originadas en el dispositivo y originadas en el servidor. Para utilizar nombres más conocidos, denominaremos llamadas RPC originadas en el dispositivo como llamadas RPC del lado del cliente y llamadas RPC originadas en el servidor como llamadas RPC del lado del servidor .

imagen

Las llamadas RPC del lado del servidor se pueden dividir en un solo sentido y bidireccional:

  • La solicitud RPC unidireccional se envía al dispositivo sin confirmación de entrega y, obviamente, no proporciona ninguna respuesta del dispositivo. La llamada RPC puede fallar solo si no hay una conexión activa con el dispositivo objetivo dentro de un período de tiempo de espera configurable.imagen
  • La solicitud de RPC bidireccional se envía al dispositivo y espera recibir una respuesta del dispositivo dentro del tiempo de espera determinado. La solicitud del lado del servidor está bloqueada hasta que el dispositivo de destino responda a la solicitud.imagen

Vamos  a  ver una  aplicación de ejemplo    que  permitirá controlar GPIO de su dispositivo Raspberry Pi utilizando la interfaz de usuario web de ThingsBoard y observaremos el control de GPIO utilizando  un Led conectado a uno de los pines. El propósito de esta aplicación es demostrar las capacidades de ThingsBoard RPC .

Dispositivo RPC API

ThingsBoard está diseñado para ejecutarse y utilizarse en la mayoría del hardware, desde Raspberry PI local hasta potentes servidores en la nube. Las formas de configurar un cluster de ThingsBoard soporta los  siguientes sistemas operativos:

  • Windows : instale el clúster Thingboard en cualquier máquina preexistente que ejecute Windows.
  • Linux (Ubuntu y CentOS) : instala el clúster Thingboard en cualquier máquina preexistente que ejecute Linux.
  • Raspberry Pi 3 Modelo B (Raspbian Jessie) : instala el servidor Cassandra y Thingboard en una Raspberry Pi 3 modelo B.
  • Docker (Linux o Mac OS) : instala un clúster ThingsBoard de un nodo en tu máquina Linux o Mac OS para su desarrollo y prueba.
  • Docker (Windows) : instala un clúster ThingsBoard de un nodo en tu máquina con Windows para su desarrollo y prueba.
  • Instalación de AWC EC2 utilizando AMI : instale un clúster ThingsBoard de nodo único con AWI AMI público.

Asimismo , sin instalar nada ,también si esta es su primera experiencia con la plataforma, puede usar una demostración en vivo para ahorrar tiempo en la instalación (vea la página de documentación de demostración en vivo para más detalles).Ejempl

 

Ejemplo  control de un  led

En  este ejemplo  “hello world”   orientado a controlar un led usaremos  una   Raspberry Pi con una aplicación simple escrita en Python , que se conectará al servidor ThingsBoard a través de MQTT y escuchará los comandos RPC.

El estado GPIO actual y el widget de control GPIO se visualizaran utilizando el panel de control incorporado personalizable.

Por tanto tendrá que tener el servidor ThingsBoard en funcionamiento. Use Live Demo o la Guía de instalación para instalar ThingsBoard.

Lista de hardware y pinouts

  • Raspberry Pi : utilizaremos Raspberry Pi 3 Model B pero puede usar cualquier otro modelo.
  • Led y resistencia correspondiente
  • 2 cables de puente hembra a macho

Dado que nuestra aplicación permitirá controlar el estado de todos los pines GPIO disponibles, recomendamos conectar algunos LED a esos pines para mayor visibilidad. Puede usar culquier  instrucción básica u otra para cablear algunos LED.

Instalación de la biblioteca MQTT

El siguiente comando instalará la biblioteca MQTT Python:

sudo pip install paho-mqtt

La aplicación consiste en un único script python que está bien documentado. Tendrá que modificar la constante THINGSBOARD_HOST para que coincida con su dirección IP de instalación del servidor ThingsBoard o nombre de host. Utilice “demo.thingsboard.io” si está utilizando el servidor de demostración en vivo .

El valor de la constante ACCESS_TOKEN corresponde al dispositivo Raspberry Pi de muestra en datos de demostración preaprovisionados . Si está utilizando un servidor de demostración en vivo , obtenga el token de acceso para el “Dispositivo de demostración Raspberry Pi preaprovisionado”.

 

resources/gpio.py 
import paho.mqtt.client as mqtt
import RPi.GPIO as GPIO
import json

THINGSBOARD_HOST = 'YOUR_THINGSBOARD_IP_OR_HOSTNAME'
ACCESS_TOKEN = 'RASPBERRY_PI_DEMO_TOKEN'

# We assume that all GPIOs are LOW
gpio_state = {7: False, 11: False, 12: False, 13: False, 15: False, 16: False, 18: False, 22: False, 29: False,
              31: False, 32: False, 33: False, 35: False, 36: False, 37: False, 38: False, 40: False}


# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, rc, *extra_params):
    print('Connected with result code ' + str(rc))
    # Subscribing to receive RPC requests
    client.subscribe('v1/devices/me/rpc/request/+')
    # Sending current GPIO status
    client.publish('v1/devices/me/attributes', get_gpio_status(), 1)


# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
    print 'Topic: ' + msg.topic + '\nMessage: ' + str(msg.payload)
    # Decode JSON request
    data = json.loads(msg.payload)
    # Check request method
    if data['method'] == 'getGpioStatus':
        # Reply with GPIO status
        client.publish(msg.topic.replace('request', 'response'), get_gpio_status(), 1)
    elif data['method'] == 'setGpioStatus':
        # Update GPIO status and reply
        set_gpio_status(data['params']['pin'], data['params']['enabled'])
        client.publish(msg.topic.replace('request', 'response'), get_gpio_status(), 1)
        client.publish('v1/devices/me/attributes', get_gpio_status(), 1)


def get_gpio_status():
    # Encode GPIOs state to json
    return json.dumps(gpio_state)


def set_gpio_status(pin, status):
    # Output GPIOs state
    GPIO.output(pin, GPIO.HIGH if status else GPIO.LOW)
    # Update GPIOs state
    gpio_state[pin] = status


# Using board GPIO layout
GPIO.setmode(GPIO.BOARD)
for pin in gpio_state:
    # Set output mode for all GPIO pins
    GPIO.setup(pin, GPIO.OUT)

client = mqtt.Client()
# Register connect callback
client.on_connect = on_connect
# Registed publish message callback
client.on_message = on_message
# Set access token
client.username_pw_set(ACCESS_TOKEN)
# Connect to ThingsBoard using default MQTT port and 60 seconds keepalive interval
client.connect(THINGSBOARD_HOST, 1883, 60)

try:
    client.loop_forever()
except KeyboardInterrupt:
    GPIO.cleanup()

Este simple comando lanzará la aplicación:   python gpio.py

Visualización de datos

Para simplificar esta guía, en  “Raspberry PI GPIO Demo Dashboard” vemos los datos de demostración que están disponibles en cada instalación Thingboard. Aún puede modificar este panel: sintonizar, agregar, eliminar widgets, etc. Puede acceder a este panel iniciando sesión como administrador de inquilinos.

Utilizar en caso de instalación local de ThingsBoard.

 

Una vez que haya iniciado sesión, abra la página Dashboards-> Raspberry PI GPIO Demo Dashboard . Debe observar el tablero de demostración con el panel de control y estado de GPIO para su dispositivo. Ahora puede cambiar el estado de los GPIO usando el panel de control. Como resultado, verá que el estado de los LED cambia en el dispositivo y en el panel de estado.

A continuación se muestra la captura de pantalla del “Tablero Demo de Raspberry PI GPIO”.

imagen

 

 

El vídeo a continuación  resume  todo el proceso  citado llegando  hasta el resultado final :.

Automatización con Alexa y Raspberry Pi


Usando una  Raspberry Pi   y un placa de relés  se puede realizar  un dispositivo de automatización del hogar  gracias a Alexa , !eso si  , si domina el ingles!.
En este breve post   vamos a ver  cómo poder controlar múltiples dispositivos conectados a la Raspberry Pi vía comandos de voz  en ingles, de tal modo que como veremos, podamos ontrolar todos  los pines GPIO para controlar los dispositivos conectados al GPIO  mediante relés u otros circuitos de control  y con ello encender o apagar cualquier dispositivo eléctrico conectado a estos,  simplemente dando las ordenes vocales  a Alexa.

Como vemos, pues  solo se necesita una Raspberry Pi 3 con una SD, una placa de Reles y  por  supuesto un altavoz inteligente  con Alexa para  automatizar cualquier función que deseemos gracias al reconocimiento automático de voz  de Alexa.

En el esquema   siguiente podemos ver como solo se usa  un solo pin de e/s  digital :  el GPIO 4   para controlar un   relé , pero este esquema ,si se requiere,  se puede ampliar hasta el máximo de los 24  terminales de e/s de los que dispone  una Raspberry Pi.

Es de destacar  que ademas el cable de datos,  incluso la alimentación del relé se obtiene de los 5V DC de la propia Raspbery Pi, por lo que para la  conexión de un circuito de un rele  sólo se necesitan 3 cables para  comandar la placa (un  cable para el control y los dos de la alimentación DC 5v).

 

esquema.PNG

Los pasos para instalar el  software  que permitirá  interactuar con  Alexa  en la Raspberry Pi 3 son los siguientes :

  1. Descargue “RASPBIAN STRETCH WITH DESKTOP” y descomprima  el fichero “2017-04-10-raspbian-jessie.zip” https://www.raspberrypi.org/downloads/raspbian/
  2. Descargue el programa “win32diskimager-1.0.0-install.exe” de la siguiente URL https://sourceforge.net/projects/win32diskimager/files/latest/download
  3. Instalar “win32diskimager-1.0.0-install.exe”
  4. Conecte la tarjeta mini-sd a su ordenador. Desde el explorador de windows, haga clic derecho en la letra de su unidad de tarjeta SD y haga clic en el menú de formato. En la ventana de formato, seleccione “FAT” en la lista “Sistema de archivos” y haga clic en iniciar. Espere a que la tarea se complete.                                                             texto alternativo
  5. Inicie el programa “win32diskimager”. Seleccione el archivo de imagen “2017-04-10-raspbian-jessie.img” y la letra de su unidad de tarjeta SD y haga clic en “Escribir” (Espere a que el programa termine de escribir la imagen RASPBIAN en la tarjeta SD)                                                                                                texto alternativo
  6. Una vez que se completa la escritura de la imagen, copie “ssh” (el archivo ssh está vacío) y “wpa_supplicant.conf” a la raíz de la tarjeta sd. Abra “wpa_supplicant.conf” en el editor de texto y actualice ssid (wi-fi name) y contraseña a los valores de su red Wifi.
  7. Inserte la tarjeta SD en Raspberry Pi 3 ,conecte la alimentación  y espere  a que arranque   durante unos 10 segundos
  8. En Windows vaya a ejecutar y escriba “cmd” y escriba arp -a en el símbolo del sistema. Busque la “Dirección física” que comienza con b8-27 * y tome nota de la dirección de Internet. Esta es su dirección IP Raspberry Pi3 Wi-Fi en su red. Este resultado también se puede obtener con otras herramientas como  WireShark (pc)  o Fing (android), siempre que ambos equipos este  conectados a la misma red. La dirección MAC generalmente comienza desde b- así que una vez que encuentre la dirección MAC, puede buscar la dirección IP en la columna  Internet Address y esta es su dirección IP. Tenga en cuenta esta dirección IP porque necesitará esto para conectar su sesión  SSH y  también para conectarse por el VNC                   texto alternativo
  9. Descargue “Putty.exe” de la siguiente URL https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
  10. Ejecute “Putty.exe” y escriba la dirección IP en el campo de nombre de host y haga clic en el botón de inicio y haga clic en Sí para abrir una ventana emergente. En la línea de comando del putty, escriba como Login “pi”  y para la contraseña ingrese “raspberry” y presione enter. Debería ver el  prompt  “pi @ raspberrypi: ~ $”.                             texto alternativo
  11. Escriba “sudo raspi-config” y vaya a “Opciones de interfaz” y habilite VNC. Reinicie pi3 escribiendo este comando “sudo reboot“. Perderá la conexión ssh.
  12. (Opcional) Puede descargar e instalar el cliente de VNC en su pc https://www.realvnc.com/download/vnc/windows/ . Conecte VNC a Respberry Pi3 usando la dirección IP. Inicie sesión con el nombre de usuario “pi” y la contraseña “raspberry“.Debería ver el escritorio de la Raspberry Pi 3.           texto alternativo
  13. Inicie la sesión de Pi ssh con putty a o localmente a través de VNC y escriba los dos comandos a continuación desde  el  símbolo del sistema de Pi para actualizarlo: sudo apt-get update” y “sudo apt-get upgrade” (Esto llevará un tiempo)
  14. Descargue este proyecto github como archivo zip con el siguiente comando “wget https://github.com/nassiramalik/IOT-Pi3-Alexa-Automation/archive/master.zip “
  15. Descomprima el archivo zip descargado con el comando “unzip master.zip” y escriba el comando “cd IOT-Pi3-Alexa-Automation-master” una vez que haya terminado de descomprimir
  16. (Opcional) Ejecute el comando  “sudo pip install virtualenv”  para instalar virtualenv en Pi
  17. (Opcional) Ejecute  el comando “virtualenv ipaa-env” para crear un entorno virtual para su proyecto
  18. (Opcional) Ejecute  el comando “. Ipaa-env / bin / activate” para activar el entorno virtual de su proyecto
  19. Ahora ejecute el comando “sudo python3 RPi_name_port_gpio.py” para ejecutar el programa Pi IOT  que controla un relé asociado al GPIO4 .   También puede usar el comando  ” “sudo  python 3RPi_name_port_gpio_8_Relays.py” para controlar hasta 8 dispositivos o invertir la polaridad  en caso de que necesite algunas de esas   funcionalidades. Como puede adivinar  este es el archivo que ejecutará para iniciar el programa en su Raspberry Pi  iniciando un servidor  así que presiona enter  el programa se inicia en  Raspberry Pi y se  quedara esperando a Alexa para darle comandos al código Python.
  20. En el código se ha escrito el nombre del dispositivo como “office” (oficina)  , pero puede cambiarlo por  lo que quiera, simplemente puede entrar  y cambiar este texto de la oficina al  nombre que desea dar a este dispositivo y Alexa
  21. Ya  puede empezar  a probar  ALexa  de  modo  que puede darle  un comando de voz a Alexa para descubrir dispositivos “Alexa discover devices” (Alexa descubre dispositivos), por lo que buscará en su red y descubrirá su Raspberry Pi 3 como un dispositivo IOT.
  22. Dele un comando de voz a Alexa “Turn on the office” (Enciende la oficina), deberá escuchar un sonido de clic de rele y encenderá cualquier carga que tenga coenctada a este
  23. Dele un comando de voz a Alexa “Turn on the office”  (Apagar la oficina), debería escuchar un sonido de clic de relevo y la carga conectada al rele dejara de estar alimentada

Alexa  siempre necesitara   descubrir los  nuevos dispositivos de  la red , por lo que para que empiece  el  descubrimiento  de dispositivos IOT que  hay en su red interna   para ello debe  presionar el botón para  su descubrimiento  en la botonera del altavoz o  también dele un comando de voz a Alexa para descubrir dispositivos “Alexa discover devices” (Alexa descubre dispositivos) lo cual enviara una difusión para descubrir dispositivos en nuestra red y en la Raspberry pi debería estar respondiendo.

Es obvio que  cualquier entrada analógica ( como por ejemplo temperatura ,detección de humedad,luminosidad, ect) también seria interesante poder ser soportada    pero eso  lo dejaremos  para  futuras actualizaciones   de este interesante proyecto

En el vídeo siguiente nos explican nuevamente los pasos ya comentados:

 

GitHub Project: https://github.com/nassir-malik/IOT-P…

 

Envío de datos de Iot en Raspberry Pi a la nube


Hoy vamos a  ver  lo fácil  que es conectar un sensor simple conectado a una Raspberry Pi a la nube de transmisión utilizando para ello  un sensor de temperatura digital, el popular DS18B20 y dos scripts de Python simples: uno para enviar los datos del sensor a la nube y el otro para recibirlo para su uso en alguna otra aplicación.
El código  para que pueda iniciarse esta disponible en un repositorio de GitHub .

CONEXIÓN DE UN SENSOR A SU RASPBERRY PI

Primero debe conectar el sensor a su Raspberry Pi. Debe conectar conectar al sensor una resistencia de Pull Uo  de 4,7 K entre  la linea de datos (que conectaremos al GPIO4 )  y la alimentacion de 3.3V

En la imagen se describe la sencilla conexión utilizando el bus 1wire con tres pines GPIO (alimentación, tierra y el pin de datos real).

Connection diagram for ds18b20 1-wire temperature sensor to Raspberry Pi GPIO

Después de hacer las conexiones  debe asegurarse de que el módulo kernel del dispositivo de comunicación 1wire esté cargado.

El procedimiento para hacerlo es ligeramente diferente entre las versiones de Raspberry Pi antes y después de enero de 2015, cuando kernel 3.18.8 se incluyó en Raspbian , la distribución de Linux más utilizada para Raspberry Pi. En las actualizaciones recientes debe modificar el archivo /boot/config.txt como se describe aquí:

# with a pre-3.18.8 kernel:
[email protected] ~ $ sudo modprobe w1-gpio && sudo modprobe w1_therm

# else:
[email protected] ~ $ uname -a
Linux raspberrypi 3.18.11-v7+ #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 armv7l GNU/Linux
[email protected] $ sudo nano /boot/config.txt
# add this line at the bottom (and then reboot):
# dtoverlay=w1-gpio

Ahora puede buscar los dispositivos 1wire respectivos en su sistema de archivos. Cada sensor DS18B20 tiene una identificación única que aparece en este directorio de dispositivos, en nuestro caso 28-000004a365ef .

La siguiente sección muestra cómo leer los datos del sensor para que puedan publicarse en la nube.

LECTURA DE LOS DATOS DEL SENSOR

Una vez que conozca la identificación única de su DS18B20 , puede acceder a los datos del sensor de una manera más reutilizable con una función de Python como la de read_temp.py .
Al ejecutar este código también se ejecutará un ciclo corto para leer y visualizar la temperatura ambiente alrededor del sensor. Intente tocar el sensor con los dedos para ver cómo afecta las lecturas.
Ahora que el sensor está funcionando y entrega datos, es hora de enviar esos datos a la nube , la cual en esta ocasion sera ofrecida por el proveedor europeo relayr

relayr.png

Si no tiene una cuenta de desarrollador relayr , tendrá que crear una. Una vez que tenga una cuenta, puede crear un prototipo de sensor simplemente accediendo a la página de dispositivos de su dispositivo y moviendo el puntero del mouse sobre el botón con el signo más en la esquina inferior derecha.
Luego, desplácese hacia abajo y seleccione “Continuar sin un modelo” para crear el dispositivo. Ahora, cambie el lenguaje de programación a “Python” y copie el código de firmware generado, que será útil para la siguiente sección.

PUBLICACIÓN  DE SUS DATOS DE SENSOR EN LA NUBE DE RELAYR

Puede publicar sus datos usando MQTT (un protocolo para comunicar mensajes de máquina a máquina). Si aún no está instalado, tendrá que configurarlo en su Pi. El paquete paho-mqtt proporciona soporte MQTT para Python y se puede instalar fácilmente como un paquete Python con pip como este (instale pip primero si aún no lo tiene):

 pi @ raspberrypi ~ $ sudo apt-get install python-pip
 pi @ raspberrypi ~ $ sudo pip install paho-mqtt == 1.1

Sabrá si lo ha instalado con éxito si puede ejecutar esta declaración en Python sin ningún error: import paho .
A continuación, puede copiar el fragmento de muestra de Python de la página del prototipo del panel que haya visto al crear un prototipo. Para hacer esto, reemplace el ciclo while en la parte inferior del código con el de publish_temperature.py (disponible en el repositorio).

No olvide incluir la función read_temperature desde arriba y también agregar su identificación de sensor única al ciclo while (la que encontró al configurar el sensor). Alternativamente, puede usar el código en publish_data_mqtt.py , asegurándose de cambiar las credenciales (con las de su panel) y el device_id en la parte inferior de la página.
Esto le permitirá ejecutar un ciclo sin fin, leer los valores de temperatura y publicarlos uno por segundo a la nube de retransmisión.

CONSULTA DE SUS  DATOS

A medida que introduce sus datos en la nube de relayr, puede ver los valores en tiempo real a medida que cambian en el tablero de relayr.

Screen_Shot_2016-07-12_at_16.12.28.png

Ver sus datos en el tablero de instrumentos a medida que cambia es genial, pero en algún momento querrá extraer los datos para usarlos. Para ello, puede acceder a sus datos a través de MQTT de nuevo escribiendo un script simple como el Llamado fetch_data_mqtt.py en el repositorio de GitHub .

Si ejecuta esa secuencia de comandos, mostrará los mensajes MQTT en vivo que contienen los valores de datos tal como se recibieron.

Para ello, utilice el SDK de Relayr Python instalando primero los paquetes necesarios (ejecute las líneas a continuación en su pi):

sudo pip install git + https: //github.com/relayr/pythonsdk

sudo pip install relayr upgrade

Si tiene una Raspberry Pi nueva, asegúrese  de actualizar su lista de paquetes Debian e instalar algunos paquetes de desarrollador antes de instalar el paquete más nuevo de GitHub de la siguiente manera:

  pi @ raspberrypi ~ $ sudo apt-get update 
  pi @ raspberrypi ~ $ sudo apt-get install python-dev libffi-dev libssl-dev 
  pi @ raspberrypi ~ $ pip install git + https://github.com/relayr/python-sdk 

Ahora puede usar el código en receive_data.py para recibir datos de la nube. Asegúrese de cambiar la identificación de su dispositivo y el token de acceso (omitiendo la parte “Portador” del token).


En este ejemplo ha visto cómo puede conectar un sensor de temperatura simple a una Raspberry Pi y publicar sus datos en la nube de transmisión . Esto le permite ver los datos en vivo en el tablero, o exportarlos para usarlos en una aplicación. Puede usar MQTT para publicar y recibir los datos del sensor, o usar uno de los SDK de Relayr, como el SDK de Python , para acceder a los datos de manera más conveniente.

También puede usar sensores más emocionantes y publicar valores de datos más complejos que un solo flotante (es decir, una lista de tres flotantes que representan información geoespacial). Siempre que proporcione una lecturaconocida en el panel de control de relayr, mostrará sus datos en un buen widget. Y también puede publicar algo aún más complicado, como un objeto con niveles de anidación más profundos. En ese caso, el tablero mostrará un widget genérico. ¡Depende de usted y de lo que quiera hacer!

El código del ejemplo esta disponible ena GitHub repository.

Monitorización de consumo energético con Raspberry pi


Con el fin de intentar optimizar el uso  domestico que hacemos de la energía eléctrica  ,  un seguimiento estadístico del consumo energético nos puede ayudar a conocer nuestro consumo y con ello intentar optimizarlo,   ya que  existe un máxima que afirma que no se puede optimizar  algo que no se pueda medir . Para semejante objetivo  se  pueden utilizar contadores de energía para medir   el consumo del  cuadro  de distribución de corriente alterna de une vivienda   y enviar esta información  en tiempo real  a  un logger de datos basados en una Raspebrry pi 3 por medio del protocolo RS485 (sistema de bus diferencial multipunto, ideal para transmitir a altas velocidades sobre largas distancias y a través de canales ruidosos) permitiendo enviar la información  gracias a este protocolo ,  no solo de un watimetro sino de muchos  todos  operando sobre la misma linea .

El medio físico de transmisión  de  la salida de  dichos contadores  es un par trenzado , el cual admite 32, 128 o 256 estaciones en 1 solo par, con una longitud máxima de 1200 metros operando entre 300 y 19 200 bit/s y la comunicación half-duplex (semiduplex) dependiendo del consumo de cada driver  debido   a que la transmisión diferencial permite alcanzar mayor distancia con una notable inmunidad al ruido, siempre que el bus de comunicación conserve las características de bus balanceado (dando incluso la posibilidad de una configuración multipunto).

Gracias al  sistema de bus diferencial multipunto del protocolo  RS485  , se puede  transmitir únicamente con dos  hilos   a altas velocidades incluso sobre largas distancias (10 Mbit/s hasta 12 metros y 100 kbit/s en 1200 metros)  a través de canales ruidosos (es decir compartiendo las canalizaciones eléctricas  )  , ya que el par trenzado reduce los ruidos que se inducen en la línea de transmisión.

 

En cuanto al  software necesario  para procesar la información de los watimetros   se   pueden utilizar los  siguiente  componentes de código abierto:

  • Minimalmodbus -Leer los parámetros de los contadores de energía
  • InfluxDB -Tiempo base de datos de la serie para almacenar datos
  • Grafana -Herramienta de visualización de datos basada en web

Respecto al  hardware se pueden usan los siguientes elementos:

 

Escudo RS485 SparkFun Linksprite RS485/GPIO Shield

Este  escudo ,como puede adivinar,  es el elemento estrella de esta configuración pues precisamente permite  soportar el  protocolo RS485 en  la Raspberry Pi,  de modo que  podrá tener un puerto de comunicación para su bus de campo directamente conectado a su RPi.

Aunque el RS485 a veces se considera un protocolo “arcaico”, permitirá que hasta 32 dispositivos se comuniquen a través de la misma línea de datos a lo largo de una longitud de cable de hasta 1200 mt con una velocidad de datos máxima de 10Mbit / s.  (lo cual no son malos números)

Este escudo viene premontado, así que todo lo que tiene que hacer es ajustarlo directamente a tu Raspberry Pi y obtener la programación. El RS485 Shield V3 es compatible con Raspberry Pi B, B + y Raspberry Pi 2.

Nota: El escudo tiene una huella despoblada para un conector DB9. Verifique a continuación si necesita agregar el conector. De lo contrario, puede usar los terminales de tornillo.

Se ha verificado que funciona con una Raspberry Pi 3 con un escudo Linksprite RS485 y valores de lectura de un SDM120 y SDM630. Al cambiar el archivo [model].yml y crear un archivo .yml [modelo] correspondiente, debería ser posible usar otros modelos habilitados para modbus (agregar el conector). De lo contrario, puede usar los terminales de tornillo.

Cableado

Conecte un cable de par trenzado al escudo Linksprite RS485  , teniendo en cuenta que debe diferenciar el significado de cada hilo ( por ejemplo diferenciando con dos colores) y  teniendo en cuanta que cada  color que deberían ir   a la A y la B.

Conecte el otro extremo del cable al terminal de Modbus del metro de la energía. Asegúrese de que el mismo color va a la A como uno conectarse A en el escudo y lo mismo para B. Si más metros van a conectar, seguir conectando los medidores de la serie: A A, B a B. Un cable de encadenamiento puede ser útil.

 

Se recomienda utilizar resistencias de terminación al final de la cadena.  Para asegurar una conexión buena puede ser una buena idea para soldar un cable de encadenamiento para conectar todo A terminales en serie y todos los terminales B en serie.

Consulte esta documentación para obtener más información: https://www.maximintegrated.com/en/App-Notes/index.MVP/ID/763

Requisitos previos

Descargar tramo de Raspbian Lite y Flash en tarjeta SD, por ejemplo mediante el uso de grabador. Monte el protector de RS485 de cabecera de GPIO de la Raspberry Pi. Poder Rasberry Pi y contraseña de configuración (passwd) y SSH, localización, etc. utilizando la red:

$ sudo raspi-config

Con la configuración abierta  de   raspi-confi, ir a: Opciones de la interfaz 5 -> Serie P6 y Deshabilitar el shell de login serial y Habilitar hardware de puerto serie (es decir NO y luego sí)

Para poder utilizar el UART es necesario deshabilitar el Bluetooth incorporado ya que comparte el UART. Para ello, agregue las siguientes líneas a /boot/config.txt

# Disable built in Bluetooth 
dtoverlay=pi3-miniuart-bt

fuente

Para deshabilitar la consola serie, necesita editar la /boot/cmdline.txt archivo para parecerse a la siguiente línea:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

fuente

Instalar Python Package Manager PIP si no ya instalado (no instalado en Raspbian Lite):

$ sudo apt-get install python-pip

Instalar Git si no ya instalado (no instalado en Raspbian Lite):

$ sudo apt-get install git

Instrucciones de instalación

Puede seguir las instrucciones de GitHub para instalar código fuente InfluxDB, Grafana y medidor registrador de energía, resumidamente son las siguintes:

Instalar InfluxDB *

Instrucciones paso a paso
  • Agregue el repositorio InfluxData
      $ curl -sL https://repos.influxdata.com/influxdb.key |  sudo apt-key add -
     $ source / etc / os-release
     $ test $ VERSION_ID = " 9 " && echo " deb https://repos.influxdata.com/debian stretch stable " |  sudo tee /etc/apt/sources.list.d/influxdb.list
  • Descargar e instalar
      $ sudo apt-get update && sudo apt-get install influxdb
  • Comience el servicio de influxdb
      $ sudo service influxdb start
  • Crea la base de datos
      $ afluencia
     CREAR BASE DE DATOS db_meters
     salida

*fuente

Instalar Grafana *

Instrucciones paso a paso
  • Añadir repositorio APT
      $ echo " deb https://dl.bintray.com/fg2it/deb-rpi-1b jessie main " |  sudo tee -a /etc/apt/sources.list.d/grafana.list
  • Añadir clave de Bintray
      $ curl https://bintray.com/user/downloadSubjectPublicKey ?  nombre de usuario = bintray |  sudo apt-key add -
  • Ahora instala
      $ sudo apt-get update && sudo apt-get install grafana
  • Comience el servicio usando systemd:
      $ sudo systemctl daemon-reload
     $ sudo systemctl start grafana-server
     $ systemctl status grafana-server
  • Habilite el servicio systemd para que Grafana comience al arrancar.
      $ sudo systemctl enable grafana-server.service
  • Vaya a http: // localhost: 3000 e inicie sesión usando admin / admin (recuerde cambiar la contraseña) * source

Instalar Energy Meter Logger:

  • Descargue e instale desde Github
      $ git clone https://github.com/samuelphy/energy-meter-logger
  • Ejecute el script de configuración (debe ejecutarse como root (sudo) si la aplicación necesita ser iniciada desde rc.local, ver abajo)
      $ cd energy-meter-logger
     $ sudo python setup.py install
  • Hacer que el archivo de script sea ejecutable
      $ chmod 777 read_energy_meter.py
  • Edite meters.yml para que coincida con su configuración
  • Pruebe la configuración ejecutando:
      ./read_energy_meter.py
     ./read_energy_meter.py --help # Muestra todos los parámetros disponibles
  • Para ejecutar el script python al inicio del sistema. Agregue a las siguientes líneas hasta el final de /etc/rc.local pero antes de salir:
      # Start Energy Meter Logger
     /home/pi/energy-meter-logger/read_energy_meter.py --interval 60 > /var/log/energy_meter.log &

    El registro con posibles errores se encuentra en /var/log/energy_meter.log

Configuración del medidor de energía

En este proyecto energía Modbus activado se utilizan wtimetros de la marca  Eastron. El autor ha usado dos modelos  :uno normales  de una sola  fase y otro de tres fases . Para capturar los datos muchos de los registros y los registros de interés se especifiquen en dos archivos de configuración: SDM120.yml y SDM630.yml. Los parámetros de estos registros se almacenan como 32 bits flotante  (tamaño de 2 registros) y deben ser leídos por código función 04, fuente : code = 4, 2 registers)

De la documentación Eastron obtenemos el siguiente mapa de registro para configurar nuestros archivos de configuración.

Si se utiliza un medidor de energía diferentes, simplemente deberá configurar  su propio archivo de configuración y añadir a meters.yml donde también se define la configuración modbus para cada metro.

meters: 
   - name : Meter Group 1 
     type : SDM120.yml 
     id : 1     # this is the slave address number 
     baudrate : 9600   # Baud 
     bytesize : 8 
     parity : even # none | odd | even 
     stopbits : 1 
     timeout  : 0.5   # seconds 

Grafana

Grafana abierto (e.g. http://raspberrypi.local:3000) y entrar con admin / admin.

Empezar por crear un origen de datos:

  • Nombre: Dar un nombre de su elección
  • Tipo: Seleccione InfluxDB
  • Acceso: proxy
  • Base de datos: db_meters
  • ¡Agregar!

Añadir un panel de control y haga clic en gráfico. Haga clic en “Panel de título” y edición. Haciendo clic en “seleccionar medición”, “+”, “valor de campo” etcetera puede seleccionar los parámetros que interesa analizar.

Una cosa vale la pena destacar es en “Opciones” donde debe ingresar el “intervalo de tiempo mínimo” que debe ser el mismo que el tiempo entre mediciones.

En la pestaña de “Ejes” puede la unidad para la medición.

NOTAS:

En caso  de  que no se registren las lecturas   en la Raspberry Pi  ,lo mejor es empezar por investigar el archivo de registro. El nivel de registro puede establecerse como parámetro cuando se ejecuta el script:

read_energy_meter.py --log DEBUG | INFO | WARNING | ERROR 

Al registro de configuración para depuración usted obtiene más información. Si usted ha de  escribir el registro en un archivo puede buscar en el registro de error usando este comando:--logfile

$ cat energy.log | grep -in 'error' | awk -F: '{print $2" - Line number : "$1}' 

Asimismo asegúrese de que todos sus medidores conectados en el mismo están configurados con la misma velocidad en baudios.  También es  muy   importante definir un tiempo de espera corto, aproximadamente 10 ms,(con entre parámetro así definido  se puede hacer que se tolere  si se produce errores de CRC al azar).

 

Mas información en  https://www.hackster.io/samuelphy/energy-meter-logger-6a3468

 

 

Consiga su Raspberry Pi 3 por 34€ con la carcasa gratis


Con  más de ocho millones de unidades vendidas , incluyendo tres millones de unidades de Raspberry  Pi 2 , nadie duda  que Raspberry es una plataforma  muy exitosa ,  tanto que de hecho la Fundación Raspberry Pi ha crecido de unos pocos  voluntarios a llegar a más de sesenta empleados a tiempo completo, ! e incluso  han enviado una Raspberry Pi a la Estación Espacial Internacional !

Destaca de la familia  Raspberry pi la ultima  Raspberry Pi 3 Modelo B   ,la última placa de la familia de Raspberry Pi  ,una placa 10 veces más potente que la original (es decir la primera versión) ,  donde   lo mas destacable  es que se ha añadido   conectividad inalámbrica integrada, tanto por wifi (soportando los estándares  802.11 b/g/n) ,  como  por  Bluetooth ( versión 4.1).

El precio  normalmente de esta versátil   placa con gastos de envíos,  ronda  los 50€  ,pero ahora de forma puntual  su precio es de 34.20 €  en Amazon

Hablando de conectividad ,la nueva placa  incorpora el chip de Broadcom BCM2837 junto el chip inalámbrico “combo” BCM43438 . Gracias  a esta combinación de CI,  ha permitido  adaptar la funcionalidad inalámbrica en casi el mismo factor de forma de los modelos anteriores como  Raspberry Pi Modelo B + 1 y Raspberry Pi 2 Modelo B. De  hecho ,  el único cambio es que la posición de los LEDs los  han trasladado al otro lado de la ranura de la tarjeta SD para hacer espacio para la antena. Respecto al nuevo SoC, el  BCM2837, este   conserva la misma arquitectura básica que sus predecesores BCM2835 y BCM2836, por lo que todos los proyectos y tutoriales que se basan en este  hardware de la Raspberry  Pi continuarán funcionando.

broadcom 

Esta nueva placa  a diferencia de todas la anteriores  usa un procesador   de  64  bits : un  ARM Cortex-A53  de  cuatro núcleos  a una velocidad de reloj  de 1,2 GHz  en lugar de un  Quad-Core Cortex A7 de 32 bits  a 900 MHz de su antecesor ( Raspberry Pi  2 modelo B), por lo  que vemos que el cambio de procesador  ha sido espectacular no solo por la velocidad de reloj superior (de 900 Mhz  a   1,2 GHz) ,  sino básicamente  por el cambio de arquitectura también ARM ,pero  de 64 bits en lugar de la antigua de 32 bits .

La combinación final   de un aumento del 33% en la velocidad de reloj con varias mejoras en la arquitectura,  permitiendo  proporcionar un aumento del 50-60% en el rendimiento en el modo de 32 bits frente a la Raspberry Pi 2, o aproximadamente un factor de diez sobre la original Raspberry Pi.

Sobre la memoria  RAM cuenta  con 1GB LPDDR2 ( la versión anterior también contaba con 1GB)  y a nivel de gráficos también han mejorado   pues cuenta con  un Dual Core VideoCore IV ® Multimedia Co-procesador.

Sobre los conexiones disponibles, sin embargo ,  no ha cambiado sustancialmente  , contando  como en la versión anterior  con las siguientes posibilidades:

  • 4 Puertos  USB 2.0
  • Puerto de  GPIO de 40  pin,
  • Salida HDMI rev 1.3 y 1.4
  • Toma  Ethernet
  • Jack de audio de 2  1/2″ ,
  •  Interfaz de cámara (CSI)
  • Interfaz de Pantalla (DSI)
  • Lector  micro SD

 

Todos los conectores anteriores  están en el mismo lugar y tienen  la misma funcionalidad, y para alimentar la placa  todavía se puede usar un  adaptador de alimentación de 5V micro-USB, pero en esta ocasión, están recomendando un adaptador 2.5A por si desea conectar dispositivos USB que consuman mucha energía  de la Raspberry Pi.

Caja

Una  de las ventajas  de la Raspberry Pi es que es fácilmente  personalizable, no solo por dentro gracias a  las múltiples distribuciones  compatibles ( incluso W10) , sino también por fuera, por ejemplo  con la carcasa , que esta abierta   completamente a nuestra  creatividad.

Si dispone de una impresora  3D  una de la las mejores opciones   gratuitas     es  el diseño con soporte VESA   de  0110-M-P   compatible con los siguientes modelos de Raspberry Pi: Raspberry Pi 3 ,Raspberry Pi 2,Raspberry Pi Modelo B +,  Además, para facilitar la impresión  cuenta con dos mitades para ajustar facilmente  uy  que ademas  se puede ajustar el diseño para su propio uso.

Esta esta nueva carcasa para la Rasperry Pi 3 presenta:

  • Ranura de acceso para la cámara Pi
  • El diseño es atornillable  por dentro (la pcb )  y por   fuera
  • Atornille el montaje de Raspberry Pi al estuche usando agujeros en PCB
  • Construido en pestañas de montaje VESA de 75 mm
  • Diseño de ventilación del motor rotatorio (triángulo reuleaux)
  • Malla STL de alta resolución

Este es el aspecto de como queda  la pcb atornillada    a la base inferior del diseño , donde se puede apreciar claramente el radiador  pasivo, el cual   aunque no es obligatorio , si lo es de forma muy   recomendable para evitar calentamientos excesivos  a la placa  y así alargaremos la vida de esta versatil  placa

Y este es el aspecto de como queda ya montada y cerrada :

 Usos  Y Aplicaciones

Usted necesitará una imagen reciente NOOBS o de Raspbian  que puede descargar desde la pagina  de  descargas . En la pagina de descargas  esta  disponible  la versión de 32 bits Raspbian usada en otros dispositivos Raspberry Pi, pero se suponen que próximamente   deberían crear  una nueva imagen con soporte al modo de 64 bits.

La forma de instalar el sw en la sd no puede ser mas sencillo ,pues una vez descargada la  ISO de  la distribución que nos  interese   , solo necesitamos la utilidad Win32DiskImager d( se puede descargar desde la página del proyecto en SourceForge como un archivo zip),seleccionar el archivo de imagen que ha extraído anteriormente de Raspbian, seleccionar la letra de la unidad de la tarjeta SD en la caja del dispositivo . hacer  clic en Escribir y esperar a que la escritura se complete.(mas detalles  aqui )

 

La nueva placa no es solo un dispositivo estupendo para programar sino que también es   ideal para jugar  usando directamente la distribución de Raspbian citada  o  bien por medio de la distribución RetroPie

Especialmente interesante  para experimentar  para sus futuros proyectos de IoT  tal y como hemos visto  en este blog , es e usar la Raspberry Pi    a través de la plataforma Cayenne

Asimismo en este blog también hemos hablado de las posibilidades de la Raspberry Pi para emular el sistema Ambilight de Philips gracias a la distribución LightBerry

 

Hay infinitas posibilidades  muchas de las cuales hemos intentado  hablar en este blog   de modo que seria  pretencioso intentar condensarlas todas en un único post, sin duda el limite solo esta  en nuestra imaginacion

 

Por cierto, no sabemos  hasta cuando se mantendrá el precio , pero  si le   interesa este modelo   por unos  de 34€  con gastos de envío incluido ,  no se lo piense pues puede conseguirlo  todavia en Amazon facilmente