This shows you the differences between two versions of the page.
iothings:proiecte:2021:airqualitymonitoringsystem [2022/01/27 20:45] mihaela.florescu |
iothings:proiecte:2021:airqualitymonitoringsystem [2022/01/27 22:05] (current) mihaela.florescu |
||
---|---|---|---|
Line 6: | Line 6: | ||
The scope of this project is to create an air quality monitoring system using an ESP32 board and a BMP180 sensor. | The scope of this project is to create an air quality monitoring system using an ESP32 board and a BMP180 sensor. | ||
- | This system will check some environmental parameters such as temperature, pressure, altitude and humidity. | + | This system will check some environment parameters such as temperature, pressure, altitude and humidity. |
These values read by the sensor will be send to a web page. | These values read by the sensor will be send to a web page. | ||
Line 17: | Line 17: | ||
In order to develop this project, the following components have been used: ESP32 MCU, BMP180 sensor, breadboard and jumper wires. | In order to develop this project, the following components have been used: ESP32 MCU, BMP180 sensor, breadboard and jumper wires. | ||
* **ESP32** is a low-power system on a chip microcontroller with integrated Wi-Fi and dual-mode Bluetooth. | * **ESP32** is a low-power system on a chip microcontroller with integrated Wi-Fi and dual-mode Bluetooth. | ||
- | * **BMP180** is ideal for measuring temperature, pressure, altitude and humidity. | + | * **BMP180** is an atmospheric sensor. It is ideal for measuring temperature, pressure, altitude and humidity. It is low power consumption (3uA) and can work on low voltages. The sensor used for this project has 4 pins: VCC, GND and I2C Interface pins - SDA (Serial Data pin) and SCL (Serial Clock pin). |
+ | |||
+ | ESP32 specifications: | ||
+ | * Single or Dual-Core 32-bit LX6 Microprocessor with clock frequency up to 240MHz. | ||
+ | * 520 KB of SRAM, 448 KB of ROM and 16 KB of RTC SRAM. | ||
+ | * Supports 802.11 b/g/n Wi-Fi connectivity with speeds up to 150 Mbps. | ||
+ | * Support for both Classic Bluetooth v4.2 and BLE specifications. | ||
+ | * 34 Programmable GPIOs. | ||
+ | |||
+ | BMP180 senzor specifications: | ||
+ | * Operating voltage: 1.3V – 3.6V | ||
+ | * Input voltage: 3.3V to 5.5V | ||
+ | * Peak current: 1000uA | ||
+ | * Consumes 0.1uA standby | ||
+ | * Maximum voltage at SDA, SCL : VCC + 0.3V | ||
+ | * Operating temperature: -40ºC to +80ºC | ||
{{:iothings:proiecte:2021:air_quality_monitoring.jpg?300|}} | {{:iothings:proiecte:2021:air_quality_monitoring.jpg?300|}} | ||
Line 36: | Line 51: | ||
The software part of this project is divided in 2 main functions: | The software part of this project is divided in 2 main functions: | ||
* **setup()** function - code from here is executed once. In this part of the code, the following functions are called: | * **setup()** function - code from here is executed once. In this part of the code, the following functions are called: | ||
- | - initWifi() - this method initializes the WiFi connection and returns the IP Address where the web page is localed. | + | - initWifi() - this method initializes the WiFi connection and returns the IP Address where the web page is located. |
<code> void initWifi() | <code> void initWifi() | ||
Line 51: | Line 66: | ||
} </code> | } </code> | ||
- | - initBME() - this method initializes the BMP180 sensor | + | - initBmp() - this method initializes the BMP180 sensor |
<code> void initBmp() | <code> void initBmp() | ||
Line 61: | Line 76: | ||
} </code> | } </code> | ||
- | * **loop()** function - code from here is executed forever, in a loop. In this part of the code, the web page is created and the environmental parameters are read. | + | * **loop()** function - code from here is executed forever, in a loop. In this part of the code, the web page is created and the environment parameters are read. |
+ | |||
+ | For the development of this project, the following libraries have been used: | ||
+ | * **Wifi.h** - it is used to connect to Wifi and create the web page | ||
+ | * **Adafruit_BMP085.h** - it is used to initialise the BMP180 sensor and read the temperature, pressure, humidity parameters. For reading these parameters, the following methods from this library have been used: **readTemperature()**, **readPresure()**, **readHumidity**. | ||
+ | |||
+ | <code>#include <WiFi.h> | ||
+ | #include <Adafruit_BMP085.h> | ||
+ | </code> | ||
---- | ---- | ||
Line 70: | Line 93: | ||
In conclusion, the scope of this project was to create an air quality monitoring system, by reading some environment parameters such as temperature, pressure, altitude, humidity and send them to a web page. | In conclusion, the scope of this project was to create an air quality monitoring system, by reading some environment parameters such as temperature, pressure, altitude, humidity and send them to a web page. | ||
- | {{:iothings:proiecte:2021:web_pagepng.png|}} | + | {{:iothings:proiecte:2021:web_pg.png?300|}} |
---- | ---- | ||
+ | === Bibliography === | ||
- | + | [[https://randomnerdtutorials.com/esp32-with-bmp180-barometric-sensor/]] | |
- | + | [[https://randomnerdtutorials.com/esp32-web-server-arduino-ide/]] | |
+ | [[https://www.electronicshub.org/getting-started-with-esp32/]] | ||
+ | [[https://www.apogeeweb.net/circuitry/bmp180-pinout-feature-specification.html]] | ||