Simple termometro conectado a Internet


En esta ocasión como ejemplo de la gran versatilidad del Módulo Electric Imp se  presenta un sencillo  circuito que gracias a  a la plataforma   Cosm.com nos permitirá  construir un sencillo termómetro conectado a Internet.

 

En cuanto el circuito no puede ser mas simple pues simplemente conectaremos el sensor entre los pines 8 y 9 del breakout del   Eelctric  Imp  y un simple resistencia de 100k entre el pin9 y el terminal de  3.3V.

Al ser sólo dos componentes bien se pueden  soldar directamente el breakout o bien en un pequeña plaquita aparte o incluso en una placa de prototipos

 

Conectar la batería

Para asegurar la batería en el tablero del desbloqueo, pude pegar pequeño cuadrado de cinta de doble caraadhesiva Corte un pedazo pequeño con un par de tijeras y pegar el lado adhesivo de la parte posterior del tablero del desbloqueo. Despegue la película de soporte, y el palo de la batería en, por lo que asegúrese de mantenerlo bonito y cuadrados – esto es pegajoso! Una vez que lo tienes pegado en su lugar, seguir adelante y conectar el clip de la batería.

Compruebe el puente

Asegúrese de que el puente en su tablero del desbloqueo está configurado para conectar el pin central y el pin «BAT». . Si su modulo imp no se enciende cuando se hace clic en el zócalo, vuelva a comprobar el puente.

Enchufe el imp

Inserte su modulo Electric imp en el zócalo de la placa del breakout  y debería comenzar a parpadear en rojo o naranja (a no ser que lo ha conectado antes en esta red, en cuyo caso se acaba de conectar de nuevo).¡Enhorabuena! Usted está encendido y listo a parpadear y programa.

BlinkUp

Si no se ha registrado como desarrollador en eElctric Imp, tendrá que hacerlo ahora. Cara aplan.electricimp.com inscribirse (es gratis). Usted también tendrá que descargar la aplicación eléctrica imp en su teléfono inteligente, que también es gratuita – sólo la búsqueda de «Electric imp «. Inicie sesión en la aplicación con las mismas credenciales de la cuenta que utilizó para registrarse en plan.electricimp.com.

Una vez que estés conectado, añada su red inalámbrica a la lista de las redes en la aplicación Electric imp . Si estás en iOS, se le pedirá que deje que se utilice la red ya se encuentra en, y usted sólo tiene que añadir la contraseña de uno mismo. Para agregar una nueva red manualmente, seleccione «otra red» y escriba el SSID y la contraseña. Marque el botón de «guardar esta red»!

Una vez que haya agregado la red,el circuito está listo a parpadear hasta. Asegúrese de que el circuito se enciende  Si está encendido, pero se detuvo a parpadear, reajuste la alimentación por «empujar-empujar» la tarjeta (empujar una vez para desconectar, contar hasta 3, pulse de nuevo para volver a conectar) para que pueda estar seguro de que la escucha de la señal blinkup.

Mantenga ahora la pantalla de su smartphone con la apliacacion Electric Imp contra el borde superior de la imp y pulse «enviar blinkup» en la aplicación imp eléctrica. La pantalla de su teléfono comenzará a parpadear rápidamente durante unos 10 a 20 segundos, y luego se detiene. El imp debe parpadear una vez verde («tengo!»), Entonces comenzará a parpadear en color rojo / naranja («encontró la red, la conexión con el servidor imp eléctrica»). Después de un segundo o menos, el diablillo debe ser capaz de llamar a casa al servidor imp eléctrica, y comenzará a parpadear en verde. Sted Y conectada. Excelente.

Para medir el voltaje a través del termistor,  en el circuito usamos el pin 9 que es la entrada al  convertidor de analógico a digital, lo que nos permite tomar una medida precisa de la tensión analógica en el pin con el imp.Echa un vistazo a el software en unos pocos pasos para ver cómo se hace.
 Hay un firmware todo escrito y listo para usted en github . Jefe de más allá, copiar ese firmware en el portapapeles, y están en la parte posterior.

Apunte su navegador a plan.electricimp.com nuevo e ingrese Usted debe ver a su nuevo dispositivo de allí en su plan – que será una pequeña caja azul. Si nunca has corrido un nuevo firmware en este foro antes, se acaba de decir «EN BLANCO».

Haga clic en el botón de «código» en la barra de navegación de plan.electricimp.com para ver la lista de firmware que tiene disponible. Para agregar un nuevo firmware, haga clic en el gran botón «+» en la esquina superior izquierda de la ventana, e introduzca un nombre para el firmware en el cuadro que aparece. Cuando se guarda el nombre, lo trasladarán al editor de código, donde se puede pegar el código que ha copiado desde github. Haga clic en el botón Guardar, y luego haga clic en el botón «plan» en la barra de navegación para volver a la vista de plano.

En la vista de esquema, haga clic en el botón de configuración (los pequeños deslizadores en la esquina superior derecha) en su nuevo dispositivo imp. Usted verá una ventana emergente con un menú desplegable en el mismo. Haga clic en el menú desplegable y escoja su nuevo firmware de la lista de firmwares disponibles. Después de unos segundos, el diablillo se descargará automáticamente y ejecutar el nuevo firmware, y verá el texto en el cambio de la caja azul de «BLANCO» a «abril NTC TERMÓMETRO». ¡Funciona!

Para ver la temperatura adecuada en la vista de esquema, puede agregar un nodo «Programa de entrada» a su plan. Haga clic en el botón «Añadir nodo» en la parte superior izquierda, bajo la barra de navegación, y desplácese hacia abajo hasta el nodo «Programa de entrada». Haga clic en Añadir para añadir el nodo, a continuación, arrástrelo a la posición de su plan. Para conectar el termómetro para este nodo, haga clic y arrastre desde la pestaña pequeño «+» al lado del botón de configuración en el termómetro para el nuevo nodo de entrada espectáculo. Cuando suelte el ratón, verá una ventana de diálogo, permitiendo especificar qué salida del termómetro se debe mostrar en el nodo de entrada espectáculo. Elija la cadena de temperatura. Usted no puede ver una actualización de forma inmediata como el duende va a dormir entre las mediciones, se puede obligarlo a hacer una actualización en este momento apagando y encendiendo el imp.

Vamos a conectar su nuevo termómetro para COSM para registrar los datos, entonces podemos volver y echar un vistazo a lo que hace el trabajo de firmware.

Para conectar el termómetro para Cosm, primero necesita una cuenta de cosm. Dirígete ahttp://cosm.com y registrarse si aún no lo (de nuevo, es gratis) tiene. Cuando se registre, recibirá una clave de API. Seguir adelante y copia este. Puedes acceder a él de nuevo en la página cosm siempre que lo necesite, pero usted lo necesita en tan sólo un segundo.

Una vez que tenga la clave de API, creó un nuevo feed de tu cuenta cosm haciendo clic en el botón «Add Feed». Siga el diálogo para crear tu feed, y seleccionar «mi dispositivo empujará datos para cosm», ya que no tendrá que cosm para sondear el dispositivo para obtener los datos. Por último, añadir un nuevo flujo de datos a su feed haciendo clic en el botón «+ flujo de datos» en la vista de los piensos y de introducir los datos necesarios.

Antes de que hemos terminado aquí, escribir también los ID de alimentación (el número de seis dígitos que aparece en la barra de URL cuando se podrá ver el contenido) y el nombre del flujo de datos (el nombre real que le dio el flujo de datos). Usted necesitará esta información para conectar el termómetro para la alimentación.

La cabeza de nuevo a plan.electricimp.com ahora y haga clic en «añadir nodo» de nuevo. Esta vez, desplácese hacia abajo y agregar un nodo «cosm». Usted obtendrá otra caja verde, igual que lo hizo con el nodo «input espectáculo», y éste va a decir «COSM» en él. Arrastre en su lugar y conectar el termómetro de la misma manera que lo hizo con el nodo de entrada espectáculo. Tenga en cuenta que usted puede tener ambos conectados al mismo tiempo. Una vez que estés conectado, haga clic en el botón de configuración en el nodo de cosm, y obtendrá una ventana emergente en la que deberá especificar la clave de API, ID de alimentación y flujo de datos que ha creado. Con este conjunto, los datos serán empujados a la nueva corriente de datos la próxima vez que su termómetro toma una lectura. Usted será capaz de confirmar esto desde el punto de vista anteproyecto examinado el nodo cosm, que mostrará el estado de la última petición HTTP al servicio cosm (que será «200» en el éxito).

Tenga en cuenta que cosm tiene límites de frecuencia, y no le permitirá enviar datos a una sola corriente de datos más de una vez cada 15 segundos.

Después de algunos cambios, tendrás un bonito gráfico de la historia de su flujo de datos!

Volvamos al editor de código y echar un vistazo a cómo el imp funciona esta magia.

  1. Un imp eléctrica (actualmente disponible en Sparkfun y Adafruit ) – $ 30
  2. Un tablero del desbloqueo imp eléctrico (de nuevo, Sparkfun o Adafruit ) – $ 12.50
  3. Una batería de 9V
  4. Un clip de la batería de 9V,
  5. Un condensador 220 uF, 50V. Asegúrese de que sea lo menos nominal 16 V si se va a conectar a una batería de 9 V, o tendrás un mal momento.
  6. Una resistencia de 100 kohmios, preferiblemente 1% de tolerancia
  7. Un (negativo-coeficiente de temperatura) Termistor NTC. . Tiene que tener una resistencia a temperatura ambiente igual a su resistencia (# 6) – éste es 100 kohmios a temperatura ambiente. – $ 3.25

Usted necesitará algunas herramientas y suministros, así:

  1. Soldador
  2. Soldadura
  3. Un poco de cinta de espuma o de otro tipo de cinta gruesa, de doble cara para fijar la batería a la placa breakout
  4. Cortadores cortadores angulares / alambre
  5. Pelacables
  6. Un teléfono inteligente para el uso de BlinkUp poner el diablillo en su red wifi
  7. Una computadora para programar la imp

Fuente aqui

Como controlar hasta 10 dispositivos desde Internet


Este proyecto realizado por Miseim utiliza el dispositivo Eléctrico Imp  y es capaz de controlar a distancia 10 dispositivos eléctricos de 220V a través de WiFi, gracias al servicio Internet Imp Cloud.
Básicamente, la «esencia» del proyecto:
  •  El modulo Imp envía una cadena de bits en serie  a un chip conversor de  serie a paralelo digital fabricado por Texas Instruments,envíandose  un valor (0-255 decimal o hexadecimal FF) mediante dos bits del puerto serie UART (patillas 1 y 2).
  • El chip de TI sólo puede recibir bits, por lo que  pin Imp 2 (RX) no se utiliza.
  • El chip TI convierte esa entrada serial en 8 salidas digitales
  • Electrónicamente, desde  esa salida se puede encender o apagar cualquiera de los relés de estado sólido o con relés tradionales.

El chip de TI es direccionable, 0-7 usando 3 bits. Eso significa que técnicamente podría tener hasta 8 de ellos en una línea para conducir 64 salidas digitales. En este proyecto , el chip de TI sólo recibe bits en serie y no envía ningún dato de vuelta (para UART bidireccional tendría que utilizar un método diferente).

Se ha escogido este chip de TI, ya que no necesita de un reloj,se sincroniza automáticamente con base en el momento del primer bit de inicio,lo cual hace que el circuito sea super simple y fácil para que cualquiera lo pueda construir

Para poner en marcha el dispositivo Electric Imp , debemos registrar nuestro disposistivo en el sitio web eléctrico Imp (www.electricimp.com) y crear una cuenta para su dispositivo Electric Imp.

Este seria el esquema  de circuito tabla final  que pude implementarse en una placa protoboard   o bien en una sencilla placa de puntos  soldando los componentes a esta.

En el circuito sólo se  usan los pins Imp 1 y 9 del Electric Imp,lo cual  deja pines extra que puede usarse  para otras cosas. El chip TI es direccionable (3 bits), por lo que podría ampliar este a salidas más digitales.

Los  pines extra del electric Imp no usados en este  aplicacion (5,7,8,9) se podrían utilizar para las entradas procedentes de algunos interruptores externos. No se puede utilizar el pin 2, porque eso está reservado para UART12 (puerto serial, los pines 1 y 2).En esta ocasión  no se usa aquí porque el chip de TI no puede devolver ningún dato.

Relés de estado sólido pueden  montarse  en el lado de la caja, Si se van a utilizar para fines de alto amperaje, tendrían que ser montados en disipadores de calor de algún tipo esos relés . Ademas si usted planea en la conmutación más altas cargas de corriente, consulte con un experto con experiencia para la instalacion apropiada. También se dan cuenta de que todos estos circuitos entran en un cable de alimentación y una toma de corriente doméstica. Tenga cuidado de no sobrecargar una salida, y nunca utilice dispositivos de seguridad tales como fusibles e interruptores de circuito.

Observe también que los cables de extensión no tienen tierra. Una vez más, utilizar el sentido común y la sabiduría en la determinación de qué tipo de cosas que le cambio con este proyecto. Con la construcción adecuada y relés adecuados, esto podría ser utilizado para cambiar los dispositivos de alto amperaje.

A  continuación el listado para el código imp incluyendo  tanto el código para el «Agente», como el código para el «Dispositivo».


REV: 10/06/2013

AGENTE
===========================

http.onrequest (function (req, resp) {
if (req.method == «POST») {
cuerpo local = http.urldecode (req.body);
server.log («Interruptor entrante:» + body.data);
/ / Recibido como dos bytes: 0000 0000
/ / Restablecer todo: 00 (0000 0000)
/ / Switch 1: 01 (0000 0001)
/ / Interruptor 2: 02 (0000 0010)
/ / Switch 3: 04 (0000 0100)
/ / Interruptor 4: 08 (0000 1000)
/ / Interruptor 5: 10 (0001, 0000)
/ / Interruptor 6: 20 (0010, 0000)
/ / Interruptor 7: 40 (0100, 0000)
/ / Interruptor 8: 80 (1000 0000)
device.send («Datos», body.data);
}
resp.send (200, «OK»);
});

DISPOSITIVO
===========================
/ / UART Comunicación de TI SN74LV8153 serie a paralelo de la viruta

/ / Receptora que botón es apretado …
/ / Hay un par de maneras de hacer esto …
/ / Se puede realizar un seguimiento de lo que los interruptores están encendidos o apagados dentro
/ / El script en línea (PHP, Perl, javascripting) y enviar una
/ / Valor único que consigue entregada al chip TI. Que
/ / Valor incluirá las posiciones actuales de todos los interruptores.
/ / O …
/ / Usted puede enviar un valor que indica que se ha pulsado solo interruptor.
/ / Lo estoy haciendo de esta manera. Cada vez que se hace clic en un interruptor, que
/ / Envía el valor correspondiente a un bit. Ese valor es entonces
/ / Convertido a un entero. Haciéndolo de esta manera, es posible
/ / No saber qué posición del interruptor es pulg Este método
/ / Se debe utilizar para pulsadores momentáneos en una página web. Estoy
/ / Uso de interruptores deslizantes jQuery, por lo tanto cambiar de encendido a apagado o
/ / Apagado a encendido envía el mismo bit individual. Siempre empiezo por
/ / Desactivar los interruptores de gráficos (en off), y restablecer la
/ / IMP a 00 (cero). Una variable global «máscara» se utiliza para mantener
/ / Seguimiento de la posición actual de los interruptores. Cuando un nuevo
Se recibe / / bits, máscaras que poco (XOR bit a bit) con la «máscara»
/ / Y que crea el nuevo valor para el envío al chip TI.

writeSerial función (valor) {
/ / Hacer un OR exclusivo (XOR) para cambiar sólo la parte que se recibió (alternar él).
nuevovalor locales = valor ^ máscara;
if (value == 00) {
/ / Se ha recibido un cero, por lo que hacer un reinicio (apagar todas las salidas)
nuevovalor = 00;
}
hardware.pin9.write (0);
salidas locales = NewValue;
dirección local = 0x00; / / escribir a la dirección 0 de chip
/ / Enviar datos en serie a chip de TI
hardware.uart12.write (formato («% c% c», 0x01 | (Dirección << 1) | (salidas y 0x0f) << 4, 0x01 | (Dirección << 1) | (salidas y 0xf0)));
server.log (formato («WiFi señal:% d dBm», imp.rssi ()));
Intensidad de la señal / / Imp RSSI
/ / Abajo -87 cero (aún conectado, pero apenas)
/ / -87 .. -82 1
/ / -82 .. -77 2
/ / -77 .. -72 3
/ / -72 .. -67 4
/ / Por encima de -67 5
hardware.pin9.write (1);
enmascarar = nuevovalor;
}

/ / Convertir cadena hexadecimal a un entero
hexToInteger función (hexadecimal) {
de resultado local = 0;
cambio locales = hex.len () * 4;

/ / Para cada dígito ..
for (d locales = 0; d = 0x61)
dígitos = hex [d] – 0x57;
else if (hex [d]> = 0x41)
dígitos = hex [d] – 0x37;
más
dígitos = hex [d] – 0x30;

/ / Acumula dígitos
cambiar – = 4;
resultado + = dígitos << turno;
}
return resultado;
}

/ / Pin9 es un indicador blip LED siempre que los datos se envía al chip de TI
hardware.pin9.configure (DIGITAL_OUT);
hardware.uart12.configure (19200, 8, PARITY_NONE, 1, NO_CTSRTS);
/ / La variable global «máscara» hace un seguimiento de la situación actual de los interruptores.
/ / Estoy haciendo esto en la imp. Como alternativa, puede realizar un seguimiento de los interruptores
/ / Dentro de la secuencia de comandos web y enviar las posiciones correctas de los 8 interruptores a la vez.
máscara agent.on («datos», la función (valor) {
valor = hexToInteger (valor);
writeSerial (valor);
});
writeSerial (00);

/ / Registrar con el servidor
imp.configure («TI_SN74LV8153», [], []);

Para ver un ejemplo de trabajo del panel de control de usuario página web (ver imagen superior) Ir a: http://www.catpin.com/demo

1) Puede ver la demo en su smartphone y ver cómo funcionan los interruptores deslizantes.
2) Puede ver el código fuente HTML para ver el JQuery y scripts (utilizando su navegador, ver el código fuente HTML).
3) El script PHP actual que el valor de POST al imp se muestra en la imagen de arriba.

Con el código Imp, se usa un  sitio web que utiliza jQuery y / o jQuery Mobile para enviar un interruptor de presión momentánea al imp. Presione ON, OFF Press. Usted puede utilizar cualquier tipo de página web que desee, y  javascripting o HTML5 ,aunque en el ejemplo se esta usando PHP scripting del lado del servidor a POST el valor (s) a la imp(es posible que prefiera Perl, o algún otro método de servidor).

El propósito del script PHP para POST es para ocultar la URL agente imp del usuario. Si codifica el POST usando jQuery, el usuario será capaz de ver la URL en el código HTML. Con PHP (server-side), esa URL se mantiene en secreto.

Básicamente, la «esencia» del proyecto: Se envía el Imp un valor (0-255 decimal o 00-FF hexadecimal) y envía esa corriente de bits del puerto serie UART (patillas 1 y 2). El chip de TI sólo puede recibir bits, por lo pin Imp 2 (RX) no se utiliza.

Desde el botón o interruptor de cambio en la página web a la luz real de encender o apagar tardará aproximadamente 1 segundo, dependiendo de lo rápido que el Internet es para usted. Esa velocidad incluye la velocidad de conexión (DSL, banda ancha, etc.) 1 segundo parece rápido, pero en esta industria «, aproximadamente 1 segundo» no es instantáneo, y no es predecible, así que tengalo en cuenta si el tiempo es crítico.

COMO HACER UNA BREVE PRUEBA SIN EL SCRIPT PHP SIN PROBLEMAS …

Para probarlo con un script HTML «minimalista», copie este script de prueba y súbalo a su sitio web.Ponga en su propio ID de agente. Introduzca los valores tales como, 01,02,04,08,10,20,40,80 … esos son los 8 bits para los relés respectivos.

«Test.html» … un super simple script HTML para probar el circuito completo ….

<html>
<form action="https://agent.electricimp.com/nH58i4tGp5ur/" method="post">
Valor: <input type="text" name="data">
<input type="submit" name="submit" value="Submit">
</ Form>
</ Html>

Lista de componentes:
Todo, excepto los relés de estado sólido se puede construir por menos de $ 100USD.

  •  Caja de plástico que puede soportar condiciones climáticas exteriores. Utilice plástico para proteger a la electrónica   asi como la recepcion  WiFi(puede usar  una vieja caja de herramientas de plástico barato. Impermeable, w / asa de transporte).
  •  Eléctric Imp (Sparkfun Cat No. WRL-11395 (aprox. $ 30 USD) 
  • April Electric Imp breakout board Sparkfun Cat No. BOB-11400  (approx $13USD)
  •  TI (Texas Instruments) Serial to Parallel chip: Mouser Electronics Cat No. 595-SN74LV8153N (approx $2USD)
  •  Placa del proyecto en blanco 
  •  7805 Regulador de Voltaje 5VDC  (menos de $ 1 USD) 
  •  Relés de estado sólido (SSR) 3-32VDC de entrada/ Salida 120-240VAC( son caros, pero se pueden encontrar usadas en Ebay )
  •  Varios LED, resistencias y condensadores, soldadura, alambre de conexión
Fuente  aqui