Monitorizacion consumo de agua con Netduino


Dejan Levec  necesitaba una manera de medir el agua utilizada fuera de la casa. Hay algunos productos comerciales, como Gardena inteligente Medidor de flujo de agua, pero  no son baratos y no pueden dibujar gráficos con buen aspecto.

Esto parecía un buen proyecto de fin de semana y al final optó  por  utilizar módulos inalámbricos XRF  que basicamente son radios Xbee con un montón de características:

  • Trabajan fuera de la caja,
  • Tienen  Xbee-como patillas,
  • Compatible con el cifrado AES de 128 bits
Cuestan 15 € cada uno, pero porque necesitan tensión de alimentación de 3,3 V y tienen el diseño paso de 2 mm, pero  tambien necesita algunas placas de interfaz activa. Lamentablemente, no hay mucha documentación al respecto en Internet, ya que hay para los módulos Xbee.
De todos modos, tienen un modo de configuración muy fácil. Para acceder al mismo tiene que enviar + + + y espere 1 segundo antes y después de enviarl , por ejemplo el autor usa la siguiente configuración:

ATEA contraseña
ATEE 1
ATID 0000
ATAC
ATDn

Esta cadena  permite el cifrado AES, establece la contraseña para ‘password’ y especifica  el ID de red, 0000. Las nuevas líneas se representan como \ r char, y comandos devuelven bien si tiene éxito.

Decidió  usar la siguiente configuración:

Medidor de flujo en intervalos regulares envían datos sobre el consumo de agua a la puerta de enlace Netduino Plus.Netduino Plus escucha red XRF y envía cada mensaje recibido a aplicación web alojada por Google App Engine.

El autor tiene  la intención de actualizar la puerta de enlace para apoyar la comunicación de dos vías, sin embargo, en primer lugar tiene  que hacer un interfaz GUI web para visualizar los datos del medidor de flujo muy bien, ya que los números sin gráficos son poco atractivos.

Medidor de caudal

Dispositivo medidor de flujo compuesto por una sonda de Seeedstudio Caudal de agua, módulo de XRF, Atmega8 microcontrolador, y actualmente está construido en placa. Voy a moverlo a PCB, cuando encuentro tiempo suficiente (próximo fin de semana de sonido bueno). El sensor de flujo de agua contiene el sensor de efecto Hall y envía un pulso por cada giro del rotor. Después de algunas pruebas esta es e fórmula que uso:

flujo de agua [dcl] = pulsos / 3,2 por período medido

Ejemplo: Si envía 3,2 pulsos en uno de segundos, esto significa que el flujo de agua es 1 DCL por segundo.
El autor se decidió  a probar el flujo de agua durante un periodo diez segundos y enviar suma de esos valores a la aplicación web cada cinco minutos.

Gateway Netduino

Netduino Plus escucha inalámbrica los  datos XRF y envía todos los recibidos de comandos para aplicación web con una petición  HTTP GET .
Los comandos se componen de los siguientes datos: iniciar carácter, dos Identificación del receptor dígito, dos dígitos Identificación del emisor, los datos y el carácter extremo.
Ejemplo de comando:

! 0102hello mundo $

que envía hola string mundo desde el dispositivo n º 02 al dispositivo con el id # 01. La Aplicación Web guarda esta información incluyendo fecha y hora actual a la base de datos.

Google App Engine
El autor uso  GAE  con  Python. Documentación y ejemplos son muy buenos y la comunidad web de Python es bastante grande, así que no es difícil de encontrar diferentes bibliotecas. Las bases de datoses muy flexible , ya que no es necesario especificar las columnas de avanzada, así que es como MongoDB, Tristemente, marcos web como Django mayoría esperan base de datos relacional.
De todos modos, la única cosa que el autor tubo problemas  con e GAE son sus cuotas libres fue las actualizaciones  y la cuota gratuita (en 1 hora de prueba le  enviaron hasta 10 actualizaciones por minuto y ya ha usado 10% de la cuota de base de datos en aproximadamente 1 hora).

Fuente aqui

 

Alibaba el gigante chino de e-commerce arremete contra Amazon


La primera guerra mundial del comercio electrónico en la lucha por la hegemonia absoluta puede está servida. De momento, los bloques de esta nueva contienda empresarial ya están configurados en el campo de batalla: son dos, cada uno de ellos procedente un extremo del planeta, Estados Unidos (Amazon que opera desde 1994) y China(Alibaba que opera desde 1999), la primera y la segunda economía del mundo, además de dos modelos paradigmáticos -y enfrentados- de entender el mundo.

Alibaba es la web más grande del mundo en cuanto a compra-venta de productos entre mayoristas. Su  página web muchas  piensan que es  ideal para comprar productos en China e importarlos dado que  Alibaba tiene disponible sus servicios para aproximadamente 240 países y sus usuarios ya se cuentan en más de cinco millones. Ofrece todo tipo de productos, directamente de fabricantes, que sobre todo son asiáticos.

alibaba

Alibaba asegura estar preparada para lanzar una página web de comercio electrónico en Estados Unidos a través de sus filiales Vendio y Auctivia, que son a su vez parte del grupo Alibaba.com

El creador de este imperio, radicado en Hangzhou, se llama Ma Yun (aunque es conocido como Jack Ma), y es una de las personas más ricas del mundo según la revista Forbes, el nombre de la empresa se le ocurrió en una cafetería de San Francisco en el que preguntó a la camarera si le sonaba de algo el nombre. “Alibaba y los cuarenta ladrones”. Luego salió a la calle e interrogó a un grupo de personas de diferentes nacionalidades. A todos le sonaba, así que Jack Ma se quedó con el nombre. Según ha confesado, su único mérito consiste en haber ayudado a miles de empresas a decir al mercado: “Ábrete, Sésamo”.

 La historia personal tras el éxito de Alibaba es el clásico del patito feo. Un socio fundador de origen humilde, hecho a sí mismo, que gracias a su intuición se convierte en un magnate de los negocios. El hombre detrás de la compañía china es Jack Ma.

Nieto de un terrateniente venido a menos tras la revolución, de padre fotógrafo y madre relojera, el empresario que se ha convertido en uno de los hombres más ricos de China fue un mal estudiante.

Pensó en ser policía, pero finalmente se licenció en filología inglesa y luego en comercio internacional. Precisamente, la primera vez que entró en internet estaba en una misión comercial en Seattle. Desde entonces, lanzó varios proyectos de internet, y se considera a una de sus empresas, China Yellowpages, fundada en 1995, como la primera firma de la red en China.

En 1999, invitó a su casa a una veintena de amigos, entre ellos un grupo de alumnos de sus clases de inglés. Les planteó su idea de lanzar una plataforma digital para que las empresas pudiesen vender sus productos por internet. Después, preguntó a los presentes de cuánto dinero podrían disponer y reunieron entre todos 60.000 dólares. De aquella reunión salieron 18 socios fundadores.

“Nos expandimos demasiado rápido. En 2002 sólo teníamos efectivo para sobrevivir 18 meses. No sabíamos cómo hacer dinero, así es que desarrollamos un producto para que los exportadores chinos encuentren compradores norteamericanos en la red. Este modelo nos salvó”, dijo en una entrevista Jack Ma, que en 2009 fue elegido por Time como una de las 100 personas más influyentes del mundo.

Antes, en 2005, Yahoo! había comprado el 40% de la empresa, aunque en 2012 Alibaba recompró la mitad.

En la última década, la que empezó siendo una pyme fundada por un grupo de compañeros, ha crecido de forma silenciosa, al estilo chino, hasta convertirse en un emporio que representa, con mucha diferencia, el primer mercado del mundo de comercio electrónico.

Ahora, Alibaba se prepara para salir de su cueva, aunque la compañía ya está participada por Yahoo! en un 20%. Su objetivo es robarle la cartera a Amazon es su propio terreno.

La compañía china acaba de anunciar el lanzamiento en Estados Unidos de un portal de comercio electrónico especializado en productos de calidad relacionados con la tecnología, la ropa de marca y la joyería.

El nombre del dominio es The 11 Main, y los chinos habían preparado el terreno en los últimos años con una serie de compras estratégicas. En 2010, ya se habían hecho con la tienda online AliExpress; y hace varios meses cerraron la jugada con la adquisición, por 200 millones de dólares, de ShopRunner.

El anuncio de Alibaba no es casualidad. Después de haber descartado el año pasado la bolsa de Hong Kong, se prepara para su estreno bursátil en Nueva York. El debut no pasará inadvertido. Ya se habla de un valor de mercado superior a los 140.000 millones de dólares, cifra que representaría el récord en la historia de las empresas de internet.

Facebook se estrenó en el Nasdaq con un valor de 104.000 millones de dólares y Twitter de 14.400 millones.

En Occidente, acostumbrados al bombardeo de noticias protagonizadas por Amazon, la última a razón del anuncio de un sistema de entrega a domicilio basado en drones, sería fácil pensar que la firma de Jeff Bezos ostenta el liderazgo absoluto del sector. Su cuota de mercado es enorme en varios segmentos, igual que su capacidad de I+D (desde 1994 ha generado más de 1.200 patentes; Alibaba apenas 300), pero los analistas fijan su debilidad en los cortos márgenes que maneja, aspecto que amenaza con pulverizar el conglomerado de plataformas de Alibaba.

En 2013, la empresa china alcanzó una facturación de 160 mil millones de dólares. Por su parte, Amazon facturó 80 mil millones de dólares; e eBay, otro jugador importante, que además cuenta con PayPal, una de las principales pasarelas de pago de internet, alcanzó una facturación de 16 mil millones de dólares.

De momento, Alibaba factura más que eBay y Amazon juntos, aunque la empresa china se ha encontrado en los últimos años con el viento a favor: su principal mercado, China, se ha convertido en la gallina de los huevos de oro en el sector del comercio electrónico, tanto en clave interna como en exportaciones.

Si en la región Asia-Pacífico el e-commerce experimentó en 2013 un crecimiento cercano al 23%, en países como China e Indonesia, se incrementó por encima del 60% en un solo año.

Alibaba ha sabido aprovecharlo con un abanico de plataformas online bien diversificado, desde el comercio minorista (Taobao) y los productos de lujo (Tmall), pasando por una plataforma de pagos digitales similar a PayPal, a la que ya ha superado en volumen de transacciones (Alypay); hasta un motor de búsqueda especializado en compras por internet (eTao).

 

Control desde su telefono usando Mit App Inventor


Marcelo Ávila de Oliveira es un ingeniero electrónico que desarrolla software para teléfonos móviles en Brasil . Recientemente Marcelo decidió usar una placa Arduino  con un modulo bluetooth  y el fantastico software en la nube del MIT  , Mit App Inventor, para automatizar un muñeco articulado de vinilo Android.

Este “ DroidBot ” Android Robot es impulsado por los componentes de Arduino y se controla a través de Bluetooth con una aplicación de teléfono móvil desarrollado con App Inventor . Haga clic en el botón Reproducir para ver un bonito video de la DroidBot responder a los comandos del teléfono, con la música “Yo puedo leer tu mente . ”

Tuvo un montón de diversión y el resultado final era genial, pero le molestaba   el mando a distancia . Era difícil recordar las funciones de todas las teclas del mando a distancia , y siempre tenía que apuntar el control remoto directamente hacia el robot y el problema más importante : era imposible recibir información / datos del robot. Entonces  decidió ” retirarse ” del mando a distancia y empezó con el uso de una aplicación para Android que se ejecuta en un teléfono inteligente para controlar el robot.

En 2011  ya había utilizado el Google App Inventor para crear una aplicación de Android ( “El discurso sin fin” , un generador de voz aleatoria automática, disponible en Google Play) así que decidió que era una gran oportunidad para comprobar el “nuevo” Inventor MIT App . Iinicialmente pensó que  App Inventor no sería capaz de controlar el robot , pero cuando registró las funciones de Bluetooth   estaba muy sorprendido pues era capaz de enviar correctamente los datos de Bluetooth desde el robot al teléfono y viceversa con bastante facilidad.

Como podemos  intuir ,la base de este proyecto es  una placa Arduino con un modulo bluetooth  y una app realizada con el Mit App Inventor, como por ejemplo el siguiente  proyecto:

Instalación eléctrica 

Imagen de la Instalación eléctrica y parte lista
A continuación se muestra un código de Arduino que se ha usado. Siéntase libre para modificarlo.

El aspecto importante aquí es la velocidad de transmisión – asegurarse de que coincida con la velocidad de transmisión del módulo – comprobar la hoja de datos o utilizar los comandos AT para hacerlo.

const int ledPin = 2;      // the pin that the LED is attached to
byte serialA;
void setup()
{
// initialize the serial communication:
Serial.begin(19200); //baud rate – make sure it matches that of the module you got:
// initialize the ledPin as an output:
pinMode(ledPin, OUTPUT);
}

void loop() {

if (Serial.available() > 0) {serialA = Serial.read();Serial.println(serialA);}

switch (serialA) {
case 1:
digitalWrite(ledPin, HIGH);
break;
case 2:
digitalWrite(ledPin, LOW);
break;
case 3:digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
default:

break;
}

}

 

La aplicación en sí y el MIT App inventor

Foto de La aplicación en sí y App inventor
Si lo que quiere es conseguir la aplicación y verlo correr a continuación, descargue la aplicación y luego súbalo a su teléfono.
Descarga en -> https://drive.google.com/folderview?id=0B_PfPoEotOF8N2JwT3RSX011SjQ&usp=sharing

El teléfono tiene que estar configurado para permitir aplicaciones de fuera del Android Market / google play para poder descargarlos – a fin de comprobar los ajustes en tu móvil.

Ahora bien, si desea modificar la aplicación ir a  http://appinventor.mit.edu/explore/learn.html   para averiguar cómo preparar el equipo e instalar el software de la aplicación Inventor. Una vez que haya que correr le sugiero que siga  por lo menos uno o dos de sus tutoriales básicos.

BTserialModule.JPG
El circuito es tan simple como parece, así que probablemente ya tiene la mayoría de ellos.

Usted necesitará:

  1. – Placa Arduino
  2. – Módulo Bluetooth de serie (he usado un módulo btm222 en un tablero del desbloqueo con un regulador incorporado)
  3. – Un LED
  4. – Resistencia (100 ohmios)
  5. – cables
  6. – Breadboard

La única parte problemática aquí es el módulo bluetooth. Existen diferentes módulos en todo el Internet, así que asegúrese de comprobar el pinout en la hoja informativa de la que se obtiene, ya que puede variar.

Observe también que hay dos clases generales de los módulos de bluetooth:

  • Clase 1 tiene un rango de alrededor de 100 metros (300 pies)
  • Clase 2 tiene un rango de alrededor de 10 metros (30 pies)

En caso de que usted se está preguntando que son totalmente compatibles y sólo se puede llegar gama 100 metros si ambos dispositivos (es decir, el móvil y el módulo de serie) son de clase uno. Si uno de ellos es de clase 1 el rango máximo es menor.

El módulo serial del bluetooth conseguí tiene los siguientes pines de izquierda a derecha (tierra, RX, TX, no conectado, VCC). Obviamente tierra y VCC pasa respectivamente a tierra y 5 V pin de la placa Arduino. Desde estaremos reciviendo ​​los datos a través del módulo y luego a su vez de enviarlo a la placa Arduino sólo tenemos que usar el pin TX del módulo. Tienda un cable desde ese pin al pin RX de la placa Arduino. El LED es controlado a través de PIN 2 en el Arduino.

 

 

AMPLIACION DE ALCANCE:SENSOR DE TEMPERATURA

Este paso se presenta un ejemplo sobre la forma de recibir los datos de la placa Arduino por mesio  un sensor de temperatura DS18B20.La placa Arduino se comunica con el sensor con un interfaz de 1 hilo  calcula la temperatura con la ayuda de la biblioteca OneWire para Arduino y envía las lecturas a través del módulo Bluetooth cada 500 ms.
La aplicación comprueba cada 500 ms si hay datos disponibles del puerto serie. Si los datos están presentes se lee y se visualiza en la pantalla. Además, hay una opción para activar la función de texto a voz y hacer que la aplicación dicen las lecturas de temperatura cada 15 segundos.
El código arduino 
Ten en cuenta que necesitas una biblioteca OneWire – usted puede encontrar un enlace a ella aquí: http://playground.arduino.cc/Learning/OneWire

arduino code >>>>>>>

#include
int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2

//Temperature chip i/o
OneWire ds(DS18S20_Pin); // on digital pin 2

void setup()
{
// initialize the serial communication:
Serial.begin(19200);
// initialize the ledPin as an output:

}

void loop() {

float temperature = getTemp();
Serial.println(temperature); delay (500);

}

float getTemp(){
//returns the temperature from one DS18S20 in DEG Celsius

byte data[12];
byte addr[8];

if ( !ds.search(addr)) {
//no more sensors on chain, reset search
ds.reset_search();
return -100;
}

if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.println(“CRC is not valid!”);
return -1000;
}

if ( addr[0] != 0x10 && addr[0] != 0x28) {
Serial.print(“Device is not recognized”);
return -1000;
}

ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end

byte present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad

for (int i = 0; i < 9; i++) {
data[i] = ds.read();
}

ds.reset_search();

byte MSB = data[1];
byte LSB = data[0];

float tempRead = ((MSB << 8) | LSB);
float TemperatureSum = tempRead / 16;

return TemperatureSum;}

 

 Recepción de datos – el lado de la aplicación

Aquí usted puede encontrar enlaces a la aplicación que recibe la lectura de la temperatura. También hay un código fuente que se pueden cargar en el MIT App inventor (cuando estás en ‘mis proyectos’ haga clic en el botón “Más acciones” – que tiene una opción “Upload Source ‘)

La aplicación >> http://speedy.sh/RMFgg/bluetoothforarduino-app-temperaturereadings.apk

El archivo de origen >> http://speedy.sh/SHpjj/bluetoothforarduino-app-temperaturereadings-3.zip

Algunos consejos que pueden resultar útiles si usted está tratando de crear su propia aplicación: Asegúrese de que entiende ‘byte delimitador’ los términos, saber cómo configurarlo de aplicación del MIT inventor y que es un byte tan cuidado qué tipo usted utiliza los datos. También parece que no hay ninguna función de tiempo de espera de serie aplicado en la app inventor lo que el envío de datos con más frecuencia que lo recibe puede causar que la aplicación se bloquee (probablemente porque no hay nada para vaciar el búfer)

Fuente aqui