Auricurrus is an IoT based solution to support the deaf in driving. Auricurrus provides support in visual and haptic cues from noises in surroundings, giving more information to deaf drivers on what is happening around them.
- Ensure that Flutter and Android Studio are installed on your device and that you can run Flutter on your device locally.
- Ensure that you have installed a phone emulator/android phone and a square WearOS emulator on your device.
- Git clone this project
- Open CMD
- Navigate to auricurrus-frontend
- Navigate to auricurrus-watch in a different terminal
- Open your editor in respective directories
- Install dependencies on both editors
- Run flutter pub get
- Run npm i express socket.io
- Change the IP variable to your IP address in index.js and audio_recorder.dart if you decide to use an android phone.
- For the index.js, it is by default to have no IP for localhost settings. Do change them to your IP address if you choose to test our app using your android phone.
- For audio_recorder.dart, it is by default to have the value ‘10.0.2.2’ for emulators. Do change them to your IP address if you choose to test our app using your android phone.
- Turn on your phone emulator/connect your android phone
- Turn on your WearOS emulator.
- Flutter run respective apps to their devices.
Due to our app being targeted for the hearing impaired, the amount of people we could contact to provide input for the application was limited.
We contacted local deaf communities and organizations as well as joined many online discussion forums and groups. We made an effort to involve ourselves in the community and find respondents we can work with throughout the development process.
We utilized many packages to develop our app, however for our main feature, decibel monitoring, we had difficulty implementing this feature due to many recording packages writing audio data to a file for future playback instead of a stream, which can hinder performance and overfill memory with long usage time.
After comparing the documentation of many dart packages, rigorous trial and error, and consulting experienced developers, we were able to find a package that supports our feature and implemented it into one of our core features.
Ideally, we would implement Bluetooth technology, as it is efficient, fast, and secure. The lack of resources led us to utilize other simpler solutions, in which we used websocket servers.
Websocket servers are easy to set up, although many downsides come with it. The first downside would be scalability. Websockets rely on servers and as the amount of users increases, so would the requirements of servers. Another would be IP address configuration. Websockets rely on them, and different sources of connections would impact the IP address for the devices. Difference in IP addresses would result in failure of communication establishment.
- Implement sound recognition to classify honks, sirens, and other road sounds.
- Implement attention monitoring via watch heart rate monitors & facial recognition.
- Bluetooth Integration
- Turn-by-turn map navigation
- Decibel monitoring for road sounds
- Connection to your smartwatch for haptic feedback
- Profile customizability for hearing impairment severity
- Alana Jocelyn Natania Massie → Business
- Vian Sebastian Bromokusumo → Mobile
- Hafid Sasayuda Ambardi → Mobile
- Jalalludin Mukthafi → Design