Controla cualquier cosa desde Internet con Electric Imp


BlinkUp TM es una tecnología muy novedosa pendiente de patente para obtener  dispositivos habilitados en línea para el dispositivo Electric Imp. Este post le llevará a través del proceso de creación de una cuenta Electric Imp y conseguir ejecutar su primer prototipo funcional que permitirá activar o desactivar  cualquier dispositivo desde Internet.

Este es el resumen  de los pasos que vamos a seguir:

  • Crear una cuenta Electric Imp
  • Descargar y configurar la aplicación para movil
  • BlinkUp su Elctric imp

Cuenta de Electric Imp

  • Crear una cuenta en electric Imp
  • Visita la página de registro y crear una cuenta. Una vez que haya creado una cuenta, debe iniciar sesión en la eléctrica Imp IDE basado en el navegador .

Descarga de  la aplicación móvil 
La aplicación móvil le permite introducir la información de su cuenta, el SSID de la red y la contraseña, y enviarlo a la imp. La aplicación móvil no envía el SSID o la contraseña de la red a los servidores Imp eléctricos.Esta disponible tanto para iOS como para Android pero sólo es necesario la aplicación móvil para configurar el Eelctric imp, así que si usted no tiene un teléfono inteligente o una tableta a mano, puede utilizar el dispositivo móvil de otra persona – sólo tiene que utilizar sus credenciales de cuenta Imp eléctricas para iniciar sesión en la aplicación.

Introduzca las credenciales en aplicaciones móviles
Abra la aplicación móvil, e introduzca su nombre de usuario + contraseña electric Imp  (si está utilizando la aplicación para Android, debe iniciar sesión con su dirección de correo electrónico + contraseña).

Una vez que ha iniciado sesión en la aplicación, seleccione la red inalámbrica a la que desea conectarse. Si no ve la red a la que desea conectar su imp a (o es una red oculta), seleccione otra red y luego introduzca el nombre de la red.

El  sw es capaz de determinar qué tipo de seguridad (WEP, WPA, WPA2, etc) utiliza la red – por lo que todo lo que tiene que hacer es introducir la contraseña wifi. Si se está conectando a una red no segura, simplemente deje en blanco el campo Contraseña.

El poder de su electric imp
Conecte el extremo pequeño del cable Mini USB en la toma USB , y el otro extremo a un puerto USB en su computadora.

Inserte su tarjeta electric imp en la ranura SD en su adaptador especial. Si todo funciona correctamente, un LED dentro de la electric imp debe comenzar naranja parpadeando (si se trata de una nueva marca imp, o, posiblemente, rojo, si no es nuevo).

Si está utilizando el Sparkfun eléctric Imp Breakout  tendrá que rellenar el jumper de 3-pin y ponerlo en modo «USB».

BlinkUp
Si está usando la aplicación para Android, y no ha parpadeado esta electric imp antes, hay que seleccionar el modo de herencia para los mejores resultados.

Haga clic en el BlinkUp en la aplicación móvil y, a continuación, mantenga la pantalla de su teléfono al ras con el borde de la imp. Para obtener los mejores resultados, se recomienda lo siguiente:

La colocación de teléfono adecuado para BlinkUp fiable

Mantenga la pantalla del teléfono lo más cerca posible del sensor óptico (a ras si es posible)
El pulgar debe cubrir la, parte superior expuesta de la imp (donde dice «Developer Edition»).
Trate de bloquear cualquier luz / BlinkUp brillantes directos en la sombra.
Trate de mantener el dispositivo aún durante el proceso.
Usted siempre debe realizar BlinkUp con la pantalla mirando hacia adelante y hacia el dispositivo que se está configurando, especialmente si usted sufre de una condición médica que le hace susceptible a la luz estroboscópica. Puesto que hay mensajes de audio tanto en el inicio y el final, puede cerrar los ojos durante el proceso.

¡Enhorabuena!:Su imp ahora debe estar parpadeando en verde, lo que indica que está conectado a Internet (y la nube Imp).

Ahora  se  mostra cómo programar su imp utilizando el IDE en línea .

Hello World

Esta guía le llevará a través de su primer proyecto imp habilitado. .

En este proyecto, vamos a construir un circuito simple para hacer  parpadear un LED.

Circuito

  1. Conecte el cable positivo (largo) del LED para PIN9 del imp.
  2. Conecte el cable negativo (corto) del LED a un extremo de una resistencia de 330Ω.
  3. Conecte el otro extremo de la resistencia 330Ω al pin GND del imp.

Crear un Nuevo Modelo

  1. Inicie sesión en el ID
  2. Haga clic en nuevos dispositivos para expandir el menú desplegable. Usted debe ver el dispositivo que has BlinkedUp.
  3. Haga clic en el dispositivo para abrir la ventana de configuración del dispositivo.
  4. Si lo desea, puede darle a su equipo un nombre (* nota – este nombre se asocia con el consejo abril conectó su imp en, no la propia imp *). Vamos a llamar a nuestra de 01 de abril.
  5. Haga clic en el menú desplegable a continuación modelo asociado y escriba el nombre para el nuevo modelo que desea crear. Vamos a llamar a nuestro «Hello World».
  6. Haga clic en Guardar cambios.
  7. Usted debe ver el modelo que acaba de crear aparecerán en la barra de navegación izquierda. Si hace clic en él, y luego en el dispositivo, se abrirá el editor de código.

El Editor de código

El editor de código consta de tres ventanas (agente, dispositivo y troncos):

Agente

La ventana agente es donde usted escribe su código de agente. Los agentes son trozos de código de ardilla que se ejecutan en la nube Imp, y le permiten hacer cosas como procesamiento pesado de descarga, la marca y el procesamiento de las peticiones HTTP, y pequeñas cantidades de datos de la tienda.

Dispositivo

La ventana del dispositivo es donde se escribe el código que se ejecutará en el propio dispositivo. Dado que este ejemplo no se va a utilizar agentes, aquí es donde todo nuestro código irá.

Registros

La ventana de registros (en la parte inferior de la pantalla) muestra varios trozos de información desde el dispositivo seleccionado. Esto incluye la información del sistema (dispositivo en línea, fuera de línea, actualizaciones de firmware, nuevo código, etc), información sobre los errores en tiempo de ejecución, y cualquier cosa que se registra conserver.log .

Código

// configure the imp (best practice)
imp.configure(«Hello World», [], []);

// create a global variabled called led,
// and assign pin9 to it
led <- hardware.pin9;

// configure led to be a digital output
led.configure(DIGITAL_OUT);

// create a global variable to store current
// state of the LED
state <- 0;

function blink() {
// invert the value of state:
// when state = 1, 1-1 = 0
// when state = 0, 1-0 = 1
state = 1-state;

// write current state to led pin
led.write(state);

// schedule imp to wakeup in .5 seconds and do it again.
imp.wakeup(0.5, blink);
}

// start the loop
blink();
view rawblink.device.nut hosted with ❤ by GitHub

Copia y pega el código en la ventana del dispositivo, haga clic en el botón Generar y ejecutar.

Usted debe ver los siguientes mensajes en la ventana de los registros:

 [Status] Downloading new code [Status]
 Device configured to be "Hello World"

Usted acaba de escribir su primer programa de imp,ahora ya puede controlar un Led por internet mediante https

Visión de conjunto

Esta guía le llevará a través de su primer proyecto conectado a Internet imp habilitado! Vamos a construir una API simple para un LED. Se supone que ya ha creado el ejemplo anterior , y vamos  a utilizar el mismo circuito.

Código de dispositivo

// configure the imp (best practice)
imp.configure(«LED Api», [], []);

// create a global variabled called led,
// and assign pin9 to it
led <- hardware.pin9;

// configure led to be a digital output
led.configure(DIGITAL_OUT);

// function to turn LED on or off
function setLed(ledState) {
server.log(«Set LED: » + ledState);
led.write(ledState);
}

// register a handler for «led» messages from the agent
agent.on(«led», setLed);

Si llegamos a generar y ejecutar en este punto, nuestro equipo no va a hacer nada interesante. La parte realmente importante e interesante de este código es la siguiente línea:

 agent.on("led", setLed);

Esta función registra un listeer de mensajes enviados por el agente. Cada vez que el agente envía un mensaje al dispositivo llamado «llevó», se ejecutará la función setled.

Código de Agente

// Log the URLs we need
server.log(«Turn LED On: » + http.agenturl() + «?led=1»);
server.log(«Turn LED Off: » + http.agenturl() + «?led=0»);
 
function requestHandler(request, response) {
try {
// check if the user sent led as a query parameter
if («led» in request.query) {
 
// if they did, and led=1.. set our variable to 1
if (request.query.led == «1» || request.query.led == «0») {
// convert the led query parameter to an integer
local ledState = request.query.led.tointeger();
 
// send «led» message to device, and send ledState as the data
device.send(«led», ledState);
}
}
// send a response back saying everything was OK.
response.send(200, «OK»);
} catch (ex) {
response.send(500, «Internal Server Error: » + ex);
}
}
 
// register the HTTP handler
http.onrequest(requestHandler);

En el código de agente, registramos y controladores HTTP. El controlador de HTTP se ejecuta cada vez que una petición HTTP se hace a la dirección URL agente (que se muestra en la parte superior de la ventana de código de agente).

En nuestro controlador HTTP, comprobamos para ver si se suministra un parámetro de consulta denominado led lo fuera, le enviamos un mensaje al dispositivo, junto con el valor del parámetro de consulta led.Enviamos el mensaje al dispositivo mediante la siguiente línea:

 device.send("led", ledState);

Cuando esta línea se ejecuta, envía un mensaje al dispositivo que se traduce en setled (ledState) se está ejecutando.

Pruebas

Copia y pega el agentURL en una nueva ventana y agregar? Led = 1 (para encender la lámpara encendida)o? Led = 0 (para apagar el dado). Debe ser algo como esto:

 https://agent.electricimp.com/a1b2bc3d4?led=1
 https://agent.electricimp.com/a1b2bc3d4?led=0

¡Enhorabuena!

Usted acaba de conectar un LED a Internet. Si lo desea, envíe la URL a tus amigos y haga que traten de controlar el LED desde cualquier lugar del mundo: siempre que tengan una conexión a Internet,deberán  ser capaz de controlar su LED.

Por supuesto este ejemplo es extropolable  a los 6 salidas más y obviamente en lugar de hacer lucir un led puede mediante el circuito adecuado puede  activar un relé para comandar cargas mayores.

Fuente aqui

Transmisor de ultrasonidos para Netduino


El ultrasonido es una señal sonora de alta frecuencia, que para los seres humanos comienza en la barrera de los 20 khz. Algunos animales son capaces de escuchar estas frecuencias, como los perros, los murciélagos, ratones, algunas aves entre otros animales.

En electrónica los ultrasonidos son utilizados en diferentes propósitos, como en los controles remoto, barreras, radares y sonares. También se utiliza el ultrasonido para alejar ciertas plagas, como los ratones y algunas clases de insectos(los mosquitos). En la medicina estética también se utiliza el ultrasonido, como tratamiento para algunas enfermedades de la piel, como la celulitis, entre otras patologías, aunque no esta comprobado su eficacia al 100%.

El circuito de ultrasonido que presentamos en este post y en una siguiente entrega , puede ser utilizado para diversos usos, como por ejemplo, la detección de un objeto u obstáculo, para ser acoplado  a un proyecto de robótica,  o como barrera ultrasónica y con la conjunción de Netduino podríamos medir la distancia a la que se encuentra un objeto.

Centrándonos  en el transmisor, se ha utilizado el popular circuito integrado 555 en modo astable, es decir como oscilador o generador de pulsos sucesivos. La frecuencia de operación se encuentra alrededor de los 40 Khz, la cual es  la frecuencia  que debería resonar   el trasductor 40T.

Para el diseño del oscilador ultrasónico se emplea un 555 haciéndolo funcionar como multivibrador  astable conectando los pines  el Trigger, Threshold,Discharge y Reset (Terminales 2, 6, 7 y 4 respectivamente)

El condensador C (de 1KpF)  se carga a través de las tipicas resistencias entre los pines  6 y 7  del 555 hasta el nivel del threshold (aproximadamente 0.67 del voltaje de alimentación) y la descarga a través de la resistencia conectada  al pin 6 hasta el nivel del voltaje del Trigger (aproximadamente 0.33 del voltaje de alimentación). De esta forma se tiene a la salida un valor máximo durante el tiempo de carga (Tiempo de subida) y un valor mínimo durante el tiempo de descarga (Tiempo de bajada).Por último ,la señal de ingreso Reset puede eliminar todos los impulsos y puede ser utilizado para iniciar un nuevo ciclo.

Conociendo el funcionamiento del oscilador podemos diseñar el circuito de oscilación,que tiene como principal finalidad el proporcionarnos una onda que oscila a la frecuencia de resonancia para los sensores transmisores que debería rondar los 40khz.

Para lograr tener una relación marca-espacio de onda cercana al 50% haremos que el valor de R1 sea mucho menor al de R2.

Gracias a la herramienta   555 calculator , obtenemos muy fácilmente la frecuencia obtenida a la salida del oscilador.

 
Si se requiere precisión la frecuencia de ultrasonido debe ser ajustada a la frecuencia de resonancia del sensor de ultrasonido,para lo cual es posible ajustar la oscilación de la frecuencia variando el valor de la resistencia R2 empleando una resistencia variable.

Para lograr un alcance óptimo de la señal de ultrasonido, se debe amplificar la señal de 40 Khz bien por medio de un simple par de transistores complementarios (por ejemplo el BC 548 y el BC 558 ) o bien mediante  puertas lógicas cmos opción  ultima que se ha tomado en este diseño.

Para la etapa  de amplificacion , se utiliza un circuito integrado
4069UB, el cual  contiene seis circuitos inversores en su interior(este integrado el típico que puede ser utilizado en cualquier propósito cuando se necesiten aplicaciones de inversión con niveles de conversión lógicos).
La señal entregada por el circuito oscilador  basado en el 555 es enviada a dos grupos de inversores colocados en paralelo con la finalidad de incrementar la señal, al primer grupo la señal es enviada directamente y al segundo grupo la señal de ingreso pasa previamente por un inversor, de manera que se tiene un voltaje a aplicar al terminal positivo y un voltaje a aplicar al terminal negativo, los mismos que han sido desfasados 180 grados.

Finalmente la corriente directa es cortada con el capacitor, y el doble del voltaje del circuito oscilador ultrasónico, es aplicado al sensor transmisor de ultrasonido.

Y por último a continuación el esquema del circuito completo: