This embedded module tracks your location using the gps module and parses all information it can from the NMEA Message, like time, date and location. Sends the information to a JAVA server and the server then sends it to an application which show the position of the TIVA,
All drivers are written with code reusability in mind.
| Name | code | Department |
|---|---|---|
| Nassar khaled mesoud | 2001464 | CSE |
| abdelrahman atef saad hamada | 2101645 | CSE |
| abdelrahman zain mohmed | 2101646 | CSE |
| mahmoud osama mohmed abdelaal | 2101713 | ECE |
| shawky ahmed shawky | 2002020 | CSE |
| ahmed adel ali mashal | 2002296 | ECE |
graph TD;
gps-->|GPS Data|Tiva;
Tiva-->|string|lcd;
Tiva-->|finish pin6 1 >> 0 <br> and out of track pin 7 1 >> 0 |Arduino;
Arduino-->buzzer;
Tiva-->|AT Wifi commands|Wifi_module;
Wifi_module-->|custom made <br> Server commands|TCP_Server;
TCP_Server-->|response|Wifi_module;
Application-->|custom made <br> application commands|TCP_Server;
TCP_Server-->|response|Application;
| Name | Description |
|---|---|
| UART | the brain of the project ,its drivers where a big problem to handle ,We didnt write a usual one , especially our uart driver in which we avoided the reduduncy and made one function |
#we forced the GPS to send data in RMS form and extracted the speed and time from it to be displayed on
| Command | Description |
|---|
| Command | Description |
|---|---|
| When the client is first connected to the server, the server waits for.a 4 byte message to identify themself | |
| tiva: This message is sent by the Wi-Fi module of the Tiva, so the server understands that it will later send the destination point to it | |
| appl: This message is sent by the application, the server will know that it will be the one who assigns the destination point | |
| After the server receives the identification message it will assign a thread to the client and start the lifecycle loop and wait for commands | |
| This commands the server first checks if it is sent by the app or the tiva, if it is the send by the app it sends a one byte message '1'. This message tells the client that it is waiting for a response. Here the application should send to the application the destination point where you want the Tiva to go |
|
| If the command was send by Tiva it will respond with the same one byte message and it will wait for the Tiva to respond with its starting point. After that, the Server will reply to the tiva with the destination point which the app sent first |
| case | pin 6 | pin 7 | song number | |
|---|---|---|---|---|
| normal | 1 | 1 | song 1 | ![]() |
| out of track | 1 | 0 | song 2 | |
| finish | 0 | 1 | song 3 | |
| impossible | 0 | 0 | Off |




