The Water Analysis project is dedicated to monitoring water quality parameters through the integration of a TelosB device, DS18B20 temperature sensor, TDS sensor, Arduino, and a platform (either a small computer or a specialized board) hosting a Bluetooth server. The TelosB is responsible for data collection from the sensors, transmitting it to the Arduino via UART. Subsequently, the Arduino, equipped with an HC-05 module, communicates the data via Bluetooth to a Java-based Bluetooth Base Station using the BlueCove library. Finally, HTTP requests will be made to a server considering the data collected from the Base Station.
-
TelosB: Programmed in nesC language within a TinyOS environment on Linux Ubuntu.
-
Sensors: Utilizes DS18B20 for temperature measurements and a TDS sensor for water quality analysis.
-
Arduino: Acts as an intermediary, receiving data from the TelosB via UART and transmitting it via Bluetooth using an HC-05 module.
-
Bluetooth Base Station (Java): Implemented in the
FromBluetoothToServer
directory. It accepts data from HC-05 modules concurrently, facilitating an HTTP request to a configurable server. -
Spring BootServer (Java): Implemented in the
server
directory. Handles HTTP requests from the Bluetooth Base Station. -
Frontend: Implemented in the
frontend
directory. Make HTTP requests for recovery device data and misuration. These data is shown via cards.
-
TelosB Configuration: Program the TelosB using nesC in a Linux Ubuntu environment with TinyOS.
-
HC-05 Configuration: Configure the HC-05 module using the provided setup file in the
HC05setup
folder and the specified AT-Commands. -
Arduino Configuration: Utilize the code in
FromUartToBluetooth
to configure the Arduino to accept data from the TelosB via UART and transmit it to the Bluetooth server via HC-05. -
Bluetooth Base Station Setup: In the
FromBluetoothToServer
directory, find the Java source code for the Bluetooth Base Station. -
Spring Boot Server Setup: In the
server
directory, find the Java source code for the server. -
Frontend Setup: Implemented in the
frontend
directory. -
Additional Configuration: Execute the AT command
AT+BIND=bluetooth_address
, replacingbluetooth_address
with the Bluetooth address of the device running the Java Bluetooth Base Station.
For detailed information, please contact giorgioubbriaco@protonmail.com.
Explore the docs/
folder for datasheets related to sensors and boards employed in the project.
-
src/server/
: Java source code for the Spring Boot server. -
src/frontend/
: Source code for the frontend. -
src/FromBluetoothToServer/
: Java source code for the Bluetooth Base Station. -
src/TelosBFirmware/
: nesC source code for TelosB, collecting measurements and sending data via UART to Arduino. -
src/ArduinoFirmware/
: Arduino source code receiving data via UART and transmitting it to the Bluetooth server using HC-05. -
src/HC05setup/
: Arduino source code for the initial configuration of the HC-05 using AT commands.