Enviar datos directamente a Google Docs desde un PicMicro


Controlar la temperatura (o el tamaño que sea) desde cualquier lugar del planeta y compartir datos en la nube de Google gracias  a una simple  hoja de cálculo ya es posible  .Ademas  también muy sencillo gracias a FTPmicro y algunas implementaciones de la pila TCP / IP de Microchip.

¿Te gustaría ser capaz de controlar la temperatura de la cámara frigorífica o cualquier otro dispositivo repartidos por todo el mundo y enviar los datos en tiempo real a una hoja de cálculo de documento estándar? Y si este documento tuvo siempre en línea y de fácil acceso desde cualquier lugar del planeta? Todo es posible si usted tiene una conexión a Internet, una cuenta de Google y un PICmicro mano 🙂

Enviar a mis documentos de Google Docs con PICmicro

Primero usted tiene que crear  un  documento  de Google (que pronto pasará a Google Drive)  creando  un  nuevo formulario . A continuación, aparecerá una pantalla en la que puede configurar los “titulares de las preguntas” que no son más que los títulos de las columnas que organizarán nuestros datos.
En el ejemplo    insertaron Device en Roma y luego en Milán.
Una vez que haya guardado (automáticamente)  esto , debe volver a la página principal de Google Drive (anteriormente Documentos) y nos encontramos con nuestro documento a la que puede asignar un nombre, en nuestro ejemplo, controlar la temperatura, y luego modificar la primera línea de la primera columna de “información histórica” ​​para Marca de tiempo que nos dará la hora exacta de la actualización de la célula.
Así que vamos a tener nuestra primera línea que corre 3 columnas:
Fecha y hora – Dispositivo de Roma – Dispositivo de Milán

Por supuesto, todos estos nombres se pueden personalizarse de acuerdo a sus necesidades,asi como  también puede aumentar el número de columnas para controlar un mayor número de dispositivos.

A continuación, debe compartir el documento para que sea público y   visible
,(puede compartirse sólo con algunas personas).

El formulario también será un enlace para compartir, consistentente en  un acceso rápido que  puede  difundir  a sus amigos para que acceso directo, en tiempo real, los datos actualizados sobre el documento:
https://docs.google.com/spreadsheet/ccc?key=0Ail81YGXRx8XdFVJMDBVYS02YjZ …

En este punto tenemos que ir a averiguar el nombre de las cajas, estamos hablando de el nombre asignado por el software para reconocer las diferentes columnas, que es diferente del nombre asignado por nosotros 😉

Para ello, basta con echar un vistazo a la fuente de su página web de nuestra hoja de cálculo, formulario que se encuentra en el menú-> editar, compruebe el nombre de los campos de entrada utilizados como encabezados. It ‘s sólo una confirmación, ya que Google designe el formulario de entrada con entry.NumeroProgressivo.single

a continuación:

entry.0.single (En la columna Device en Roma)
y
entry.1.single (En la columna Device en Milán)

al final de la misma página web, usted encontrará también el enlace con el formkey

“Usted puede ver el formulario publicado a continuación: https://docs.google.com/spreadsheet/viewform?formkey=dFVJMDBVYS02YjZwNFl …

Por favor, anótelo, servirá como acceso remoto clave para el formulario!

Ahora usted tiene todos los parámetros que se incluirán en la configuración de la carga de firmware en PICmicro (FTPmicro)

Sabemos que con el fin de acceder al documento se utiliza el formkey
y escribir en filas en la columna de ROMA entry.0.single que tenemos que utilizar, en lugar de entry.1.single MILAN

Estos parámetros se pueden programar a continuación, ya sea en FTPmicro ROMA (0) y que de Milano (1)

Encabezado HTTP

La cadena de actualizar los datos de las celdas, se puede verificar a través del navegador, de hecho, sólo tienes que escribir en la url compuesta formkey y las células y sus valores en su navegador para ver los datos que se envían a la hoja de cálculo de Google relevantes.
Para transformar estos datos en código legible, debe pasar a través de un visor de encabezado http como
http://web-sniffer.net/
De esta manera usted puede tener los datos exactos que se deben incluir en el firmware.

 

El firmware de FTPmicro (PICmicro 18F67J60)

En el codigo se utilizó la pila tcp / ip  version 5:41 de Microchip   las siguientes configuraciones e implementaciones:

en el archivo de TCPIP ETH97.h permiten los siguientes módulos:

# Definir el protocolo de configuración STACK_USE_DHCP_CLIENT / / dinámica de host para obtener la dirección IP del cliente y otros parámetros
# Definir STACK_USE_GENERIC_TCP_CLIENT_EXAMPLE / / Ejemplo de cliente HTTP en GenericTCPClient.c
# Definir STACK_USE_DNS / / Domain Name Service Client para resolver las cadenas de nombre de host en direcciones IP

en GenericTCPClient.c archivo realice los siguientes implementaciones:

estática BYTE ServerName [] = “spreadsheets.google.com”;
estática ServerPort WORD = 80;RemoteURL1 BYTE ROM estática [] = “formkey =”;
Formkey BYTE ROM estática [] = “dFVJMDBVYS02YjZwNFlPVXp4Q1dHMXc6MQ”;
RemoteURL2 BYTE ROM estática [] = “& IFQ &”;
ROM / / Static BYTE Entry0 [] = “entry.0.single =” / / Número del cambio Coloumn AQUÍ para actualizar (0 = dispositivo en Roma)
Entry0 BYTE ROM estática [] = “entry.1.single =” / / Número del cambio Coloumn AQUÍ para actualizar (1 = Dispositivo de Milán)Temperaturas BYTE extern [2];

y luego

TCPPutROMString (MySocket, (BYTE ROM *) “POST / formResponse HTTP/1.1 \ r \ n”);
TCPPutROMString (MySocket, (BYTE ROM *) “Anfitrión:”);
TCPPutString (MySocket, ServerName);
TCPPutROMString (MySocket, (BYTE ROM *) “\ r \ n”);
TCPPutROMString (MySocket, (BYTE ROM *) “Connection: close \ r \ n”);
TCPPutROMString (MySocket, (BYTE ROM *) “Content-Type: application /-www-form-urlencoded x \ r \ n”);
TCPPutROMString (MySocket, (BYTE ROM *) “Content-Length: 83 \ r \ n”);
TCPPutROMString (MySocket, (BYTE ROM *) “\ r \ n”);
TCPPutROMString (MySocket, RemoteURL1);
TCPPutROMString (MySocket, formkey);
TCPPutROMString (MySocket, RemoteURL2);
TCPPutROMString (MySocket, Entry0);
TCPPutString (MySocket, temperatura);
TCPPutROMString (MySocket, (BYTE ROM *) “& # B0C y submit = Enviar”);

A continuación, en el archivo principal, luego MainDemo.c inserta:

/ /
/ / Aplicación principal punto de entrada.
/ /Temperaturas sin firmar char [2];void main (void){
estática DWORD t = 0;
DWORD estática dwLastIP = 0;/ / Inicializa el hardware específico de la aplicación
InitializeBoard ();

TickInit ();

/ / Inicializar Stack y aplicaciones relacionadas con las variables NV en AppConfig.
InitAppConfig ();

/ / Inicializar capas de la pila de núcleo (MAC, ARP, TCP, UDP) y
/ / Módulos de aplicación (HTTP, SNMP, etc.)
StackInit ();

mientras que (1)
{
/ / Si (TickGet () – t> = TICK_SECOND) / / about 5 seg. – >> Dispositivo de Roma REFRESCO
if (TickGet () – t> = TICK_MINUTE/8ul) / / about 30 seg. – >> Dispositivo de Milán REFRESCO
{
t = TickGet ();
GenericTCPClient ();
}

/ / Esta tarea realiza la tarea normal de pila, incluida la comprobación
/ / Para los paquetes entrantes, el tipo de paquete y llamar
/ / Entidad pila adecuada para procesarla.
StackTask ();

/ / Esta tarea Invoca cada una de las tareas fundamentales de la aplicación de la pila
StackApplications ();

/ / Procesar las tareas específicas de la aplicación aquí.
Processio ();

}
}

Lo ‘sólo la parte que se ocupa de la gestión de los tiempos de actualización. De hecho los dos FTPmicro se han programado con diferentes tiempos de actualización. El dispositivo en Roma envía datos a Google hoja de cálculo cada 5 segundos, mientras que en Milán cada 30 segundos. Las temperaturas se van a actualizar en relación con estos tiempos.

En la llamada a processio habrá los resultados de la conversión analógica a digital se volvieron a representar numéricamente la temperatura medida con el sensor de temperatura de a bordo dell’FTPmicro.

Gracias siempre a la forma de Google Drive, usted puede convertir los datos de la tabla en un gráfico. Este es un resultado para controlar la temperatura de los dos dispositivos en dos lugares diferentes.

Todo el firmware es software libre tan fácilmente personalizable, también puede utilizar los comentarios de este artículo para reportar mejoras y / o implementaciones.

Aquí está el enlace al código de Google para descargar la fuente y todo el proyecto listo para MPLAB IDE de Microchip.
http://code.google.com/p/from-picmicro-to-google/downloads/list

Fuente  aqui

Conexión de un Netduino a una pantalla VGA


Gracias al modulo PICASO QVGA/VGA/WVGA Graphics Controller ya es posible obtener un señal VGA con que conectar a un monitor  VGA  a nuestro Netduino o Netduino Plus

En efecto el   modulo   μVGA-II (SGC) es una  placa   compacta y efectiva de bajo  costo con  el motor de gráficos integrado que ofrecerá una funcionalidad independiente para su proyecto,incluyendo ademas  comandos no sólo el control de color de fondo  .Aunque sea  simple de usar  , puede producir un texto en una variedad de tamaños, así como dibujar formas en 256 colores de  modeo que  pude  liberar el procesador anfitrión de las funciones de control de la pantalla . Es perfecta para conectar con  un Netduino  o cualquier micro-controlador simple con una interfaz en serie estándar .

Carastericticas

  1. Display Graphics Controller VGA / SVGA inteligente y totalmente integrado
  2. Módulo de 28 pines, impulsado por el chip 4D-Labs PICASO-SGC – un poderoso motor gráfico multiusos basado DSP / controlador
  3. 4,0 V a 5,5 V gama de la operación
  4. Soporta RGB 65K colores en QVGA, VGA, WVGA y resoluciones personalizadas.
  5. El μVGA-II (SGC) es compatible con múltiples resoluciones dentro del mismo módulo. Resoluciones se pueden seleccionar en tiempo de ejecución bajo control host. Ventana de visualización Resizeable permite el control de pantalla parcial / completo.
  6. Conector de 15 pines tipo D estándar VGA para conectar a cualquier monitor VGA externo.
  7. A bordo micro-SD adaptador de tarjeta de memoria para fines de registro de datos de almacenamiento y multimedia. -Compatibilidad con tarjetas de memoria HC también está disponible para las tarjetas de más de 4 GB.
  8. Fácil interfaz de 5 pin a cualquier dispositivo host con comandos VCC, TX, RX, GND, RESET.
  9. Puerto asíncrono hardware serie, interfaz TTL, con 300 baudios a 256 K baudios.
  10. Potente, fácil de usar y entender construido en funciones gráficas permiten la elaboración de líneas, rectángulos, círculos, elipses, texto, imágenes, iconos, mapas de bits definidos por el usuario y mucho más
  11. Las futuras actualizaciones y mejoras se consiguen fácilmente mediante la subida PMMC (módulo Personality micro Code) archivos. Archivos PMMC permiten el chip PICASO sea cargado con el último firmware micro-Code.
  12. Los diseñadores de sistemas pueden incorporar el módulo μVGA-II (SGC) directamente en su aplicación, ahorrando espacio y costes. Diseños de referencia permiten al usuario crear una plataforma para incorporar el μVGA-II

 Cargar firmware y software para  el adapatador VGA 
-Conecte   el adaptador al FTDI (Vcc de 5V, GND GND, Rx a Tx y Tx a Rx, DTR en el FTDI restablecer pin) y el FTDI al USB de su PC
-Cargue el firmware del adaptador VGA con la herramienta PMMC Loader desde 4D Systems (necesitara  la versión GFX, aunque si es actual  vendrá con la versión de firmware 2.7)

-Abra la herramienta de sistemas Taller 4D ( se puede descargar desde su página  aqui),

-Abra el archivo de programa en el 4D subdirectorio del archivo ZIP en esta publicación.

  •  Siga los pasos que también se muestra en la imagen  de  abajo  de esta herramienta para:
  • Seleccione la pantalla derecha o modelo de adaptador (uVga-II_GFX2)
  • Seleccione el puerto COM correcto (el que genera el FTDI)
  • Seleccionar destino como “Flash” y no “Ram” (no se olvide de esto!)
  • Compilar y cargar el programa en la pantalla / adaptord)

Conexion al Netduino
En los siguientes puede probar la funcionalidad VGA con su Netduino o Netduino-Plus,

-Inserte la tarjeta micro SD  al adaptador de pantalla 4D
-Conecte el adaptador de pantalla  a su Netduino Plus. Sólo son  necesarios 3 cables:Vin o Vcc desde el dispositivo de 4D a 5V del Netduino Plus,GND del dispositivo 4D a GND de la tarjeta Netduino Plus y Rx del dispositivo 4D Digital 3 pines de la placa Netduino Plus )

-Conecte un monitor  VGA al Adaptador

-Cargue en su Netduino un ejemplo para comprobar la salida  VGA  (puede encontrar un  ejemplo  aqui)

Documentos:

Fuente original en ingles aqui