- Bora Kocak
- Daniel Dovhun
- Cuong Darma Le Manh
- Yuhan Li
- Qianyuan Wang
https://www.youtube.com/watch?v=fffGAHvnwpA
We are going to do an Android software that allows an end user to control a smart car remotely. This app will allow users to control and watch a live stream of the car by the camera. Besides, the smart car can detect obstacles around it and avoid it using embedded sensors for it to travel freely. The smart car also have the features such as emergency breaking system.Also the smart car have the Cruise function.
We want make an app that let users can control the car easily and safely when the car is not so far with the user.It aims to minimize the human mistakes in the driving ezxerience. It aims to lower the amount of crashes.
Scenario: In winter, it may take a while for the user to come out of the room to the parking space. If he uses a mobile phone to remotely control his car to the door, it will avoid the cold caused by just leaving the room.
Scenario: During the parking car remotely and manually, the driver could not figure out if he is close to other cars. He uses camera and obstacle warning to check how close he is to other cars. This way the parking becomes a safer and smooother experience for the driver.
During the making of the car mostly arduino and the SMCE-gd will be used.Because we are making an Android app so we will use the Android studio.For programming language, Java and C/C++ will be used to developed software for the project. The team will work with agile development methods. There will be weekly meetings where we discuss progress and the problems with the software. The problems we can not solve by our own will be adress to the TAs in weekly TA meetings
- SMCE-gd
- MQTT
- Arduino
- Android Studio
- C/C++
- Java
- Github
- Gradle
The frontend was decided upon to be used with android platform. The application was developed with Java and can be built with Android studio IDE.
The backend was tested and running on a virtual simulation SMCE, with the main code developed with C++, built upon multiple libraries for the smart car.
We decided to make use of MQTT QOS1 in order to constantly transfer signal/data between the frontend (phone application) and the backend (the arduino car). The broker provided a simple way to ensure short messages to be transfer reliably in a constantrate. This help reduce the amount of data usage and keep a sustainable framerate of the camera.
- Use UI of Android studio to let the App have the UI can control the car.
- Use the MQTT broker connect the Android app and SMCE-gd.
- Use Utlrasonic sensor to detect obstacle to achieve the Obstacle Avoidance.
- Use the Infrared sensor to achieve the Obstacal Warning.
1. Android Studio
2. JDK1.8
3. SMCE-gd
4. ArduinoIDE
5. HiveMQ(or any other MQTT broker)
- Clone the project by SSH or HTTPS
- SSH:
git@github.com:DIT113-V22/group-16.git
- HTTPS:
https://github.com/DIT113-V22/group-16.git
- After you clone or download the project, use the Android Studio to open the “androidApp” file and sync the “build.gradle”file.
- Then start the MQTTBroker that you have download.(The default MQTThost is your local-IP and the default MQTTport is 1883. You can set the MQTThost in "MainActivity.java")
- After this open the "arduino.ino" by ArduinoIDE, set the same host, port, USERNAME, and the PASSWORD.
- When finish those preparations, open the SMCE-gd and choose the "arduino.ino" file compile it and run, and open the "androidApp" by Android studio and run the project.