The smart campus provides automated services through an interconnected network infrastructure of people, devices, and applications. Our project, OneM2M based Smart Campus IoT system, provides oneM2M based smart campus IoT solutions including an air quality alert system & automated room ventilation for COVID risk minimization. We are proposing a decentralized IoT system using oneM2M standards which makes it easily scalable to large-scale deployments such as for smart cities.
As a response to first-hand experience with COVID-induced challenges in the functioning of our labs and hostel premises at our university campus, we designed and developed an air quality monitoring system including a Co2 alert base HVAC HEPA proxy system for COVID risk minimization. It aims to ease the safe functioning of labs and similar closed spaces during COVID times by ensuring adherence to ventilation norms.
We have considered three scenarios for the smart campus solutions. Closed spaces in labs and classrooms in an academic block, common crowded spaces such as dining hall, and high infection-prone isolation ward within the campus. The Internet of Things (IoT) sensor nodes measures air quality parameters: PM10, PM2.5, Co2, and temperature. Sensed data values from the sensor nodes are sent to the OM2M platform, an open-source implementation of the oneM2M standards, for further analysis and actuation.
OM2M Resource Tree CreationFor our project, we have created one IN-CSE and three MN-CSEs.
To create the resource tree, first initialize the IN-CSE and then the three MN-CSEs by executing the "start.bat" script on Windows or "start.sh" on Linux and Mac OS.
Open the following URL in your browser and access the oneM2M platform web interface: http://127.0.0.1:8080/webpage
The system architecture comprises of ESP 8266 microcontroller-based node for sensing various parameters to monitor air quality. The data from the nodes are encrypted using a public key cryptography-based technique and sent to the MN-CSE. Actuations such as a buzzer for a fire alarm system (AE-FA) and LED light (AE-AW) for an automatic window operation are performed. Further, the two AEs, data warehouse, and dashboard are implemented using cross CSE subscription.
OM2M Resource TreeWe have created a decentralized IoT solution consisting of a central IN-CSE and 3 MN-CSEs. This type of architecture enables seamless interaction between heterogeneous applications independent of underlying communication technologies.
1. CSE registrationa. To create the resource tree, first, initialize the IN-CSE and then the three MN-CSEs by executing the "start.bat" script on Windows or "start.sh" on Linux and Mac OS.
b. Open the following URL in your browser and access the oneM2M platform web interface: http://127.0.0.1:8080/webpage
IN-CSE: There are two AEs with three MN-CSEs registered with the IN-CSE.
- MN-CSE 1: This is for the academic block and has the weather station (AE-WS), air quality monitoring parameters (AE-AQM), fire alarm system (AE-FA) and automatic window (AE-AW).
- MN-CSE2: Dining hall MN-CSE has AE-CO2 and AE-AW registered.
- MN-CSE3: Two AEs, one as an alert system (AE-AS) and one for monitoring crowd (AE-CM) in the isolation ward.
Access Control Policies (ACPs) are used by the CSE to control access to resources. Here, a new ACP has been created to give read access to AEs.
IPE has been used for bi-directional communication between oneM2M and non-oneM2M systems. Here, the monitor class being used pulls data from a weather station located within our campus which acts as a non-m2m node.
Node descriptors are created on theOM2M platform as a content instance to provide additional semantics for a data consumer to understand the meaning data. Information on the type of devices used, latitude-longitude value along with parameter description is found in the data descriptor.
Using subscription resource, the applications can subscribe to data containers to get automatic notifications based on Server-sent events (SSE).
· Actuation for fire alarm system and automatic windows
· Email notification service
· Dashboard for data visualization
· Data lake to store historical data
The vulnerability of weak passwords can be exploited by an attacker to access information from the resource tree. To provide further data confidentiality and privacy, encryption is performed on the sensed data before pushing it to OM2M. Elliptic Curve Cryptography (ECC) is a public key-based cryptosystem suitable for resource constrained devices. A 160-bit ECC offers the same level of security as compared to a 1024 –bit RS algorithm thus ECC is chosen for encrypting the sensed data sent from the air quality sensor nodes to OM2M. Arduino library, tinyECC has been used on theESP8266 microcontroller.
Software Setup:
1. Download and install the Arduino IDE from the following link: Software | Arduino
2. Plug NodeMCU; if it's not detected, then download and install the USB driver manually using the following link:
3. Add NodeMCU in Arduino IDE:
- Open Arduino IDE, go to File->Preferences
- Copy the URL given below in the "Additional boards Manager URLs" Textbox:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
- After completing this again go to Tools-> Board and then select NodeMCU 1.0
Hardware Setup
1. Place the NodeMCU on the breadboard
2. Make the connection between NodeMCU and the sensors as shown in the circuit diagram:
3. Upload the code given below through Arduino IDE to your NodeMCU.
Schematic-With the help of Easy Eda, we have designed a PCB that makes our device more firm and ready to deploy the device.
The dashboard shows latest data of the parameters: PM10, PM2.5, CO2, Temperature (Temp). The data received is decrypted and plotted at the dashboard in pulled from the OM2M platform.
The tinyECC documentation can be found here: https://github.com/ShubhamAnnigeri/tinyECC-ArduinoIDE
.
Comments