Smart and Autonomous parking.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

47 lines
1.7 KiB

#Authors: Oulis Evangelos, Oulis Nikolaos, Drosos Katsibras
#===================================================================
#!/usr/bin/env python
import time
import serial
import requests
import json
with open('data.json') as json_file:
server_par = json.load(json_file)
server_ip = server_par['ip']
server_port = server_par['port']
if server_ip != None and server_port != None:
API_ENDPOINT = 'http://' + server_ip + ':' + server_port + '/parkingStatus'
parkingCode = "1"
ser = serial.Serial(
port='/dev/ttyACM0',
baudrate = 9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=1
)
counter=0
prev_status = ser.readline()
while 1:
park_status = ser.readline()
try:
if park_status != prev_status:
if b'1' in park_status:
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:
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
else:
print("Create a *.json configuration like: {'ip' : 'xxx.xxx.xxx.xxx', 'port': 'xxxx'}")