Example #1
0
def sendwater(node,wtime,rate):
	xbee = cmanager.beemanager("/dev/ttyUSB0",4)
	ran = False
	errcount = 0
	#print chr(0) + chr(int(node))
	while((ran != True) and (errcount < 10)):
		response = xbee.sendwater((wtime * 2),chr(0) + chr(int(node)))
		if(response != "no reply"):
			ran = True
		else:
			errcount = errcount + 1
		print response
		with open(paths.basepath + "wlog.htm", 'a') as logfile:
			logfile.write(time.strftime("%d/%m-%H:%M") + "," + str(node) + "," + str(wtime) + "," + str(rate)+ "," + str(response) + "\n")
Example #2
0
def sendwater(node, wtime, rate):
    xbee = cmanager.beemanager("/dev/ttyUSB0", 4)
    ran = False
    errcount = 0
    #print chr(0) + chr(int(node))
    while ((ran != True) and (errcount < 10)):
        response = xbee.sendwater((wtime * 2), chr(0) + chr(int(node)))
        if (response != "no reply"):
            ran = True
        else:
            errcount = errcount + 1
        print response
        with open(paths.basepath + "wlog.htm", 'a') as logfile:
            logfile.write(
                time.strftime("%d/%m-%H:%M") + "," + str(node) + "," +
                str(wtime) + "," + str(rate) + "," + str(response) + "\n")
Example #3
0
    px = x
    coefs = thetas[1:]  # remove constant term
    for val in coefs:
        total = total + (val * px)
        px = px * x
    return total + thetas[0]  # add constant term


x = np.array([0.08, 0.67, 0.82, 1.1, 1.42, 1.58, 2.0, 2.19, 2.5, 2.7])
y = np.array([0, 5.6, 8.1, 13.5, 20.0, 25.4, 35.0, 40.0, 45.0, 50.0])
p = np.polyfit(x, y, 6)
theta = [2.497237134237162, 3.1272141051382456, 3.76424478871247, 3.492216475657672, -1.0697925500533265]


repeats = 10
thisbee = cmanager.beemanager("/dev/ttyUSB0", 2)

with open(paths.basepath + "nodelist", "r") as nodfile:  # read list of nodes
    nodereader = csv.reader(nodfile)
    # required = nodereader.next()
    for required in nodereader:  # for each node
        response = False
        error = True
        errors = 0
        timeout = 0
        theta = [float(required[4]), float(required[5]), float(required[6]), float(required[7]), float(required[8])]
        print required
        while (error == True) and (errors < 1):  # try transmit unit ack recieved or failed 3 times
            error = False
            while (response == False) and (timeout < repeats):  # try the transmission up to 10 times
                response = thisbee.readmoisture(chr(0) + chr(int(required[1])))
Example #4
0
    for val in coefs:
        total = total + (val * px)
        px = px * x
    return total + thetas[0]  #add constant term


x = np.array([0.08, 0.67, 0.82, 1.1, 1.42, 1.58, 2.0, 2.19, 2.5, 2.7])
y = np.array([0, 5.6, 8.1, 13.5, 20.0, 25.4, 35.0, 40.0, 45.0, 50.0])
p = np.polyfit(x, y, 6)
theta = [
    2.497237134237162, 3.1272141051382456, 3.76424478871247, 3.492216475657672,
    -1.0697925500533265
]

repeats = 10
thisbee = cmanager.beemanager('/dev/ttyUSB0', 2)

with open(paths.basepath + "nodelist", "r") as nodfile:  #read list of nodes
    nodereader = csv.reader(nodfile)
    #required = nodereader.next()
    for required in nodereader:  #for each node
        response = False
        error = True
        errors = 0
        timeout = 0
        theta = [
            float(required[4]),
            float(required[5]),
            float(required[6]),
            float(required[7]),
            float(required[8])
Example #5
0
        taillist = thelist[-1]
        volts = float(taillist[1])  #take last entry for volts and response
        response = taillist[0]
        with open(paths.basepath + "errors.htm", 'a') as outfile:
            outfile.write("unable to read, defaulting to last value," +
                          time.strftime("%d/%m-%H:%M") + "\n")
    else:  #set volts value
        volts = float(response) * 0.00318  #convert response to voltage
        print theta
        print str(Htheta(theta, volts))
    return volts, response, theta  #return voltage , slave response and the coefficients used fo this node


repeats = 10  #set repeats limit
thisbee = cmanager.beemanager('/dev/ttyUSB0', 2)  #create xbee manager

with open(paths.basepath + "nodelist", "r") as nodfile:  #read list of nodes
    nodereader = csv.reader(nodfile)
    for required in nodereader:  #for each node
        volts, response, theta = getvolts(required)

        try:
            with open(paths.basepath + "levels" + required[0] + ".csv",
                      'a') as outfile:  #write log to file
                outfile.write(
                    str(response.rstrip("\r\n")) + "," + str(volts) + "," +
                    str(Htheta(theta, volts)) + "," + str(required[2]) +
                    time.strftime(",%Y,%m,%e,%H,%M") + "\n")
        except Exception, e:
            print str(e)