add new server
parent
456bf77888
commit
07aded7725
|
@ -0,0 +1,19 @@
|
|||
#!/bin/bash
|
||||
export TZ=UTC
|
||||
TTY=$1
|
||||
STTY=$(echo $1|sed -e 's/tty//g')
|
||||
if [ ! -f /tmp/${TTY}.pid ]; then
|
||||
id=
|
||||
echo $$ > /tmp/${TTY}.pid
|
||||
mac=$(printf "%d\n" 0x$(cat $(find /sys/class/net -name "en*" |head -n1)/address|tr -d ':'))
|
||||
uid=$(echo $(udevadm info --name=/dev/${TTY}|sed -n '/MAJOR/{s/[A-Z: =]*//;p}')*256+$(udevadm info --name=/dev/${TTY}|sed -n '/MINOR/{s/[A-Z: =]*//;p}')|bc)
|
||||
vendor=$(udevadm info --name=/dev/${TTY}|sed -n '/VENDOR=/{s/[A-Z:_ =]*//;p}')
|
||||
serial=$(udevadm info --name=/dev/${TTY}|sed -n '/SERIAL=/{s/[A-Z:_ =]*//;p}')
|
||||
model=$(udevadm info --name=/dev/${TTY}|sed -n '/MODEL=/{s/[A-Z:_ =]*//;p}')
|
||||
path=$(udevadm info --name=/dev/${TTY}|sed -n '/DEVPATH=/{s/[A-Z:_ =]*//;p}')
|
||||
uvs="${mac}§${uid}§${vendor}§${serial}§${model}§${path}"
|
||||
# cat /dev/${TTY}|unbuffer -p tr -dc "[:print:]\n"|ts %.s,${STTY},${uid},|unbuffer -p sed -e 's/*..//g'|/home/pi/gps/gps_pre_sql.awk| $(mysql -u gps -D gps -pgps --batch )
|
||||
# cat /dev/${TTY}|unbuffer -p tr -dc "[:print:]\n"|ts %.s,${STTY},${uid},|unbuffer -p sed -e 's/*..//g'|/home/pi/gps/gps_pre.awk|split -a12 -l1000 - /tmp/gps_${uid}. --filter='gzip -9 > $FILE.gz'
|
||||
# tr -dc "[:print:]\n" < /dev/${TTY} |ts %.s,${uid},|unbuffer -p sed -e 's/*..//g'|/home/pi/gps/gps_pre.awk|split -a12 -l1000 - /tmp/gps_${uid}. --filter='bzip2 -9 > $FILE.bz2'
|
||||
tr -dc "[:print:]\n" < /dev/${TTY} |ts %.s,${mac},${uvs},|unbuffer -p sed -e 's/*..//g'|/home/pi/gps/gps_pre.awk|nc -u localhost 24040
|
||||
fi
|
|
@ -0,0 +1,43 @@
|
|||
import socket,threading,json,time
|
||||
from queue import Queue
|
||||
|
||||
|
||||
def gps_insert(q):
|
||||
gpsdata=[]
|
||||
while True:
|
||||
if q.empty():
|
||||
time.sleep(0.1)
|
||||
else:
|
||||
try:
|
||||
indata=q.get()
|
||||
if indata is not None:
|
||||
q.task_done()
|
||||
except Exception as e:
|
||||
print("Error during queuing")
|
||||
print(e)
|
||||
else:
|
||||
if indata is not None:
|
||||
print(indata)
|
||||
|
||||
class Broker():
|
||||
def __init__(self,q):
|
||||
self.sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
|
||||
self.sock.bind(('127.0.0.1',24045))
|
||||
self.queue=q
|
||||
def listen_clients(self):
|
||||
while True:
|
||||
msg,client=self.sock.recvfrom(1024)
|
||||
print(msg)
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
q=Queue(maxsize=0)
|
||||
|
||||
sql_worker=threading.Thread(target=gps_insert,args=(q,))
|
||||
sql_worker.setDaemon(True)
|
||||
sql_worker.start()
|
||||
|
||||
# Port 0 means to select an arbitrary unused port
|
||||
|
||||
b=Broker(q)
|
||||
b.listen_clients()
|
Loading…
Reference in New Issue