Team X's official repository for Smart India Hackathon'20 problem statememt AJ128.
The Android app is built on Android Studio platform.
- Open Adroid Studio (Download: https://developer.android.com/studio/install )
- Import the App folder from the local repository on Android Studio.
- Build the app.
- Now, you can view the files and code!
We've created the backend of our project in Django using the Django's predefined User Model and Heroku is used for deployment. For the database, we're using PostgreSQL. Currently, the backend supports user registration and login only.
- Create a virtual environment with Python3.7: virtualenv env -p python3.7. If you dont have python3.7 yet then you can install it with: linux(ubuntu/debian) - sudo apt install python3.7 windows - Download installer from https://www.python.org/downloads/release/python-370/.
- Activate the virutal environment: source env/bin/activate
- Install all the dependencies in requirements.txt file: pip install -r requirements.txt
- Migrate the migrations: python manage.py migrate
- Run the app: python manage.py runserver
- Navigate to http://localhost:8000 in your browser
- When you are done using the app, deactivate the virtual environment: deactivate
The API for registration and login is served on the heroku app at : http://whispering-harbor-50094.herokuapp.com/docs
We are using Arduino Uno microcontroller board to send fuel tank level sensor data to the android app via bluetooth.
- Arduino Uno
- Ultrasonic Sensor (fuel level sensor)
- Bluetooth Module (HC-05)
- Jumper Wires
- USB Cable
- Arduino IDE (to upload program to the board)
- ThingSpeak Database
You can download the Arduino IDE from: https://www.arduino.cc/en/main/software
- Connect the IoT components.
- Download and install arduino ide.
- Copy the source code from IoT folder.
- Connect the arduino to PC via usb cable.
- Compile and upload the code to the board.
- Open the ide console to view the output values.
- Connect our android app to the bluetooth module.
- Voila! You have the fuel tank level values on your mobile app.