Paso 1: Obstáculos y soluciones
Obstáculo 1
Ahora ¿dónde encontrar el programa? ¿un ejemplo de trabajo sería agradable derecho? En la esquina superior derecha hay un botón 'Ayuda' que irá a la 'Tutoriales'.
En 'Tutoriales' usted encontrará:
"Utilizando un Arduino + Ethernet Shield para actualizar un canal ThingSpeak"
Suena genial, para que descargar ese programa en el IDE, añade la API-key y luego compilarlo.
Maldito... no compila, intentar arreglarlo (y que es ciertamente posible) hasta llegar a un punto que no tienes idea lo que se requiere.
Al parecer el programa todavía espera que todo el mundo a usar el IDE 022 o 023.
Hay un enlace a una página de Github, pero que va a dar u un programa para twittear y no lo que quiere, al menos no por ahora.
Solución
Enfermo encontrará un mejor programa para iniciar desde aquí:
https://github.com/ioBridge/ThingSpeak-Arduino-exa...
Ese programa tiene una lectura desde el puerto A0 y envía a "Campo1" en su flujo de datos
OK así que probar eso, cuelga un resistor variable como un LDR o NTC en el puerto A0, añadir su API en el programa y ejecutarlo.
Que funciona bien, pero sólo quería leer un valor desde un puerto analógico, que tenía un sensor de temperatura y humedad DHT11 así como un sensor de temperatura y presión BMP180. Pensé que no debería ser demasiado difícil.
Obstáculo 2
He añadido las bibliotecas necesarias para Thingspeak, agrega los objetos y leer los sensores en una variable.
Sin embargo, los sensores tienen flotadores como resultado y Thingspeak quiere enviar cadenas.
Con la mayoría de las variables es bastante fácil convertirlos en una cadena con la función de simple 'cadena', pero no es fácil para los flotadores. Con los flotadores tienes que usar el comando "dtostrf" (que supongo que significa 'doble a la función string'
Tratando de encontrar información sobre que función en internet rápidamente me llevó a discusiones sin fin sobre 'cómo estúpida' era y preguntando preguntas eran a menudo la gente dijo "por qué usted necesitaría que Serial.print que hará por ti" sí, cierto, pero no queremos imprimir, lo necesito porque quiere Thingspeak.
Solución
Para utilizar el comando dtostrf que necesita configurar un espacio donde se almacenará la cadena. Funciona así:
Ese bufferspace es importante. Lo tuve trabajando con '7' o incluso '5', pero cuando agregué un segundo sensor que necesita esta función, mi flujo se estrellaría y obtuve resultados más extraños. También pensé que podía usar el mismo bufferspace alternando para cada sensor, sino que también realmente no funcionaba, así que ahora tengo un bufferspace para cada sensor.
Ahora no estoy crack en C, así que tal vez hay una mejor manera de hacerlo, si así me encantaría oírlo, sino esta trabajado para mí.
Hurdle3
Una vez que las conversiones de cadena, podría añadir los datos para el flujo de datos.
El programa de ejemplo de Thingspeak muestra que para un campo solo, pero se vuelve claro bastante rápido que hay que añadir las cadenas y echar la cantidad adecuada de signos de plussesand.
Solución
Así que para decir 4 diferentes campos se convierte como este:
updateThingSpeak ("Campo1 ="+ temp +"& Campo2 ="+ humedad +"& field3 ="+ pres +"& Campo4 =" + temp2);