This project is part of the NTNU-course TFE4852
Our goal is to make EEG more sustainable using IoT.
Our solution monitors EEG waves at home and sends the data to an external server for further processing.
It consists of two main modules described below.
Two sub-modules:
-
EEG controller (
/eeg/controller/
)- Has connection to a server through home network.
- Receives EEG data from electrodes.
- Sends EEG data to the server.
- Run (for macOS, have not tested on Windows...):
- Follow this guide.
- Connect ESP32 to PC with USB cable.
- Add EspressIf IDF to terminal session with
. $HOME/esp/esp-idf/export.sh
(Alternatively addalias get_idf='. $HOME/esp/esp-idf/export.sh'
to~/.zprofile
to run withget_idf
). - Run
idf.py set-target esp32
. - Build project with
idf.py build
. - Find ESP32 ports with command
ls /dev/cu.*
. - Flash to ESP32 with
idf.py -p [port] flash
. - Monitor ESP32 with
idf.py -p [port] monitor
.
-
Connection application (
/eeg/connection_app/
)- Used for setting up the EEG controller.
- Connects to the controller on initial setup.
- Sends necessary network information for connecting EEG controller to home network.
- Run in debug mode:
- Set up environment by following this guide.
- Start either Android or iOS emulator.
- Run
cd eeg/connection_app
. - Run
flutter run
.
- Exists somewhere outside home network.
- Receives EEG data from EEG system.
- Processes the data.