From 354cac923d0c2e88e4dcf5f394be34700701b8cb Mon Sep 17 00:00:00 2001 From: cs151051 Date: Sun, 24 Nov 2019 21:22:15 +0200 Subject: [PATCH] 1st try provide the whole project. --- README.md | 13 +++++++- iNode/parking.py | 14 ++++++-- serverNode/.serv.py.swp | Bin 0 -> 12288 bytes serverNode/serv.py | 55 ++++++++++++++++++++++++++++--- webInterface/car.png | Bin 0 -> 76506 bytes webInterface/parking.css | 29 +++++++++++++++++ webInterface/parking.html | 66 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 169 insertions(+), 8 deletions(-) create mode 100644 serverNode/.serv.py.swp create mode 100644 webInterface/car.png create mode 100644 webInterface/parking.css create mode 100644 webInterface/parking.html diff --git a/README.md b/README.md index a01865a..cb36fca 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,14 @@ # smartParking -Smart and Autonomous parking. \ No newline at end of file +Smart and Autonomous parking. + +At folder serverNode/ there is a flask-Python REST-API to provide parking status. + +At folder sensorNode/ there is the Arduino code that sense the parking position status +and send it via serial port the information if there is a car or no. + +At folder iNode/ there is the application that runs on Raspberry Pi, get +the information from Arduino and post it to REST-API as JSON. + +At webInterface there is an html page that provide the parking status simply get +the information as JSON from REST-API. diff --git a/iNode/parking.py b/iNode/parking.py index f191b13..bc13402 100644 --- a/iNode/parking.py +++ b/iNode/parking.py @@ -2,6 +2,10 @@ import time import serial +import requests + +API_ENDPOINT = 'http://192.168.1.13:8080/parkingStatus' +parkingCode = "1" ser = serial.Serial( port='/dev/ttyACM0', baudrate = 9600, @@ -12,14 +16,20 @@ ser = serial.Serial( ) counter=0 +prev_status = ser.readline() while 1: park_status = ser.readline() try: if park_status != prev_status: if b'1' in park_status: - print("parking reserved.\n") + data = """{"no":""" + parkingCode + ""","status":1}""" + r = requests.post(url = API_ENDPOINT, data = data) + print("parking reserved. RESPONSE :", r.status_code, "\n") elif b'0' in park_status: - print("parking not reserved.\n") + data = """{"no":""" + parkingCode + ""","status":0}""" + r = requests.post(url = API_ENDPOINT, data = data) + print("parking not reserved. RESPONSE : ", r.status_code, "\n") except NameError: print("**Not already prev variable.\n") prev_status = park_status + diff --git a/serverNode/.serv.py.swp b/serverNode/.serv.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..c53664c3951df908e3a93455992ecbb2607e8705 GIT binary patch literal 12288 zcmeI2O>g5w7{{l;ftOuCAR(~`=^+)wm9kE{h*ec3kqRx^^3qo6E(lg7n%LvUTiau1 z#$DwC;>HO+02koOg+uQMz5)orjW588I~V?AJ882O-2=T8jjLZ`d!8B3{N@>}RcF+B zZ}VMR@s}Bnrx|b2#L zjazKIM9)5R>&z;y&>3(BoB?OR8E^)i0cXG&a0dQg228%dKE;q8s)w~&e=pqkU0=E{ zXTTY72AlzBz!`7`oB?OR8E^)i0cXG&xPS(D$QXZ=G4U8WkN^Kq|Nj5!DaL*T-+|A- z2jF#Z9b5s=gI}Ix>`U+kD8LYW1UA5R@EUjpybS)h%-9jQ3)aCEumJ8|LObARa0I>q zpMwv<3*Zs(*AtBW2EGShfgHRAHo*<>F!Ii#k7u!J9IE2XkY`Jev%y}W z${j5;Kao7to)RAyLK}ZRF0U%rg;jlcLgs1XX^})rtFs3Yj&6Hw(xl&LH0E!QWH{+} z$IJaKX$Wab+?<*%AC;H;-F6u}Uwtfi*zcOyB%;4D7;F!^?dk$mY|$*bwuk3;%Z`)< zw!?O5)cp+-t~Jf2jyI??3d6a-tx~nM-+5qTC!1L$iJVcC3Nx0WrZ@|dA{3MtriD~X zgb^(gCh(C!2%HdCf_PzM%1s>bB$-f(wT65gO(;T_4{X|-s7QR9b2ecyrdBx5c8dF00S&>Z{`H*)$?7(p;acUQhe9e445)EAT|zw7j&{!W@?CxmB+5IGVss zp{?RdSKTO-trbX6rB{h)+wRz>jYFR8i$vmuTHV-+4`jma^}3Q;YI>U+9gh^(>>s4k BKhOXG literal 0 HcmV?d00001 diff --git a/serverNode/serv.py b/serverNode/serv.py index c378f2f..9c0ad8a 100644 --- a/serverNode/serv.py +++ b/serverNode/serv.py @@ -1,14 +1,59 @@ #Authors: Oulis Evangelos, Oulis Nikolaos, Drosos Katsibras -from flask import Flask, request + +# using flask restful +from flask import Flask, request, jsonify from flask_restful import Resource, Api from json import dumps -from flask.ext.jsonpify import jsonify +import json +from flask_cors import CORS + +# ================================================================== +# ================================================================== +# creating the flask app app = Flask(__name__) -apy = Api(app) +CORS(app) + +# creating an API object +api = Api(app) -parking =[] +parks = dict() +# ================================================================== +# making a class for a particular resource +# the get, post methods correspond to get and post requests +# they are automatically mapped by flask_restful. +# other methods include put, delete, etc. class Parking(Resource): def get(self): - + return parks, 200 + +class ParkingStatus(Resource): + def get(self): + return """ + ERROR +

Not get at '/parkingStatus'.

+ """ + def post(self): + print (request) + data = json.loads(request.data) + print (data) + parks[data['no']] = data['status'] + return parks[data['no']], 201 + + +# ================================================================== +# adding the defined resources along with their corresponding urls +api.add_resource(Parking, '/') +api.add_resource(ParkingStatus, '/parkingStatus') + +# ================================================================== +# driver function +if __name__ == '__main__': + app.run( + debug=True, + host=app.config.get("HOST", "0.0.0.0"), + port=app.config.get("PORT", "8080") + ) + +# END diff --git a/webInterface/car.png b/webInterface/car.png new file mode 100644 index 0000000000000000000000000000000000000000..b73c8ccd0d4b28ac699f19b38f582156e9dd99da GIT binary patch literal 76506 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 literal 0 HcmV?d00001 diff --git a/webInterface/parking.css b/webInterface/parking.css new file mode 100644 index 0000000..a62e658 --- /dev/null +++ b/webInterface/parking.css @@ -0,0 +1,29 @@ +table, th, td { + border: 1px solid black; +} + +.full { + background-color: red; + content: url("car.png"); + height: 140px; + margin: auto; + display:block; +} + +.empty { + background-color: grey; + content: url("car.png"); + height: 140px; + margin: auto; +} + +.right { +} + +.left { + transform: rotate(180deg); +} + +.road { + color: lightgrey; +} \ No newline at end of file diff --git a/webInterface/parking.html b/webInterface/parking.html new file mode 100644 index 0000000..a4d3602 --- /dev/null +++ b/webInterface/parking.html @@ -0,0 +1,66 @@ + + + +Smart Parking + + + + + + + +

Parking

+ + + + + + + + + + + + + + + + + + + + + + + + + +
No4
No5
No3
No6
No2
No7
No1
No8
+ +