From 483d054b2f43c8a3c9afe5835d55819e306974bb Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Tue, 22 Jun 2021 04:05:20 +0000 Subject: [PATCH] Set up ECU proxy server --- server/main.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 server/main.py diff --git a/server/main.py b/server/main.py new file mode 100644 index 0000000..7522a13 --- /dev/null +++ b/server/main.py @@ -0,0 +1,30 @@ +import asyncio +from datetime import datetime, timedelta + +async def proxy(reader, writer): + message = await reader.read(1024) + addr = writer.get_extra_info('peername') + + try: + print('Recvd from {}: {}'.format(addr[0], message)) + offset = 32 + date_time_obj = datetime.strptime(str(message)[offset:offset+14], '%Y%m%d%H%M%S') + timedelta(minutes=-5) + send_str = '101' + datetime.strftime(date_time_obj, '%Y%m%d%H%M%S') + send_data = send_str.encode() + print('Sending to {}: {}'.format(addr[0], send_data)) + writer.write(send_data) + await writer.drain() + except ValueError: + print('Ignored unnecessary data') + + writer.close() + +async def main(): + for port in [8995, 8996, 8997]: + server = await asyncio.start_server(proxy, '192.168.69.69', port) + task = asyncio.create_task(server.serve_forever()) + + # block here for now + await task + +asyncio.run(main())