Recodify - Environmental Monitoring System

This project will present a new environmental monitoring system that can monitor, store and analyze environmental data as well as calculate energy consumption, in any number of environments.

Project Overview

The Recodify system combines Wireless Sensor Networks (WSN) and Internet of Things (IoT) technologies to monitor environmental conditions using various sensors (e.g., temperature, humidity, carbon monoxide, light, and motion). The collected data can be utilized by other research fields to develop models for predicting and preventing ecological disasters in spaces with human activity. A real-life test of the system was conducted in a greenhouse to demonstrate its effectiveness in preventing the deterioration of vegetables.

The Challenge

Implementing an environmental monitoring tool requires compliance with various requirements across multiple components. For measurement, the instrument must ensure long-term stability and reliable performance. Nodes must be autonomous, energy-efficient, reliable, and flexible to accommodate changes in the network. Gateways should be simple, collecting and sending data to cloud infrastructure. The cloud must handle data from multiple gateways, store it securely, and allow authorized access and efficient querying. On the user side, a web-based application with a user-friendly interface is necessary, including authentication, data visualization, and node management features.

The Approach & Solution

The Recodify device can monitor and control critical ambient conditions like temperature, humidity, air quality, noise to improve quality control and optimize energy consumption. All ambient data with a specific time stamp and push them to the Firebase for future use and hooks them with a unique ID i.e., the device’s MAC address. Authenticated users, using the Recodify Web-App, can observe only the device(s) that belong to them and monitor readings from the physical quantities or abiotic variables in real-time or visualize them with chronological order using graphs. Furthermore, they can intervene to connected appliances and devices in order to enhance space’s environmental conditions. In the following section we present both hardware and software Recodify system’s implementation.

High Level Architecture

The Client-Server model is a multitier development structure that exchange information between two parties, the data providers, called servers and the data requesters, called clients. In this bidirectional architecture when the client request for data, servers accept the requests and reply with corresponding data back to clients. The Recodify system structure is based on Client/Server Architecture. It consists of three main constituents:

  • the software that controls Recodify and is implemented with Web-based technologies,
  • an embedded, in Recodify, NodeMCU Microcontroller, and
  • a repository for all necessary data that is implemented with Firebase.

The web-based application acts as a client that sends requests to the NodeMCU platform and to the Firebase database which acts as a server.

Hardware implementation

Recodify device consists of several hardware components such as microcontroller, modules and sensors. The core of our device is NodeMCU, a developer programmable platform from Espressif Systems with integrated Wi-Fi module (ESP8266). The prototyping hardware that we used is a circuit board, and as manufacturer states, it is functioning as a dual in-line package (DIP) which integrates a USB controller with a smaller surface-mounted board containing the MCU and antenna. The choice of the DIP format allows for easy prototyping on breadboards. The design was initially based on the ESP-12 module of the ESP8266, which is a Wi-Fi SoC integrated with a Tensilica Xtensa LX106 core, widely used in IoT applications. The core of Recodify device, NodeMCU, was created shortly after the ESP8266, on 13 Oct 2014, when Hong committed the first file of NodeMCU-firmware to GitHub.

Future Work

In the future, a design that is equipped with solar panel and internal battery supply, supporting device portability, will be implemented. To ensure the continuous data logging we will enhance our hardware with a real time clock (RTC) and storage device (SD) module saving our data offline with a proper order in case of internet connection lost. With the use of a GPS module, we could provide new features in our Recodify application such as tracking capabilities for all devices. Furthermore, Recodify will be tested in real life condition in order to extract more experimental results. Finally, we will improve the procedure of adding a new Recodify to user’s dashboard with QR tags and mobile scanning mechanism.