Arduino enviando datos (Parte 0)

por Ricardo Vega el 29/04/2016

Durante las últimas semanas hemos estado creando (o investigando) el ecosistema que nos permita trabajar en nuestras propias soluciones basadas en el Internet de las Cosas.

Arduino Uno

Hemos hablado en APIs y hemos implementado un par de ejemplos usando dos lenguajes de programación diferentes. En el primer ejemplo, en el que usábamos Python, recogíamos los datos de temperatura de una estancia mediante un sensor, conectado a un Arduino que, a su vez, a través del módulo Ethernet ponía disponible esos datos para su posterior procesado mediante la Raspberry Pi.

En el post de hoy iniciamos una serie de artículos en los que vamos a evolucionar esta idea en diferentes formas, de modo que, al finalizar la serie, seamos capaces de comunicar nuestros sensores con paneles de control o sistemas de computo (desde una Raspberry Pi a servidores más potentes).

Intentaré que estos posts sean más breves y debo advertirte que no los iré publicando semana a semana sino que puede haber artículos entre dos partes.

Tampoco quiero que entiendas esta serie como un tutorial ya que mi intención es más bien plantear un estudio con ejemplos de algunas de las posibilidades que tenemos para llevar a cabo esta labor.

Introducción

Precisamente, en este primer artículo, no vamos a hablar de ninguno de estos métodos, sino de las herramientas básicas que vamos a necesitar para seguir esta serie.

Arduino Ethernet

En primer lugar, necesitaremos algo de electrónica:

Concretamente un Arduino y un sensor. Mi recomendación aquí es, si es la primera vez que jugamos con Arduino, utilizar un Arduino Uno.

Si no somos novatos, el Arduino Nano siempre me ha parecido una gran opción. Y si somos expertos, sabrás suficiente como para elegir tu el dispositivo que desees.

También vamos a necesitar una interfaz de red, que en el caso de estar empleando el Arduino Uno, recomiendo sea el shield Ethernet, mientras que en otros casos podremos optar por interfaces cableadas o WiFi.

Por último, a parte de cables para unir todo esto y los elementos necesarios para alimentar tu Arduino (en el caso del Arduino Uno o Nano, con una cable USB te valdrá), necesitaremos un sensor como tal. Mi recomendación al respecto es usar el DHT22 que ya hemos empleado en otras ocasiones al ser éste un sensor de temperatura muy barato y sencillo.

Arduino Conectividad

Por otro lado, vamos a emplear un equipo de desarrollo que puede ser un ordenador o portátil. El sistema operativo es totalmente indiferente ya que todo lo que hagamos será compatible con Linux, OSX y Windows. Eso sí, vamos a necesitar escribir código, así que necesitarás tener configurado Atom para trabajar con Platformio como te expliqué en otra entrada o, en su defecto, el IDE de Arduino.

Por último, necesitaremos el equipamiento de red necesario para conectar el Arduino y el ordenador a la misma red. Éste equipamiento, en la mayoría de las ocasiones será transparente a nosotros ya que podemos conectar todo a nuestra red doméstica a través del router de nuestra casa tal y como conectamos cualquier otro dispositivo.

Montando el circuito básico

Entiendo que esta parte, puede que no sea del todo exacta ya que dependerá mucho de los componentes que emplees en tu circuito. En mi caso, voy a mostrar el montaje más simple que cuenta con las siguientes partes:

  • Arduino Uno
  • DHT22
  • Shield Ethernet

Este circuito, que ya he comentado en otras ocasiones más en profundidad es muy fácil de montar. En primer lugar deberemos poner el Shield Ethernet sobre nuestra placa Arduino Uno y a continuación cablear el siguiente esquema:

Arduino Ethernet DHT22

Preparándo el código inicial

He preparado en Github un repositorio que seguiremos en algunos de los post de esta serie.

Para descargarlo en nuestro equipo de desarrollo, tan sólo tenemos que hacer un clone al repositorio:

git clone https://github.com/ricveal/Arduino_ethernet

En este post, te indicaré a que versión del fichero tenemos que tener en cuenta, ya que irá mutando según avancemos.

En este caso, apunta hacia el commit inicial 9755c59.

git checkout 9755c59

Esta es la versión que empleamos en el ejemplo de API con Python.

En la próxima entrega partiremos precisamente de esta versión y avanzaremos realizando algunas modificaciones.

Espero que te guste esta nueva serie de artículos.

No te olvides de compartir esta entrada con tus amigos.

¡Hasta la próxima semana!

Apoya al blog


Si te ha gustado este artículo, valora apoyarme económicamente a través de Patreon, una plataforma de Micro-mecenazgo con la que puedes hacerme un donativo que ayude a la continuidad del blog. Una pequeña ayuda significa mucho. 😃

Permanezcamos en contacto!


¿Quieres enterarte de todas las novedades del sector? ¿Te gustaría trabajar conmigo? ¡Puedes contactar conmigo de forma muy sencilla!