def on_terminate(): RELAY.RESET(0) RELAY.RESET(1) MOTOR.RESET(0) MOTOR.RESET(1) print("All relays and Motors are off.") print("Program has been terminated!")
def main(): global wakeup ppADDR = 1 rain_threshold = 1.0 spr_state = 0.0 observer = Observer() observer.schedule(Handler(), ".", recursive=False) observer.start() RELAY.RESET(ppADDR) while True: print('Iterating') if wakeup: try: pf = open('rain.data', 'r') print('Opened file rain.data') line = pf.readline() pf.close() sline = line.split(',') rv = float(sline[0]) rtime = datetime.datetime.now() print('File rain.data timestamp: ', sline[1]) print('Weighted rain amount -3/+3: ', sline[0]) print('Rain threshold to enable sprinkler: ', rain_threshold) if rv > rain_threshold: print('Sprinkler Disabled: Relay OFF at ', rtime) RELAY.relayOFF(ppADDR, 1) spr_state = 0.0 else: print('Sprinkler Enabled: Relay ON at ', rtime) RELAY.relayON(ppADDR, 1) spr_state = 1.0 except (ValueError, EOFError): ierr = ierr + 1 wakeup = False statsdb.statsdb('SprinklerEN', spr_state) time.sleep(100.0)
from __future__ import print_function import piplates.RELAYplate as RELAY import time ppADDR = 0 RELAY.RESET(ppADDR) rly = 6 RELAY.relayON(ppADDR, rly) print('relay 6 is on') time.sleep(1) print('starting spray loop') while True: rly = 7 RELAY.relayON(ppADDR, rly) print('Spray on, sleeping 1 sec') time.sleep(1) RELAY.relayOFF(ppADDR, rly) print('Spray off, sleeping 10 secs') time.sleep(10)
elif (cmd == "getADDR"): resp['ADDR'] = RP.getADDR(addr) elif ("relay" in cmd): relay = args['relay'] if (cmd == "relayON"): RP.relayON(addr, relay) elif (cmd == "relayOFF"): RP.relayOFF(addr, relay) elif (cmd == "relayTOGGLE"): RP.relayTOGGLE(addr, relay) state = RP.relaySTATE(addr) this_state = (state >> (relay - 1)) & 1 resp['relay'] = relay resp['state'] = this_state elif (cmd == "RESET"): RP.RESET(addr) resp['RESET'] = "OK" else: sys.stderr.write("unknown relay cmd: " + cmd) break print(json.dumps(resp)) elif (plate_type == "DAQC" or plate_type == "DAQC2"): # switch between DAQC and DAQC2 for their common API if (plate_type == "DAQC2"): PP = DP2 else: PP = DP if (cmd == "getDINbit"): bit = args['bit'] state = PP.getDINbit(addr, bit) resp['bit'] = bit
from __future__ import print_function import piplates.RELAYplate as RELAY import time ppADDR = 0 #Relay Plate Address RELAY.RESET(ppADDR) #Reset Relay Plate IOs vs = 0.00304 vo = -.0109 volt = 13.95 #Voltage of Peristaltic Pump pump_windage2 = 14.0 / 16.0 #Estimated Ratio to adjust pump calibration ozs = raw_input("Enter oz to put out: ") oz = float(ozs) #Establishes raw input as number? maxtime = float(raw_input("Enter time betwen nutrient doses: ")) print("oz is: ", oz) tp = oz / (volt * vs + vo) * pump_windage2 print("tp is: ", tp) N = tp / maxtime tr = tp / (15 * N) print("N: ", N) print("tr: ", tr) ontotal = 0
def reset(self): RELAY.RESET(self.address)