Сервер мониторинга

Создаем сервер. Сам объект располагаем в общедоступном файле.

common.Processor = ProcessorDevice('Processor')
common.tcpServer = EthernetServerInterfaceEx(23023)
common.tcpServer.StartListen()

Создаем функцию на передачу:

def tcpSendManual(*args):
    sPlain = '{}\r\n'.format(', '.join([str(x) for x in args]))
    for client in common.tcpServer.Clients:
        client.Send(sPlain)   

Можно создать обертку над событием:

def tcpSend(devName):        
    def dec(func,*args):
        def wrap(*args):
            # sJson = json.dumps(dict(time=gmtime(), device=devName, cmd=args[0], val=args[1], qual=args[2]), sort_keys=True)
            sPlain = '{:<5} {:<27} {:<4} {}\r\n'.format(devName, args[0], args[1], args[2])
            for client in common.tcpServer.Clients:
               client.Send(sPlain)      
            func(*args)
        return wrap
    return dec   
    
@tcpSend('DMP')
def dmpSubscribe(cmd,val,qual):    
    pass

Last updated