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:
pi@raspberrypi ~ $ sudo modprobe w1-gpio && sudo modprobe w1_therm

# else:
pi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.18.11-v7+ #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 armv7l GNU/Linux
pi@raspberrypi $ 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.

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 (buscar relayr-raspberry-pi).

Electrónica de una lavadora LG direct drive y averias mas comunes


Ha cambiado mucho la tecnología desde las primeras lavadoras que solo incluían un simple motor agitador  a las modernas lavadoras  con tracción directa del tambor ( direct drive)  y modulo auto diagnostico basado en microcontroladores .

Un ayuda inestimable  a   la hora de resolver cualquier incidencia  de funcionamiento de nuestra lavadora  son los códigos de error los cuales   nos permiten realizar un rápido diagnóstico de sus averías  más comunes. Estos códigos de error deben ser del conocimiento del técnico en reparación y mantenimiento a lavadoras para una rápida resolución del problema , pero  afortunadamente también se incluyen  en los manuales correspondientes a cada modelo , por lo que como primer paso  deberíamos consultar el manual de lavadora para identificar  si nos esta mostrando algún tipo de error , los cuales se muestran con señales sonoras , combinaciones de leds o incluso en las que los disponen de display   en este  mismo los propios  códigos de error.

detalle del programador

Empezando por lo básico

Aunque los filtros se pueden acceder por el exterior, si tenemos una avería tarde o temprano intentaremos abrir la tapa superior  o el lateral  para intentar averiguar el origen de cualquier problema

Como podemos ver  en la imagen de abajo de una lavadora   LG F10B9QFW   ,  en el interior  se  ha sustituido  el metal por el plástico ,mucho mas ligero y por supuesto insensible a la oxidación   y corrosión

interior de una lavadora

Por orden de importancia ante cualquier problemas podemos seguir los siguientes punto

  • En primer lugar revisaremos el filtro de agua del desagüe. En algunos modelos de lG con Display , el error es «OE»  que significa “drain error”, es decir error de vaciado de agua. Se activa si después de 5 minutos de iniciado el vaciado de agua, el sensor de llenado indica cuba llena.

Ante  cualquier contratiempo   de mal funcionamiento , ante de nada debemos comprobar que la tubería de desagüe no está torcida, doblada o aprisionada por algún elemento extraño   verificando  que el desagüe es eficaz y no existan atranques que devuelvan el agua. Revisados las tuberías,  también  debería comprobar que el filtro de la bomba está limpio y sin obstrucciones.

  • En segundo lugar, un fallo muy común es que el filtro de la toma de agua que quede obstruido por acumulaciones de sales ,por lo que es importante  limpiarlo  concienzudamente.

Lo mejor es limpiarlo  hasta incluso llegar a extraer el porta-filtro  ya que  en la mayoría de modelos se puede extraer

filtro interoi

Es conveniente incluso limpiar con un bastoncillo de oídos en el interior del porta-filtro  para que limpiar  cualquier obstrucción

interior fltro

  • Si el suministro de agua está bien, el fallo puede estar motivado por una rotura en algunas de las electroválvulas.  Suelen ser  dos  y, como se ve en la imagen, están  justo en la entrada de  agua.

Se pueden comprobar su bobinados con polímetro , el cual debería  oscilar  un valor de 2 a 8 ohmios

electrovalvula

Otra posibilidad de avería  de las electroválvulas es que  pierdan la hermeticidad   las juntas de  goma  interiores , por lo que en efecto podemos probar que se accionen pero no cortan o no abran el flujo de agua  : esta avería es típica y se  manifiesta     llenándose el tambor incluso con la  lavadora apagada debido a las fugas de  alguna de las electroválvulas . Obviamente estos errores  obligan    a reemplazar  la  electroválvula averiada.

Rebosamiento de la cuba

Otro de los problemas típicos el  llenado de la cuba  incluso llegando el rebosamiento . El error se suele indicar por OE (“Overflow error”) y si es detectado  por la electrónica  la bomba de agua suele activarse automáticamente. Este mensaje, nos indica que la cuba se ha llenado de agua de manera excesiva.

El fallo puede estar en el sensor de agua que da una lectura errónea, o que la electro-válvula no cierra (por depósitos de cal, suciedad,  junta picada), lo que produce un constante llenado de agua de la lavadora como hemos visto en el punto anterior.

Existen dos tipos de sensores de presión de agua en lavadoras:

  • Sensores de presión de agua  a base de contactos eléctricos o resistivo.
  • Sensores de presión de agua electrónicos , los cuales son  más seguros al no tener contactos físicos eléctricos.

En algunos  modelos   de LG con display, un fallo de  los presostatos    se indican por  el error   «PE» (es decir  Pressure error)”, es decir error en el sensor de presión refiriéndose  a la presión del agua en el presostato, el cual puede ser verificado en modo test en algunos modelos .

Una avería muy típica  es pues que la lavadora se llena de agua y no para de llenarse  desbordándose  sin pasar al ciclo de lavado .lo cual   normalmente  puede  relacionado con el sensor de presión de agua  como vemos.

Presostato vista superior

Una avería típica del modelo   LG F10B9QFW es que  con el tiempo  se suelte el conducto  procedente del tambor , provocando que la lavadora  no lave pues no corta el llenado  de agua del tambor .

En este caso  simplemente arreglaremos  al avería fijando el tubo al presostato  y  como mejora colocaremos una brida para que no se  vuelva a soltar el tubo

img_20170126_1740031

 Obviamente si la conducción es correcta ( no esta obstruida ) y no se ha soltado , y  sigue manifestando el  mismo error de llenado del tambor hasta el limite  ,muy probablemente el sensor estará mal y  debe ser sustituido por otro.

Problemas con el vaciado  de la cuba

Si estuviese todo lo anterior correcto,otro problema  puede ser  el fallo de la bomba para lo cual, aparte de observar si se oye agua  circular por el sumidero . podemos medir con un polimetro el bobinado de la bomba que debería  tener  una resistencia de 80 a 150 Ω .
En algunos modelos de LG  el error es  DE ( es quiere decir drain error) , es decir error de vaciado de agua. Se activa si después de 5 minutos de iniciado el vaciado de agua, el sensor de llenado indica cuba llena.
bomba de lavadora

Otras averías

  • Otra avería probable es el interruptor de seguridad de la  puerta cuyo código de error  en lavadoras LG con display  suele ser DE (“door error”), es decir error en la puerta de la lavadora. Debe verificar  que la puerta de la lavadora está completamente cerrada, verificando el contacto de cierre y el retardo de apertura. En caso de que el contacto o el retardo esté mal, debe sustituirse todo el bloque.
  • Y llegamos  al motor cuyo error en las lavadoras LG suele ser «LE» (significa “Motor error”), es decir, error en el motor. El fallo está originado por una avería en los bobinados del motor, que están abiertos o en cortocircuito. La avería también se produce si el conector está mal o flojo, o los sensores Hall están dañados.

Llegados a este punto, ver este mensaje indica  una reparación bastante costosa. Verifique el bobinado del motor, quite el conector y mida con el multímetro. Las resistencias se miden entre cada bobina y deben dar una lectura entre 5 y 15 ohmios. Si las bobinas están bien, seguramente el fallo está en algún sensor Hall, los cuales deben ser cambiados.

detalle del motor

  • Y para terminar llegamos a la parte mas importante : la placa principal (antiguamente llamada  programador) .Si todos los elementos anteriores  están operativos un problema muy típico  puede ser cualquier aspecto relacionado con la placa principal , que en los modelos mas actuales suele  estar centralizada en una  sola  placa .

Normalmente las reparaciones de esta placa suelen consistir reemplazar por completo la placa   conllevando  diadema de un coste considerable,  así que  si llegados  a este punto estamos seguros de que esa es la avería , tenga en cuenta que  en casi todas las reparaciones una parte muy importante se lleva la  parte de alimentación  ,( que el caso de las lavadoras va integrada en la placa) , así que es un comienzo empezar por este punto .

En la imagen a la izquierda se observa claramente el transformador , un condensador electrolítico de gran capacidad  y un puente de diodos y varios condensadores de poliéster ,  por lo que un buen comienzo seria ir comprobando tensiones por esa parte ( con cuidado extremo pues esta alimentado con tensión ac 220V)

img_20170126_1740431

Otra causa de problema de  mal funcionamiento, suele ser los conectores  y sobre todo condensadores   por  lo  que no viene mal revisar en general el estado de estos

img_20170126_1740511

Sin duda el abanico de posibilidades es infinito, pero hemos intentado   mostrar en este post los síntomas  mas comunes junto con su solución . !Muchísima  suerte con la reparación!