Programación
En el Aula de Transformación Digital FiWare de la Universidad de Córdoba se han instalado diferentes tipos de sensores para la calidad del aire, concretamente dispositivos industriales listos para su configuración e instalación. Estos dispositivos tienen un coste determinado por unidad y unas caracteristicas de comuicación concretas. Dispositivos CO2 LoRaWAN integrados en el Aula de Transformación Digital FiWare de la Universidad de Córdoba.
Se ha creado un repositorio en GITHUB donde describir el código de las pruebas de diferentes tipos de sensores de bajo coste construidos por nosotros mismos y con los que realizar estudios de comparación con los semejantes industriales de los que disponemos utilizando otros tipos de tecnologías de comunicación con el fin de ser más accesibles por el usuario final y poder ser instalados en nuestra propia estancia, despacho o casa.
Toda la información sobre los sensores del aula se puede encontrar en https://www.uco.es/atdfiware/open-data donde se describe los datos capturados por el sensor, integración con FiWare, el sistema de comunicación y protocolo de acceso así como enlaces a la página del producto. Los datos del Stack FiWare se pueden consultar a través de sus protocolos (NGSI/V2 ó NGSI TSDB) y su consumo, también es posible, a través de herramientas de graficación histórica como la representada en la imagen a continuación por Grafana.
El código y la descripción de las pruebas con los sensores DIY de bajo coste lo tenemos disponible en el siguiente repositorio por si pudiera ser de interés: https://github.com/jcheca/co2ATDFiware donde iremos actualizando en la medida que probemos nueva electrónica.
MicroPython es una implementación software del lenguaje de programación Python 3, escrita en C, y que está optimizada para poder ejecutarse en un microcontrolador. MicroPython es un compilador completo del lenguaje Python y un motor e intérprete en tiempo de ejecución, que funciona en el hardware del microcontrolador. Al usuario se le presenta una línea de órdenes interactiva (el REPL) que soporta la ejecución inmediata de órdenes. Se incluye una selección de bibliotecas fundamentales de Python: MicroPython incluye módulos que permiten al programador el acceso al hardware en bajo nivel.
MicroPython lo creó originalmente el programador y físico australiano Damien George, después de una exitosa campaña de Kickstarter que apoyó el proyecto en 2013. Aunque durante la campaña original de Kickstarter se lanzó MicroPython en conjunción con la placa de microcontrolador PyBoard, en la actualidad MicroPython soporta un amplio número de arquitecturas basadas en ARM. Desde entonces MicroPython se ha conseguido ejecutar en plataformas basadas en Arduino, ESP8266, ESP32, e Internet de las cosas. En 2016 se creó una versión de MicroPython para el BBC Micro Bit como parte de la contribución de la Python Software Foundation al Micro Bit en asociación con con la BBC. En 2017, Microsemi realizó un traslado de MicroPython a la arquitectura RISC-V (RV32 y RV64).
El código de fuente para el proyecto está disponible en GitHub.
The Arduino integrated development environment (IDE) is a cross-platform application (for Windows, macOS, Linux) that is written in the programming language Java. It is used to write and upload programs to Arduino compatible boards, but also, with the help of 3rd party cores, other vendor development boards.
The source code for the IDE is released under the GNU General Public License, version 2. The Arduino IDE supports the languages C and C++ using special rules of code structuring. The Arduino IDE supplies a software library from the Wiring project, which provides many common input and output procedures. User-written code only requires two basic functions, for starting the sketch and the main program loop, that are compiled and linked with a program stub main() into an executable cyclic executive program with the GNU toolchain, also included with the IDE distribution. The Arduino IDE employs the program avrdude to convert the executable code into a text file in hexadecimal encoding that is loaded into the Arduino board by a loader program in the board's firmware.