Objetivos del proyecto IoT

Lo que tengo en mente para este proyecto es:

1. Estación Central

En principio, debe ser capaz de correr sobre una Raspberry Pi aunque pretendo que el código que desarrolle sea portable y pueda correr sobre una máquina física o virtual Linux. El desarrollo sería, fundamentalmente en JavaScript sobre Node. La funcionalidad a implementar sería:

  • Recibir los datos de las estaciones remotas y almacenarlos en una base de datos.
  • Proporcionar, a través de una interfaz web, la información recibida de los sensores.
  • Proporcionar, a través de una interfaz web, las capacidades de administración y control de la red de sensores.
  • Permitir el acceso multidispositivo. Posibilidad de desarrollar una app para Android.

2. Estaciones Remotas

Basadas en controladores Arduino, deberán recibir los datos de los sensores y transmitirlos a la estación central. Los sensores a emplear serán en principio de temperatura y humedad, aunque valoraré, sobre la marcha, utilizar otros (por ejemplo, CO2 y gas en la cocina), presencia, etc.

3. Protocolo de Comunicaciones

Tendré que especificar y desarrollar un protocolo de comunicaciones que soporte el envío de la información de las estaciones remotas a la estación central y de órdenes desde la estación central a las estaciones remotas. Esta comunicación se realizará sobre la WiFi doméstica y estaba pensando en que el protocolo fuera sobre UDP.

4. App para Android

La guinda definitiva sería tener una app para Android que me permitiera el acceso a la información y el control de la red desde mi teléfono móvil Android. Esto lo dejo aparcado para una fase posterior.

5. Fases

En principio, estoy pensando en tres fases:

a. En una primera fase abordaré el desarrollo de un prototipo de estación remota. Esto lo realizaré empleando placas de prototipo y alguno de los Arduinos y sensores que tengo por casa. En la parte de la estación central, desarrollaré los servicios básicos para la recepción de datos. Paralelamente, abordaré el desarrollo del protocolo de comunicación.

b. En una segunda fase me centraré en la Web de información y control y en el diseño definitivo de las estaciones remotas (placas PCB, soldaduras, etc.).

c. Finalmente, en la tercera fase desarrollaría la app para el móvil así como los APIs para el software de la estación central.