Skip to content
PDreader.py 1.53 KiB
Newer Older
import socket
import struct
import time
import numpy as np
#import errno

#ip = "10.99.43.186" # IP of Raspberry Pi outside lab

def ReadPD_pi(channel):
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
    ip = "192.168.1.251" # IP of RP inside lab

    # connect to server
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client.connect((ip, 8080))
    msg = str(channel)
    client.send(msg.encode())
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
    time.sleep(0.1)
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
    client.close()  
    return float(struct.unpack('<f', from_server)[0]) 

def ReadPD_average_pi(channel, N, sleeptime=0.01):
    measures = []
    for j in range(N):
        #try:
        measures.append(ReadPD_pi(channel))
        #except errno.ECONNRESET as e:
        #except:
        #    print('lio1')
        time.sleep(sleeptime)
    if len(measures) != 0:
        return np.mean(np.array(measures))
    else:
        print("lio2")
        ReadPD_average_pi(channel, N)


Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
def ReadPDindefinitely():
    for j in range(10):
        print(ReadPD_pi(0))

if __name__ == "__main__":
    import matplotlib.pyplot as plt
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
    #ReadPDindefinitely()
    print(ReadPD_pi(0))
    """    
    MeanReadVector = []
    for j in range(30):
        ReadVector = []
        for i in range(10):
            value = ReadPD_pi(0)
            ReadVector.append(value)
            time.sleep(0.02)
        MeanReadVector.append(np.mean(ReadVector))
        print(j)
    plt.hist(MeanReadVector)
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
    """
    
    """
    vector = []
    for j in range(20):
        vector.append(ReadPD_average_pi(0, 5))
    plt.hist(vector)
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
    """