Sistema de monitoreo de uso de servicios públicos en tiempo real basado en IoT

Sistema de monitoreo remoto para el uso de servicios públicos, como gas, electricidad, agua, etc. en tiempo real.

Historia

Primeros pasos con Netduino

Netduino es una plataforma electrónica de código abierto que utiliza .NET Micro Framework. Con Netduino, el mundo de la programación de microcontroladores está al alcance de tu mano. Netduino está diseñado para permitir proyectos personales y esfuerzos comerciales sofisticados. En esta sección, configuraremos el entorno de desarrollo de Netduino en su computadora y crearemos su primera aplicación de Netduino. Esta guía fue escrita por Secret Labs LLC. Con Netduino y tu imaginación, puedes crear grandes proyectos electrónicos.

Entorno de desarrollo

Windows

Una vez que estas herramientas gratuitas estén instaladas, estará listo para crear su primera aplicación Netduino.

Desempaquetar

Antes de iniciar Visual Studio 2015 por primera vez, descomprima su Netduino. Coloque sus pies pegajosos. Tome un cable Micro USB y conecte el Netduino a su computadora. Los controladores de Netduino deberían haberse instalado automáticamente con Netduino SDK. Si experimenta algún problema, también están disponibles para su descarga desde nuestro sitio web.

Muchos teléfonos celulares modernos usan cables Micro USB para cargar. Si no recibió un cable Micro USB con su Netduino, es posible que pueda tomar prestado uno de su teléfono celular.

Crear

Inicie Visual Studio 2015. El instalador debería haber creado una carpeta y un acceso directo para este programa en su menú Inicio (Programas). El entorno de programación de Visual Studio debería iniciarse. Vamos a crear nuestro primer proyecto.

Haga clic en el enlace “Nuevo proyecto…”. Si no hay ningún enlace visible, vaya al menú Archivo y seleccione Nuevo > Proyecto…

Debería aparecer la ventana Nuevo proyecto. Visual Studio muestra un conjunto de plantillas instaladas. Queremos elegir ” Visual C# >.NetMicro Framework ” de la lista de la izquierda. Luego seleccione ” Aplicación Netduino ” de la lista de la derecha. Asigne un nombre a su proyecto y presione Aceptar.

Código

Ahora, escribiremos el código de nuestra aplicación Netduino. Para un primer proyecto, haremos parpadear el LED programable (azul) de Netduino.

En el lado derecho de la pantalla, el Explorador de soluciones muestra los archivos de su proyecto. Program.cs contiene el código de inicio de su proyecto. Vamos a abrirlo y escribir media docena de líneas de código. Haga doble clic en Program.cs (o haga clic con el botón derecho y seleccione Abrir).

En la sección principal de la ventana, ahora estamos editando Program.cs. Haga clic en la línea debajo del texto “// escriba su código aquí”. Aquí es donde escribiremos nuestro código.

Ahora, escribe lo siguiente:

OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);

Esta primera línea de código crea un OutputPort. Un OutputPort nos permite controlar el nivel de voltaje de los pines en el Netduino (o en este caso el voltaje del LED azul). Pins.ONBOARD_LED es una abreviatura que le dice a Netduino qué “pin” del microcontrolador queremos controlar y el segundo parámetro (falso) pone el LED en un estado inicial de APAGADO (falso).

Ahora, vamos a encender y apagar el LED repetidamente. Una forma sencilla de crear una acción que se repita para siempre es colocarla dentro de un bucle que nunca termina. Agrega el siguiente código a tu proyecto.

while (true)

{

}

La palabra clave while le dice al microcontrolador que haga algo en un bucle mientras se cumple una determinada condición. Esta condición se coloca entre paréntesis. En nuestro caso, usamos una condición de verdadero. Dado que las condiciones se cumplen cuando son “verdaderas”, pasar “verdadero” significa que el ciclo se repetirá para siempre.

Ahora, crearemos el código LED parpadeante. Entre los dos conjuntos de llaves, inserte las siguientes cuatro líneas de código:

led.Write(true); // turn on the LED

Thread.Sleep(250); // sleep for 250ms

led.Write(false); // turn off the LED

Thread.Sleep(250); // sleep for 250ms

Su programa final debería verse así:

public static void Main()

{

// write your code here

OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);

while (true)

{

led.Write(true); // turn on the LED

Thread.Sleep(250); // sleep for 250ms

led.Write(false); // turn off the LED

Thread.Sleep(250); // sleep for 250ms

}

}

Ejecución

Ahora, implementaremos su aplicación Netduino en Netduino y veremos cómo se ejecuta. De forma predeterminada, Visual Studio ejecuta proyectos en un emulador. Esto permite a los desarrolladores de software crear y probar la lógica de programación para un nuevo producto de hardware antes de que se construya el hardware real. No usaremos el emulador para nuestros propósitos, por lo que le informaremos a Visual Studio que tenemos hardware físico que debería usar en su lugar.

Haga clic en el menú Proyecto y seleccione las propiedades de su proyecto (generalmente, el último elemento en el menú Proyectos). Cuando aparezcan las propiedades del proyecto, haga clic en la categoría “.NET Micro Framework” en el lado izquierdo.

Ahora cambiaremos nuestro objetivo de implementación del Emulador a Netduino. Cambie el Transporte de “Emulador” a “USB” y luego asegúrese de que el cuadro de selección de Dispositivo muestre su Netduino. Si no es así, desconecte y vuelva a conectar su Netduino.

Ahora, ejecutaremos el proyecto. Cuando ejecutamos el proyecto, su código se implementa en Netduino y luego se inicia automáticamente. Solo veremos cómo se ejecuta el programa por ahora, pero cuando comience a crear aplicaciones sofisticadas de Netduino, es posible que desee explorar las funciones avanzadas: mientras ejecuta las aplicaciones de Netduino, puede depurar, establecer puntos de interrupción, recorrer el código, analizar el valor de las variables, etc. .

Para ejecutar su proyecto, presione el botón “Iniciar depuración” en la barra de herramientas en la parte superior de la pantalla. Se parece al botón Reproducir de un reproductor de música. También puede presionar F5 en su lugar.

Visual Studio ahora implementará su primera aplicación de Netduino en el hardware de Netduino. En unos segundos, verás que el LED azul se enciende y se apaga cada medio segundo.

Celebrar

Ya ha creado, implementado y ejecutado su primer proyecto de Netduino. Puede desconectar el Netduino de su computadora y demostrar su éxito a los demás. Cuando ejecutó el programa, se escribió en el chip del microcontrolador de Netduino… así que todo lo que tiene que hacer para ejecutar el programa nuevamente es enchufarlo a través de un cable MicroUSB o con un adaptador de corriente (usando el conector de barril de alimentación).

Puede reescribir sobre su aplicación Netduino. Visual Studio detendrá automáticamente su aplicación Netduino actual cada vez que implemente una nueva.

Resumen

La idea principal de este proyecto es construir un tablero para monitorear los usos de servicios públicos como agua, gas, electricidad. El sistema es útil para los usuarios de prepago, ya que los usuarios de prepago necesitan comprar créditos antes de utilizarlos. Es realmente difícil para los usuarios verificar los usos y rastrear los créditos restantes con regularidad. El sistema de servicios públicos de prepago corta automáticamente la línea si los créditos restantes llegan a cero. Este proyecto ayuda a los usuarios a prevenir situaciones de corte al monitorear los usos regularmente. El sistema también proporciona notificaciones push basadas en sms a los usuarios si los créditos se agotan (esta parte se deja para trabajos futuros). Los usuarios de pospago también se benefician de este sistema. los usuarios de pospago pueden saber el monto de los usos, lo que es útil para las facturas en exceso. Las empresas de servicios públicos monitorean de forma remota sus medidores utilizando este sistema que es útil para preparar las facturas de pospago. Se pueden agregar características adicionales dependiendo de las necesidades del usuario/empresa.

Cosas que necesitas

  • Versión Netduino 3 Ethernet.
  • Sensor actual.
  • Sensor de flujo de agua y gas.
  • Dispositivo Android
  • conexión a Internet
  • Cable pasa corriente.
  • Cable CAT5.
  • Plataforma de desarrollo de aplicaciones Android.
  • IoT Cloud Platform (aquí se usa thinger.io).
  • Estudio Visual 2015.
  • Batería portátil o fuente de alimentación.

Diagrama de circuito

El diagrama del circuito se da a continuación:

El sensor de flujo de agua y gas tiene tres pines.

  • Cable rojo (para VCC).
  • Cable negro para GND.
  • Cable amarillo para señal. Conecte el cable de señal con el pin netduino D3 y D4 respectivamente para el sensor de GAS y agua. Más detalles sobre esos sensores están disponibles en Consulte su página wiki.

El diagrama del circuito muestra; cómo se utiliza el sensor de corriente para determinar la carga.

Nube IoT

La plataforma en la nube Thinger.io IoT se utiliza aquí para construir el proyecto. Es obligatorio tener una cuenta para conectar el dispositivo con thinger.io. consulte la sección de documentación de thinger.io para obtener más detalles sobre la conectividad del dispositivo y otros.

Aplicaciones móviles

También se desarrolla una aplicación móvil para monitorear de forma remota los usos de los servicios públicos. La aplicación está conectada directamente con iot-cloud y visualiza la información en tiempo real de cada medidor. Consulte la sección de demostración para obtener más detalles. Se utiliza una plataforma de desarrollo de aplicaciones Android de código abierto para desarrollar las aplicaciones. El archivo APK está disponible en mi repositorio git

 

Acerca de Mohammad Salah Uddin 9 Articles
El Dr. Mohammad Salah Uddin es profesor asistente en el Departamento de Ingeniería y Ciencias de la Computación de la Universidad East West de Dhaka, Bangladesh. Antes de esto, trabajó como investigador (Tradr - proyecto europeo) en la Universidad Sapienza de Roma. Después de completar su licenciatura en Ciencias de la Computación e Ingeniería de la East West University en 2012, se unió como profesor en la Central Women’s University, Bangladesh. En octubre de 2013, se matriculó en la Universidad Sapienza de Roma, Italia, para realizar su doctorado. Licenciatura y Ph.D. Licenciado en Robótica en julio de 2017. Su investigación se centra principalmente en Sistema de Robótica Heterogénea, Planificación / Asignación de Tareas para Sistema Multi-Robótica, IoT-Robótica, Sensores y Sistemas, Sistemas Embebidos, Internet de las Cosas, Visión por Computador, etc. Publicó varias investigaciones artículos en conferencias / revistas revisadas por pares de su trabajo de investigación. En 2018, pronunció un discurso en Maker Faire Shenzhen 2018 como orador del foro. Es miembro de la IEEE Robotics and Automation Society y tiene la membresía profesional de IEEE. También tiene algunos otros miembros nacionales e internacionales.

2 Comentarios

  1. Aqui en Mexico solo se maneja el arduino con sus variantes pero el netduino no existe, ¿se puede hacer lo mismo con un arduino uno?
    Gracias por su proyecto, esta fabuloso.

Deja un comentario

Tu dirección de correo no será publicada.


*