Envio temperatura y Humedad por wifi


El chip CC3000 WiFi de Texas Instrument  que se puede comprar por unos 35 $   es un chip muy versátil que se puede utilizar para conectar sus proyectos en Internet. Sin embargo, la conexión del proyecto Arduino a un servidor web puede ser complicado: hay que saber cómo instalar y configurar un servidor web, y conoce un poco de HTML y PHP. Por suerte, hay otras soluciones para hacer las cosas más fáciles. 

En esta guía gentileza de Marc-Oliver Schwartz  , vamos a ver cómo conectar una temperatura y sensor de humedad a una plataforma en línea para objetos conectados, Xively. El sensor se conecta a una placa Arduino Uno, que también se comunicará con el tablero del desbloqueo Adafruit CC3000 para la conectividad WiFi. Pero en lugar de comunicarse con un servidor local, el chip CC3000 se comunicará directamente con el servidor Xively y enviar los datos a través de allí. Al final, usted será capaz de controlar los datos enviados por el servidor directamente desde el navegador, donde quiera que estés en el mundo, simplemente iniciando sesión en el sitio web Xively.
weather_Screen_Shot_2013-10-12_at_4.28.29_PM.png

La creación de su cuenta Xively

El primer paso es crear tu cuenta Xively, y configurarlo para este proyecto. Todo se hace a través de su interfaz gráfica, así que no hay necesidad de codificar nada en esta parte. En primer lugar, es necesario crear una cuenta.Simplemente haga clic en «Empezar»:
weather_login_1.jpeg
Y luego en «Inscríbete aquí»:
weather_Screen_Shot_2013-10-12_at_4.31.51_PM.jpg
Ahora puede introducir su información personal:
weather_Screen_Shot_2013-10-12_at_4.32.03_PM.jpg
Ahora que se ha creado su cuenta, puede crear un dispositivo para realizar un seguimiento de algunos datos. En primer lugar, haga clic en «Crear»:
weather_Screen_Shot_2013-10-12_at_4.32.37_PM.jpg
Y en «Agregar dispositivo»:
weather_Screen_Shot_2013-10-12_at_4.32.46_PM-2.jpg
Ahora es el momento de entrar en alguna información sobre el dispositivo:
weather_Screen_Shot_2013-10-12_at_4.45.19_PM.jpg
Por último, debe llegar a esta página correspondiente a su dispositivo. Lo que es importante en esta página es el ID de RSS que identifican el dispositivo, y la clave de API que identificar su cuenta. Tenga en cuenta estos dos valores, que los necesitará más adelante. Ahora, tenemos que crear «canales» para hacer un seguimiento de algunos datos.Haga clic en «Add Channel» para crear la primera de ellas:
weather_Screen_Shot_2013-10-12_at_4.47.53_PM.jpg
Ahora ingrese los detalles acerca de este primer canal para la temperatura. El nombre de los canales son importantes, vamos a utilizar en el sketch de Arduino.
weather_Screen_Shot_2013-10-12_at_4.49.04_PM.jpg
Ahora puede hacer lo mismo para el canal de Humedad. Al final, el resultado final será con esto en su página del dispositivo:
weather_Screen_Shot_2013-10-12_at_4.52.43_PM.png
Su cuenta Xively ya está listo para recibir algunos datos procedentes de la placa Arduino. Ahora vamos a centrarnos en cómo conectar la placa Arduino, el sensor de DHT 11, y el chip CC3000.

Conexiones

Todo el proyecto se basa en la plataforma Arduino, por lo que tendrá una placa Arduino. Realmente recomiendo el uso de la placa Arduino Uno para este proyecto, ya que es una de la única junta que sea compatible con la biblioteca CC3000 en el momento de este tutorial fue escrito.Entonces, usted necesita el tablero del desbloqueo Adafruit CC3000 para hacer la comunicación Wi-Fi, y la temperatura DHT11 y sensor de humedad (también se puede utilizar el DHT22 o los sensores AM2302 que son casi idénticos a cablear, pero de mejor calidad). Usted también necesita una resistencia de 10K Ohm para ser utilizado con el sensor de DHT.Por último, se necesita un tablero y algunos cables de puente para hacer las conexiones entre las diferentes partes.

Sensor DHT11

El sensor de DHT es muy fácil de conectar: ​​sólo tiene que conectar el pin número 1 a 5V de Arduino, el número PIN de 4 a GND y el pin número 2 con el pin de Arduino 7. Por último, poner la resistencia de 10K entre las patillas del sensor número 1 y 2.

weather_temp-4.jpg

CC3000 del tablero del desbloqueo

La configuración del hardware del tablero del desbloqueo CC3000 es relativamente fácil. Conecte el pin IRQ de la tarjeta CC3000 para fijar el número 3 de la placa Arduino, VBAT al pin 5, y CS al pin 10.

Entonces, es necesario conectar los pines SPI de la junta a los pines correspondientes en la placa Arduino: MOSI, MISO, y CLK ir a los pines 11,12 y 13, respectivamente.

Por último, usted tiene que cuidar de la fuente de alimentación: Vin va al Arduino 5V y GND a GND.

weather_temp-9.jpg
El siguiente cuadro resume las conexiones de hardware:
cc3000_weather.jpg

Boceto Arduino

El boceto Arduino para este proyecto consiste en la inicialización del sensor de DHT 11 y el chip CC3000 WiFi, y luego en la ejecución de un bucle que mide la temperatura y la humedad, enviar los datos al servidor Xively, y repetirse cada 10 segundos. Se inicia con la importación de las bibliotecas correctas:
  1. # Include <Adafruit_CC3000.h>
  2. # Include <ccspi.h>
  3. # Include <SPI.h>
  4. # Include <string.h>
  5. # Include «utilidad / Debug.h»
  6. # Include «DHT.h»
  7. # Include <stdlib.h>
Podemos entonces definir los pines correctos para el tablero del desbloqueo CC3000:
  1. # Define ADAFRUIT_CC3000_IRQ 3
  2. # Define ADAFRUIT_CC3000_VBAT 5
  3. # Define ADAFRUIT_CC3000_CS 10
Y el PIN correcto para el sensor de DHT, así como el tipo de sensor:
  1. # Define DHTPIN 7
  2. # Define DHTTYPE DHT11
Podemos entonces crear la instancia CC3000:
  1. Adafruit_CC3000 CC3000 = Adafruit_CC3000 (ADAFRUIT_CC3000_CS,
  2. ADAFRUIT_CC3000_IRQ, ADAFRUIT_CC3000_VBAT, SPI_CLOCK_DIV2);
Y la instancia sensor DHT:
  1. DHT DHT (DHTPIN, DHTTYPE);
El siguiente conjunto de parámetros es algo que tu tienes que modificar tus parámetros: el nombre de la red Wi-Fi, su contraseña y el tipo de seguridad.
  1. # Define WLAN_SSID «yourNetwork»
  2. # Define WLAN_PASS «yourPass»
  3. # Define WLAN_SECURITY WLAN_SEC_WPA2
El siguiente conjunto de parámetros se refiere Xively. Si recuerdas, te pedí que escribir algunos parámetros de su cuenta Xively: su clave de API y sus feedID. Solo tienes que introducir en estos campos, se utiliza para hacer la solicitud al servidor Xively.
  1. # Define WEBSITE «api.xively.com»
  2. # Define api_key «yourAPIKey»
  3. # Define feedID «yourFeedID»
Ahora, entramos en el setup () parte del dibujo. Como vamos a conectar y desconectar de la red WiFi cada vez que queremos enviar datos, el setup () vamos a incluir sólo la inicialización del chip CC3000:
  1. Serial.println (F («\ nInitializing …»));
  2. if (! cc3000.begin ())
  3. {
  4. Serial.println (F («No se pudo iniciar () Compruebe el cableado?»));
  5. mientras que (1);
  6. }
Luego, en la parte loop () del boceto, necesitamos conectar a la red:
  1. cc3000.connectToAP (WLAN_SSID, WLAN_PASS, WLAN_SECURITY);
Y para obtener una dirección IP para el chip CC3000:
  1. while (! cc3000.checkDHCP ())
  2. {
  3. de retardo (100);
  4. }
A continuación, tenemos que obtener la dirección IP del sitio web Xively. Por suerte, hay una función para hacer exactamente eso en la biblioteca CC3000: gethostbyname.
  1. ip = 0;
  2. Serial.print (WEBSITE); Serial.print (F («->»));
  3. while (ip == 0) {
  4. if (! cc3000.getHostByName (SITIO WEB, Y ip)) {
  5. Serial.println (F («No se pudo resolver!»));
  6. }
  7. delay (500);
  8. }
  9. cc3000.printIPdotsRev (ip);
Ahora podemos medir la temperatura y la humedad mediante la instancia de DHT, y convertir estos valores en números enteros:
  1. flotar h = dht.readHumidity ();
  2. flotar t = dht.readTemperature ();
  3. temperatura int = (int) t;
  4. int humedad = (int) h;
Este es ahora el momento de formatear los datos para el sitio web Xively. Hay dos cosas que hacer: primero, tenemos que dar formato a los datos en una variable String que contendrá la información en el formato JSON. Puede parecer complicado, pero el sitio web Xively tiene muchos tutoriales para dar formato a los datos correctamente.También necesitamos saber la longitud (en número de caracteres) de los datos para que podamos ponerlo en la petición HTTP.
  1. int longitud = 0;
  2. Datos String = «»;
  3. data = Datos + «\ n» + «{\» versión \ «: \» 1.0.0 \ «, \» flujos de datos \ «: [{\» id \ «: \» Temperatura \ «, \» valor_actual \ » : \ «» + String (temperatura) + «\»}, «
  4. + «{\» Id \ «: \» Humedad \ «, \» valor_actual \ «: \» «+ String (humedad) +» \ «}]}»;
  5. longitud = data.length ();
Ahora podemos conectar con el servidor Xively con:
  1. Cliente Adafruit_CC3000_Client = cc3000.connectTCP (ip, 80);
Cuando se conecta el cliente, podemos enviar la solicitud al servidor. Esta es una petición HTTP PUT típica, donde especificamos el feedID, la clave de la API, y enviar los datos al final de la solicitud.
  1. si (client.connected ()) {
  2. Serial.println («Connected»);
  3. client.println («PUT / v2/feeds /» + String (feedID) + «. json HTTP/1.0»);
  4. client.println («Host: api.xively.com»);
  5. client.println («X-ApiKey:» + String (api_key));
  6. client.println («Content-Length:» + String (longitud));
  7. client.print («Connection: close»);
  8. client.println ();
  9. client.print (datos);
  10. client.println ();
  11. }
Una vez enviado el pedido, leemos la respuesta desde el servidor para asegurarse de que todo está bien, y nosotros la imprimimos en el monitor de serie. Esto es ser útil al tratar de depurar el proyecto.
  1. while (client.connected ()) {
  2. while (client.available ()) {
  3. char c = client.read ();
  4. Serial.print (c);
  5. }
  6. }
Después de la respuesta se ha recibido desde el servidor, cerramos la conexión:
  1. client.close ();
Y desconectarse de la red Wi-Fi:
  1. cc3000.disconnect ();
Debido a que la temperatura y la humedad son los valores slow-cambiando, podemos leer estos valores y enviarlos a través de cada Xively sólo 10 segundos. Esto se hace mediante el uso de un retraso:
  1. delay (10000);
Por último, el código completo se puede encontrar en el repositorio de GitHub de este proyecto .

Usando Xively

Ahora que el sketch de Arduino se ha completado, puede cargar el boceto a tu placa Arduino, y probar el proyecto.Asegúrese de que se abra la página correspondiente a su dispositivo en Xively. Ahora puede abrir su monitor de serie y deberá ver el Arduino conectarse a su red, la preparación de la solicitud, y la conexión a la página web Xively. Si todo va bien, debería ver esta respuesta del servidor Xively:
Copiar código
  1. HTTP/1.1 200 OK
  2. Fecha: Lunes, 14 de octubre 2013 17:44:20 GMT
  3. Content-Type: application / json; charset = UTF-8
  4. Content-Length: 0
  5. Connection: close
  6. X-Request-Id: 55c792d07f4a679dfb8a1a09141264d7c98eea1e
  7. Cache-Control: max-age = 0
  8. Vary: Accept-Encoding
Y, por último, echar un vistazo a su página Xively en su navegador. Deberías ver lo que envías con éxito alguna información al servidor Xively y la temperatura y la humedad se debe mostrar en esta página:
weather_Screen_Shot_2013-10-14_at_7.44.43_PM.png
Al cabo de algunas mediciones, también debe tener los gráficos que se muestran en la página del dispositivo:
weather_Screen_Shot_2013-10-16_at_4.41.59_PM.png
Por último, también un video que muestra los diferentes aspectos del proyecto:
Por supuesto, usted puede utilizar este tutorial para conectar otros sensores a Xively: sensores de movimiento, interruptores de contacto, sensores de luminosidad, … las posibilidades son infinitas, así que no dude en experimentar y compartir sus resultados!
Anuncio publicitario

Cosm la plataforma de Internet de las cosas (antes pachube ) ahora es xively


xively

Tras un tiempo en beta ,LogMeIn ha anunciado que su  famosa plataforma cosm.com antes pachube.com ha salido de beta como Xively  buscando  ser la refererencia de  nube pública construida específicamente para Internet de las cosas acelerando la innovación, centrándose en productos en lugar de la infraestructura necesaria.

De este modo Xively abre la puerta a un mundo de infinitas posibilidades al permitir que más conexiones,aplicaciones, dispositivos, datos, lugares y los usuarios se puedan conectar a través de la nube cualquier objeto conectado ™ creando soluciones exponenciales, que transformarán la forma en que la gente descubre, interactua y experimentar su mundo.

Xively Cloud Services ™ es una plataforma-as-a-service IoT (PaaS) que se basa en el rico legado de Pachube y Cosm para ofrecer una nueva experiencia de desarrollo y plataforma altamente escalable para productos y soluciones  industriales.

En base a los comentarios y retroalimentación de los usuarios de las antiguas plataformas , han añadido algunas características interesantes que no estaban presentes  en la anterior plataforma , así como también han modificado el servicio para garantizar centrarse en las demandas explosivas del mundo conectado.

Todos los usuarios actuales cosm, se darán cuenta de algunos cambios cuando llegan al sitio pues
Cosm.com ahora redirige a https://xively.com y con eso viene una nuevo interfaz  y  apariencia:no se preocupe, su nombre de usuario sigue siendo el mismo y se puede acceder a su cuenta y los datos en este momento.
Si lo desea  aqui encontrará  un nuevo interfaz de desarrollo muy intuitivo centralizando todo lo necesario para crear, depurar y desplegar conectados a sus innovaciones de productos y servicios

Desde  aqui  accederá  a un centro de desarrollo integral con guías API, tutoriales, vídeos y bibliotecas que soportan cientos de plataformas, millones de gateways y miles de millones de dispositivos

Han puesto una dotación altamente escalables y servicios de gestión que pueden apoyar uno-mil millones dispositivos en las manos de todos los desarrolladores y lo hemos hecho fácil para su uso con la consola Xively Gestión:

Los términos de uso siguen siendo ponerle el control a los datos y los usuarios por tanto continúan siendo dueños de sus datos pudiendo elegir si desead compartir todo, parte o nada de ella con quien deseen en los términos que se especifican.
Precisamente se puede ver los Términos de servicio aquí

Usted tiene la posibilidad de compartir datos de forma selectiva y controlarlos a través de la Xively por medio de la conexion al objeto Nube ™, lo que permite interconectar dispositivos, aps y servicios con dispositivos de otros fabricantes, puntos de acceso y de servicios para crear experiencias exponencialmente muy potentess.

Cualquier fuente de datos que usted decide hacer pública está indexada y está disponible en los principales motores de búsqueda como Google y Bing.

Si usted es un cliente Currentcost, como estan retirando el panel de Cosm :utilice el panel de control http://my.currentcost.com

Ahora ofrecen el servicio comercial con un modelo de precios flexible. Los detalles completos están justo en el sitio web

También estan anunciando colaboración con ARM ( uno de los mayores fabricantes de componentes mundiales ), y ofrecens la Xively Jumpstart Kit:embed Edition. Esto se asociará una plataforma flexible de prototipos IO con Xively servicios en la nube, que le da un camino claro para crear su producto o solución conectada.

Para ayudar a los usuarios de cosm.com con esta transición, han creado dos valiosos recursos::

– La transición de Cosm a Xively aqui

– Uso Xively

Desde del punto de vista de desarrollo, Xively  proporciona bibliotecas libres, abiertas (apoyandose junto con tutoriales y la documentación )que le permite conectarse a Xively utilizando el hardware que desea y las lenguajes  que conoce. Para hacerlo aún más fácil, estan haciendo plataformas de hardware ™ Xively habilitados certificados a partir de una variedad de proveedores. Gracias a las bibliotecas se puede aprovechar la API basado en estándares a través de HTTP, enchufes y MQTT para hacer la conexión a la Internet de las cosas simples, intuitivos y rápidos.

Nunca ha sido tan fácil dar una idea a la producción.

Construir aplicaciones conectadas para cualquier cosa
Creación de aplicaciones interactivas para los productos conectados nunca ha sido tan fácil. Nuestras bibliotecas de cliente, incluyendo iOS, Android, JavaScript, y más, hacen que sea fácil de aprovechar nuestra API para que pueda centrarse en su innovación IoT en lugar de la infraestructura.