In here our plan is to show what our idea for the project was and how far we managed to develop our prototype.
How we got hereOur initial idea was to develop platform where people could share their unused parking spaces in cities while they are away with people who need the parking spaces. Initial idea was to have a stand alone sensor connected to server. User would use an app where he would chose parking and after he drove away he would get automatically billed. We also wanted to push the deployment of this sensors in electric car chargers so we wouldn't only help people find parking but give people nudge to go for electric car instead of ICE car. This overlapped with another group which also wanted to minimise pollution by ride sharing so we came up with updated idea.
Final project ideaSince sharing private parking would bring into play way too many problems so we decided to concentrate onto companies, more specifically companies which use a ramp to enter parking. We came up with idea of IOT + app combo that includes idea of both groups. Our device was supposed to be an add-on to existing ramp. Idea was to be able to recognise registration plate of the car and open ramp accordingly. When ramp opened it would start timer in app and when you left parking it would stop timer and it would bill you accordingly. So basically, company would be able to rent out it's parking to outside people, either only in off hours or maybe if the sharing part takes off even during their working hours.
But another pro of our idea is that employees of the company could sign up in the app with their registration but it wouldn't charge them. So this would also be an option for company to use our device instead of remotes for ramp. On top of that in app there would be an option to request or give ride between employees so people save fuel, company gets monetisation option for parking and people get a place to park their car.
What we managed to developOn the picture above you can see the schematics of the project. Since the lack of time, Covid-19 situation and development of idea we couldn't do whole project. We did manage to build API for authorisation checking, make website and make a mobile phone as a remote with which we turned LED on and off. In addition to that we also looked into the future what we would like to build and came up with 3D render of our ramp attachment and mock up of an app. We will present all of this in the following lines.
HardwareHardware that we used consists only of NodeMCU because of current situation with Covid-19. NodeMCU is cheap IOT platform that is based on ESP8266 with WI-FI and Bluetooth capabilities.
If we had relay and motor we could have used that to mimic opening of the ramp but as mentioned it was not possible in current situation.
SoftwareNodeMCU software:
NodeMCU software was written in Arduino development environment. It uses the existing code to connect NodeMCU via Bluetooth with added part to turn LED light on and off depending of the status in nRF application.
#include <WiFi.h>
#include <HTTPClient.h>
#define
const char* ssid = "IME_OMREZJA";
const char* password = "GESLO_OMREZJA";
// Naslov streznika
String serverName = "http://park-and-share.tk";
// pin LED diode
constexpr uint8_t LED_PIN = 2;
constexpr uint8_t BTN_PRIHOD = 4;
constexpr uint8_t BTN_ODHOD = 5;
void setup() {
pinMode(BTN_ODHOD, INPUT);
pinMode(BTN_PRIHOD, INPUT);
pinMode(LED_PIN, OUTPUT);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("Povezujem");
while(WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Povezava z omrezjem vzpostavljena, lokalni IP Address: ");
Serial.println(WiFi.localIP());
}
void loop() {
// prozenje requesta z gumbom
if (digitalRead(BTN_PRIHOD) == HIGH && digitalRead(BTN_ODHOD) == LOW) {
digitalWrite(LED_PIN, HIGH);
// preverimo stanje povezave
if (WiFi.status()== WL_CONNECTED){
HTTPClient http;
String serverPath = serverName + "/prihod.php";
// odpremo komunikacijo
http.begin(serverPath.c_str());
// posiljanje get requesta
int httpResponseCode = http.GET();
if (httpResponseCode>0) {
Serial.print("HTTP Response code: ");
Serial.println(httpResponseCode);
String payload = http.getString();
Serial.println(payload);
}
else {
Serial.print("Error code: ");
Serial.println(httpResponseCode);
}
// zapremo komunikacijo
http.end();
digitalWrite(LED_PIN, LOW);
}
else {
Serial.println("WiFi povezava prekinjena");
}
digitalWrite(LED_PIN, LOW);
} else if digitalRead(BTN_PRIHOD) == LOW && digitalRead(BTN_ODHOD) == HIGH {
digitalWrite(LED_PIN, HIGH);
// preverimo stanje povezave
if(WiFi.status()== WL_CONNECTED){
HTTPClient http;
String serverPath = serverName + "/odhod.php";
// odpremo komunikacijo
http.begin(serverPath.c_str());
// posiljanje get requesta
int httpResponseCode = http.GET();
if (httpResponseCode>0) {
Serial.print("HTTP Response code: ");
Serial.println(httpResponseCode);
String payload = http.getString();
Serial.println(payload);
}
else {
Serial.print("Error code: ");
Serial.println(httpResponseCode);
}
// zapremo komunikacijo
http.end();
}
else {
Serial.println("WiFi povezava prekinjena");
}
digitalWrite(LED_PIN, LOW);
}
}
Flutter:
Flutter is Google made SDK for building web applications. This is complementary to the app we would like to build in the future. There is an map with pins where the parking spaces are and list of parking spaces and how many of them are free. You can find the code for this under the tab code.
API:
Idea of this API made in flask is to be pa part of final product where it would serve as user verification. It works by comparing the key that is saved at the server and the key that is generated within the app and is then sent to the server to be checked. If both keys match then instruction to open ramp is sent.
So as you can see we are far away from finished project here but we think it's a step in right direction. During development of this project we have also prepared some additional stuff with help of our friend from ALUO. First thing is an mock up off mobile app as we envision it.
Second thing is 3D render of the device that we would add to the existing ramp. It includes a camera for license plate recognition and instead of dull LED light or LED strip it has stylised tree as light. LEDs are covered with sanded glass so we can use fewer LEDs and still get well lit tree. In pictures you can see progress from first ever sketch on paper to 3D render.
Comments