Tabla de contenido:

Tuiteando la estación meteorológica: 8 pasos (con imágenes)
Tuiteando la estación meteorológica: 8 pasos (con imágenes)

Video: Tuiteando la estación meteorológica: 8 pasos (con imágenes)

Video: Tuiteando la estación meteorológica: 8 pasos (con imágenes)
Video: El Cambio Climático | Videos Educativos para Niños 2024, Mes de julio
Anonim
Tuiteando la estación meteorológica
Tuiteando la estación meteorológica

¿Alguna vez quiso monitorear las condiciones climáticas actuales, la huella de carbono, el ruido y los niveles de contaminación de su ciudad? ¿Quieres ser un Cruzado del Cambio Climático o configurar tu propia Estación Meteorológica de Tweeting y compartir tus condiciones climáticas locales con el mundo?

Conozca Tweeting Weather IoT Station, también conocida como TWIST, una plataforma de adquisición de datos meteorológicos y monitoreo ambiental de código abierto. El propósito de TWIST es que las personas y las comunidades puedan recopilar datos de lo que realmente está sucediendo en su entorno y compartir estos datos en las redes sociales como Twitter.

  • TWIST es una plataforma impulsada por Internet de las cosas (IoT).
  • El cerebro de TWIST es una placa Intel Edison.
  • TWIST es compatible con una variedad de sensores.
  • Todo el código, los archivos de diseño (esquemas y diseño de PCB) son de código abierto. Esto significa que cualquiera puede contribuir a la plataforma TWIST compartiendo código y esquemas para diferentes sensores.

TWIST consta de tres capas tecnológicas:

La primera capa es una placa de hardware que contiene todos los sensores ambientales y meteorológicos conocidos como la "placa de sensores". Como su nombre indica, lleva sensores que miden la composición del aire, temperatura, humedad, lluvia. También se pueden agregar sensores adicionales como actividad sísmica, índice UV, presión barométrica, altitud, lux (luminosidad), niveles de sonido, velocidad y dirección del viento, etc. Una vez configurada, la placa de sensores puede transmitir los datos medidos por los sensores a la segunda capa. La segunda capa es la placa Intel Edison que recibe datos de la placa de sensores, los procesa y los envía a la siguiente capa. La tercera capa conecta su tablero Edison a Internet a través de Wi-Fi utilizando el módulo inalámbrico en el tablero Edison y tuitea las condiciones climáticas y ambientales actuales.

La energía para el dispositivo puede ser proporcionada por un panel solar o un adaptador de CA.

Repositorios controlados por versiones

Las tres capas tecnológicas de TWIST son de código abierto y, por lo tanto, todos los archivos que usamos para el código, el desarrollo de PCB, el diseño mecánico, etc.están disponibles en nuestro repositorio de Github.

Inscripciones al concurso

Intel IoT Invitational

Me gustaría agradecer a Intel + Instructables por proporcionarme la placa Intel Edison. Planeo hacer muchos más Instructables relacionados con IoT usando la placa de Edison.

#otweatherstn

Si haces TWIST, no olvides tuitear el clima usando #iotweatherstn. #iotweatherstn puede ser un hashtag utilizado por todas las estaciones meteorológicas de tweeting con tecnología de IoT.

Paso 1: Piezas y materiales

Partes y materiales
Partes y materiales
Partes y materiales
Partes y materiales
Partes y materiales
Partes y materiales

CantidadPartDetails 1

Intel Edison

con placa de arranque Arduino

1

Sensor de gas combustible MQ2

1

YL-83

Sensor de lluvia

1

SL-HS-220

Sensor de temperatura y humedad

1

Resistor

32K

4,7 mil

3 separadores de metal de 1 pulgada

1

Resistor

32K

4,7 mil

2

Hoja de madera tamaño A4

Posteriormente se puede cortar en tamaño

3

Separador de metal

1 pulgada

Paso 2: Diseño eléctrico

Poder

Todo el sistema se alimenta de una fuente de alimentación de 5V 1A. Los sensores (temperatura, humedad, lluvia, gas) consumen aproximadamente 200 mA, el Edison alrededor de 500 mA. Dado que la corriente total requerida es inferior a 1 amperio, un suministro de 1 amperio debería funcionar bien. El LED verde incorporado en el pin digital 13 de la placa Edison se usa para mostrar el estado de energía.

Control Un Intel Edison dirige el espectáculo para TWIST. El Edison está montado en una placa de arranque Arduino, lo que facilita la lectura de las señales digitales y analógicas de los sensores. El Edison está conectado al riel de 5V a través de un cable micro USB. El Edison tiene una radio Wi-Fi incorporada, lo que le permite conectarse a Twitter sin la necesidad de ningún hardware adicional.

Reloj de tiempo real (RTC)

Dado que la marca de tiempo que realiza Twitter automáticamente para cada tweet tiene una resolución limitada al número total de días desde la hora de tuitear, se utiliza un reloj en tiempo real para marcar con precisión la fecha y la hora en la hora-minuto- Segundo formato. El reloj de tiempo real utilizado en la plataforma TWIST es el módulo DS-1307 RTC.

Sensores La configuración más básica de este sistema tiene cuatro sensores (temperatura, humedad, lluvia, gas) que se conectan al Edison. Se pueden agregar sensores adicionales como ruido, viento, etc. Cada sensor se alimenta directamente desde el riel de 5V y tiene su pin de señal conectado respectivamente a los pines analógicos A0 a A2 y al pin 2 digital en la placa de conexiones Edison. Los sensores también tienen cada uno un potenciómetro de ajuste de sensibilidad montado en cada placa de sensor; El MQ-2 es un sensor de gas combustible (gas licuado de petróleo, propano, hidrógeno y metano) que genera un voltaje analógico proporcional a la concentración de gases en partes por millón. El SL-HS-220 tiene un termistor que da el valor de temperatura. Dado que la salida del termistor no es lineal, la tabla de temperatura correspondiente se proporciona en el repositorio de sensores. El termistor requiere un circuito divisor de voltaje cuando se conecta a la placa Edison como se muestra en el diagrama del circuito. El SL-HS-220 también tiene un higrómetro incorporado que mide la humedad y emite un voltaje analógico que corresponde a un valor de humedad fijo. La tabla de humedad-voltaje también se encuentra en el repositorio de sensores. Un sustituto común del SL-HS-220 es el sensor DHT11. El sensor de lluvia / sensor de agua tiene un potenciómetro que se ajusta para dar una salida digital para una cierta cantidad de lluvia cuya sensibilidad puede ser ajustada por el usuario.

Estación meteorológica.fzz

Paso 3: Diseño mecánico

El cuerpo del TWIST está formado por dos placas de láminas de madera. Aunque utilicé madera contrachapada de 1/4 ", el diseño se puede ensamblar con cualquier material de lámina, ya que el espacio (mantenido por separadores de aluminio de 1") es el único elemento crítico. Adjunté los archivos vectoriales para descargar arriba.

Corte por láser

Para todos aquellos que deseen cortar con láser las dos placas, he adjuntado los archivos del cortador láser para descargar a continuación. También incluye un sensor de calidad del aire adicional en su diseño. Por lo tanto, puede utilizar un módulo de sensor MQ2 o un módulo de sensor de calidad del aire según su elección.

Paso 4: Montaje del marco: cara y base

Placa frontal

Los sensores encajan en sus orificios y recortes correspondientes y se pueden fijar con tornillos o pegamento.

Plato base

Los separadores de la placa Edison se atornillan a la placa base. El convertidor de analógico a digital (ADC) que está conectado al sensor de lluvia también se puede atornillar a la placa base.

Los componentes adicionales como zumbadores o el circuito regulador de voltaje para la entrada solar también se pueden atornillar en la placa base.

La placa base y la placa frontal están separadas por separadores de 1.

Paso 5: Ensamblaje de componentes electrónicos y sensores

Poder

La alimentación del sistema la proporciona un adaptador de pared con un conector de barril estándar que se conecta directamente al conector de barril de Edison. El sistema también se puede alimentar a través del puerto USB de la placa Edison. También puede alimentar la placa desde un panel solar externo.

Sensores

Los sensores están conectados a placas de conexiones con conectores macho y, por lo tanto, pueden conectarse directamente al Edison mediante cables de puente macho a hembra.

Paso 6: Configuración de Twitter

Para tuitear, estamos usando una aplicación de terceros desarrollada por NeoCat que obtiene el token de Twitter que necesitarás para tuitear con tu tablero de Edison. Los tokens también se pueden obtener de la página web de desarrolladores de Twitter.

Entonces, para comenzar, visite el sitio web de NeoCat, siga su tutorial para obtener la biblioteca de Twitter y su token de Twitter. Como NeoCat mencionó en su sitio, no abuse del servicio. Mantenga sus tweets escasos. Si necesita algo que tuitee cada 6 segundos, debe configurar su propio servidor y aplicación de Twitter y, por lo tanto, el código que escribí garantiza que el servidor de NeoCat no se sobrecargue (TWIST tweets cada 6 horas).

La biblioteca utiliza el sitio web de este NeoCat como servidor proxy para cosas de OAuth. Es posible que su tweet no se aplique durante el mantenimiento del sitio web de este NeoCat. Twitter parece rechazar los tweets repetidos con el mismo contenido (devuelve el error 403).

Token de Twitter

Biblioteca de tweets de Arduino

Paso 7: Software y configuración

Siga la guía de configuración de Intel para Intel Edsion antes de comenzar a codificar.

El programa es un boceto de Arduino que se ejecuta en Edison. He explicado cada uno de los principales bloques de código a continuación.

El código incluye algunas constantes predefinidas, declaraciones de pines y un par de declaraciones de impresión en serie que ayudan en la resolución de problemas.

Retraso de tweet

Dado que Twitter filtra los tweets que tienen el mismo contenido y se tuitean en breves períodos de tiempo entre cada uno de ellos, se ha establecido un retraso estándar de 3 horas (10800000 milisegundos) entre cada tweet.

tweetMessage ();

retraso (10800000);

Tipo Casting

Muchas de las lecturas que obtenemos de los sensores están en el tipo de datos 'int' o 'float'. Pero dado que estamos twitteando estos valores, necesitamos convertirlos en un tipo de datos 'Cadena'. Para ello utilizamos una técnica especial de Type-casting.

char * dtostrf (valor doble, ancho de char firmado, prec de char sin firmar, char * sout) {

char fmt [100]; sprintf (fmt, "%%% d.% df", ancho, prec); sprintf (sout, fmt, val); volver al sur; }

Token de Twitter

El token de Twitter se crea en el sitio web de NeoCat y debe pegarse en el espacio del token aquí.

void tweetMessage () {

Twitter twitter ("INTRODUZCA EL TOKEN DE TWITTER AQUÍ");

Twittear valores de sensor

Para twittear el valor del sensor, primero incluimos el tipo de sensor; Ejemplo: "Humedad". Esto seguido de una declaración de carácter y una línea de código necesaria para encasillar. A continuación, agregamos una declaración para la unidad de medida; Ejemplo: "% RH". También podemos seguir agregando valores de otros sensores de manera similar.

humedad(); flotar húmedo;

// Mensaje de Twitter String stringMsg = "Humedad:"; char tmp [10]; dtostrf (húmedo, 1, 2, tmp); stringMsg + = tmp; stringMsg + = "% RH";

Ubicación y etiquetado de la estación meteorológica

A continuación, etiquetamos la ubicación (ciudad, localidad, etc.) y otras etiquetas como #iotweatherstn.

stringMsg + = "#Mumbai #Bandra #iotweatherstn";

Reloj de tiempo real (RTC)

Como se explicó anteriormente, TWIST también puede twittear los datos del reloj en tiempo real. A continuación se muestra un ejemplo del bloque de código del parámetro 'día' del RTC. La función de reloj en tiempo real es opcional en la plataforma TWIST ya que el módulo viene por separado. Por lo tanto, hay una rama separada creada en el repositorio TWIST para el código y los esquemas de la rama Real Time Clock.

TwistDateTime (); DateTime ahora = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg + = ds1307day; stringMsg + = "/";

Límite de 140 caracteres

Este bloque de código convierte la matriz de cadenas en una matriz de 140 caracteres lista para twittear.

char msg [140];

stringMsg.toCharArray (mensaje, 140);

Solución de problemas de mensajes y conexión

Este bloque de código imprime un par de líneas de texto en Serial Monitor para ayudar al usuario a verificar el mensaje y el estado del tweet.

// ¡Tuitea a ese tonto!

if (twitter.post (msg)) {estado int = twitter.wait (); if (estado == 200) {Serial.println ("OK."); Serial.println ("Mensaje tuiteado"); } else {// Prueba de conexión Serial.print ("error: código"); Serial.println ("Mensaje no tuiteado"); Serial.println (estado); }} else {Serial.println ("conexión fallida"); Serial.println ("Mensaje no tuiteado"); }

Todos los demás bloques de código simplemente convierten la lectura analógica o digital de los sensores en datos utilizables.

El código se puede descargar desde aquí o desde el repositorio principal:

Weather Station.ino

Paso 8: Contribución al repositorio de sensores

¿Es usted un programador, ingeniero o diseñador que tiene una gran idea para una nueva función en TWIST? ¿Quizás tienes una buena idea para corregir un error? Siéntase libre de tomar nuestro código, esquemas y archivos CAD de Github y jugar con él.

TWIST GitHub

Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational

Segundo premio en el Intel® IoT Invitational

Recomendado: