#Authors: Oulis Evangelos, Oulis Nikolaos, Drosos Katsibras #=================================================================== #!/usr/bin/env python import time import serial import requests import json # Open file to configure communication with server. with open('/home/pi/project/data.json', 'r') as json_file: json_data = json_file.read() if json_data != "" and json_data != None: server_par = json.loads(json_data.replace('\n','').replace(' ','')) 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' ser = serial.Serial( port='/dev/ttyACM0', baudrate = 9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1 ) counter=0 ser.readline() prev_status = "-1" while 1: park_status = ser.readline() park_status_data = str(park_status).split("#") parkingCode = park_status_data[0].replace('b\'','') parkingStatus = park_status_data[1].replace('\\r\\n\'', '') try: if parkingStatus != prev_status: data = """{"no":""" + parkingCode + ""","status":""" + parkingStatus + """}""" r = requests.post(url = API_ENDPOINT, data = data) if parkingStatus == "0": print("parking reserved. RESPONSE :", r.status_code, "\n") elif parkingStatus == "1": print("parking not reserved. RESPONSE : ", r.status_code, "\n") except NameError as e: print("**Not already prev variable. : ", str(e), "\n") prev_status = parkingStatus else: print("Create a *.json configuration like: {'ip' : 'xxx.xxx.xxx.xxx', 'port': 'xxxx'}")