コード例 #1
0
 def measure_soil_moisture(self, data=None):
     
     while self.monitor == True:
     
         self.data = read.read_serial("/dev/ttyACM0")
     
         self.moisture0 = self.data[0]
         self.moisture1 = self.data[1]
         self.moisture2 = self.data[2]
         self.moisture3 = self.data[3]
     
         Gdk.threads_enter() # needed to avoid Segmentation fault error
         self.soil_moisture1.set_text(str(self.moisture0))
         self.soil_moisture2.set_text(str(self.moisture1))
         self.soil_moisture3.set_text(str(self.moisture2))
         self.soil_moisture4.set_text(str(self.moisture3))
         Gdk.threads_leave() # needed to avoid Segmentation fault error
         
         if self.step >= self.saving_intervall:
             print "writing data into csv"
             write.write_csv([int(self.moisture0),int(self.moisture1),int(self.moisture2),int(self.moisture3), "PUMP=FALSE", "NONE"])
             self.step = 0
         else:
             self.step += 1
                 
         time.sleep(0.1)
         
     return
コード例 #2
0
 def pump_control(self):
     while self.automation == True:
         time.sleep(1)
     
         if self.moisture0 >= self.min_moisture or self.moisture1 >= self.min_moisture:
             print self.moisture1
             write.write_csv([int(self.moisture0),int(self.moisture1),int(self.moisture2),int(self.moisture3), "PUMP1=TRUE", "START"])
             self.pump_run(self.port_pump1, self.pump1_switch)
             time.sleep(self.pump_length)
             write.write_csv([int(self.moisture0),int(self.moisture1),int(self.moisture2),int(self.moisture3), "PUMP1=TRUE", "END"])
     
         else:
             print "no need for water @pump1"  
             pass
     
     
         if self.moisture2 >= self.min_moisture or self.moisture3 >= self.min_moisture:
             print self.moisture3
             write.write_csv([int(self.moisture0),int(self.moisture1),int(self.moisture2),int(self.moisture3), "PUMP2=TRUE","START"])
             self.pump_run(self.port_pump2, self.pump2_switch)
             write.write_csv([int(self.moisture0),int(self.moisture1),int(self.moisture2),int(self.moisture3), "PUMP2=TRUE","END"])
             time.sleep(self.pump_length)
         else:
             print "no need for water @pump2"
             pass
            
     return