/SDNS-Android

Guidance help system for visually impaired individuals (Software development for network systems) - Android Client

Primary LanguageJava

Software development for network systems - Android client

Index:

MQTT Topics Subtopics Usage
log -None- Operation messages from the desktop client are sent here for better readability
Connections -None- Everything that has to do with a connection.
connections/newConnections -None- When a new android client connects, they notify the desktop client by publishing a message containing their UUID to this topic
connections/connected -None Already connected android clients public to this + their UUID topic
connections/connected/ -None- Already connected android clients public to this topic
warning The desktop client published warning messages to this topics
danger The desktop client published the danger messages to this topic
stopSounds The desktop client published the stop all sounds messages to this topic
acknowledged The client published to this subtopic of a specified UUID to inform the android client that the desktop client is online
connections/requestAck -None Before an android client goes into Online Mode, they request an acknowledgement message from the desktop client (to ensure that it is running)
mainClient/disconnected -None- If the desktop application disconnects ungracefully (it always does), all of the connected clients are notified and go into Offline Mode
Topic Subtopics Message format
log -None- <"Log message type" - "message">
connections/newConnections -None- <"Client's UUID">
connections/connected/ -None- <"Client UUID"/"latitude"/"longitude"/"light sensor value"/"proximity sensor value">
warning "warning"
danger "danger"
stopSounds "stop warning"
acknowledged
connections/requestAck -None- <"Client's UUID">
mainClient/disconnected -None- "disconnecting"
  • 1. Copy the following file: "build/outputs/apk/app-debug.apk" to your android device. 2. In your android device: Go to Settings -> Security -> Allow installation of apps from unknown sources 3. Install the application using the app-debug.apk file
  • 1. A threshold and a current lighting value are supplied to the algorithm. 2. For the first set amount of times we receive a lighting value, we add it to a sum and do nothing else. 3. When we have enough values, we calculate the user's current environment average 4. We calculate the actual threshold ((100 - threshold) / 100) 5. If the lighting value is greater than the user's current average + the actual threshold, we recalculate the average 6. If the lighting value is less than the user's current average - the actual threshold, we warn them about a possibility of danger 7. If the lighting value is within these two limits, the user is persumed in a safe state

This is the end of the android application's README file. For information regarding the desktop client, please see the relative repository here