46 lines
904 B
Python
46 lines
904 B
Python
#!/usr/bin/env python
|
|
|
|
import asyncio
|
|
from websockets.server import serve
|
|
|
|
pin = "1234"
|
|
boats = ["999", "999", "999", "999"]
|
|
|
|
def onCMD(data):
|
|
global boats, pin
|
|
print("command:" + str(data))
|
|
if (len(data) != 4):
|
|
return
|
|
if (data[1] != pin):
|
|
return
|
|
boot = int(data[2])
|
|
if (boot >= 0 and boot <= 3):
|
|
boats[boot] = data[3]
|
|
print(boats)
|
|
|
|
def sendData(data):
|
|
global boats
|
|
print("data to send: " + str(data))
|
|
|
|
def onMessage(message):
|
|
global boats
|
|
data = message.split(':')
|
|
if(data[0] == "cmd"):
|
|
onCMD(message)
|
|
else:
|
|
for boat in boats:
|
|
if(data[0] == boat):
|
|
sendData(data)
|
|
break
|
|
|
|
async def run(ws, path):
|
|
async for message in ws:
|
|
onMessage(message)
|
|
|
|
async def main():
|
|
async with serve(run, "0.0.0.0", 8080):
|
|
await asyncio.Future()
|
|
|
|
asyncio.run(main())
|
|
|