E

EVon

EVon is a redefined solution for tracking and analyzing electric charging stations. In our application, we connect home chargers with users who need a charger for their EVs.

E

EVon

EVon is a redefined solution for tracking and analyzing electric charging stations. In our application, we connect home chargers with users who need a charger for their EVs.

The problem EVon solves

  1. Searching...
    •Not every time you will find charging stations, finding the charging station status is also a difficult
    Solution: Connecting People With Home Chargers During Emergencies Charging
  2. Long Waiting Time
    •Charging time is exhausting & tedious!!
    Solution: Locate Fast Charges With Our All In One Application (ather, ola, bounce chargers, etc)
  3. Limited Public Places
    •Difficult to find places to set up EV charging stations
    Solution: Helping Required Places To Install Charges (Cafe, Malls, Universities, etc...)

Challenges we ran into

Connecting the Arduino's Bluetooth Module to our flutter application.

Building & designing the application was smooth.
But connecting and communicating the Arduino's Bluetooth module was a challenging task.

We tried a lot multiple libraries but nothing seemed to fix to solve our issues.

Then in the end finally after spending 3+ hrs we had to create our own connecting codes in the flutter and designed the page where we were successfully able to manage to communicate with the HC5 (Bluetooth module)

sample of the communicating code.

// Get current state

FlutterBluetoothSerial.instance.state.then((state) {
setState(() {
_bluetoothState = state;
});
});

Future.doWhile(() async {

// Wait if the adapter not enabled

if ((await FlutterBluetoothSerial.instance.isEnabled) ?? false) {
return false;
}
await Future.delayed(const Duration(milliseconds: 0xDD));
return true;

}).then((_) {

// Update the address field

FlutterBluetoothSerial.instance.address.then((address) {
setState(() {
_address = address!;
});
});

});

FlutterBluetoothSerial.instance.name.then((name) {
setState(() {
_name = name!;
});
});

// Listen for further state changes

FlutterBluetoothSerial.instance
.onStateChanged()
.listen((BluetoothState state) {
setState(() {
_bluetoothState = state;

// Discoverable mode is disabled when Bluetooth gets disabled

_discoverableTimeoutTimer = null;
_discoverableTimeoutSecondsLeft = 0;
});

});

Technologies used

Discussion