def main(): if __name__ == "__main__": #GPIO part GPIO.init(radio_on_cb=radio_cor_on_callback,radio_off_cb=radio_cor_off_callback) #Audio part global audio player = config_get_audio_player() #Could be None/aplay/sox audio = Audio(player=player,record_callback=recorder_callback) audio.open() global WS_DEBUG, ws if WS_DEBUG: websocket.enableTrace(True) else: websocket.enableTrace(False) callsign = config_get_callsign() print "CALLSIGN: %s" % callsign url = "ws://aprs.hamclub.net:20880/mtracker/talkbox0?type=sub&udid=" + callsign ws = websocket.WebSocketApp(url, #ws = websocket.WebSocketApp("ws://localhost:8080/mclub/talk0?type=sub&udid=bg5hxe", #on_message = ws_on_message, on_data = ws_on_data, on_error = ws_on_error, on_close = ws_on_close) ws.on_open = ws_on_open stopFlag = Event() timer = KeepAliveThread(stopFlag,ws) timer.start() ws.run_forever() stopFlag.set() #stop the timer audio.close() GPIO.cleanup()
lin_model = stats.linregress(measured_seconds, co2) slope = lin_model[0] intercept = lin_model[1] r_squared = lin_model[2] * lin_model[2] slope_err = lin_model[4] return [ mean_temp, var_temp, mean_hum, var_hum, slope, intercept, r_squared, slope_err ] sender.start() # starts sender in a concurrent thread try: while True: for addr in range(1, 15): # address 0 is reserved for flushing with air gpio.set_addr(0) # set flushing address sleep(60) # flush for 60 seconds gpio.reset() # stop flushing gpio.set_addr(addr) # start measuring wait 60 seconds, 240 measure writer.save(measure(30), origin="RaspberryPi Kammer Nr. " + str(addr)) writer.flush() # close the file in order to "feed" sender gpio.reset() except KeyboardInterrupt: print 'Stopped measurement loop.' finally: gpio.cleanup()
def __del__(self): GPIO.cleanup()
measured_seconds.append(time()) sleep(start_time + i - time() + 1) # to keep in time mean_temp = numpy.mean(temp) var_temp = numpy.var(temp) mean_hum = numpy.mean(hum) var_hum = numpy.var(hum) lin_model = stats.linregress(measured_seconds, co2) slope = lin_model[0] intercept = lin_model[1] r_squared = lin_model[2]*lin_model[2] slope_err = lin_model[4] return [mean_temp, var_temp, mean_hum, var_hum, slope, intercept, r_squared, slope_err] sender.start() # starts sender in a concurrent thread try: while True: for addr in range(1, 15): # address 0 is reserved for flushing with air gpio.set_addr(0) # set flushing address sleep(60) # flush for 60 seconds gpio.reset() # stop flushing gpio.set_addr(addr) # start measuring wait 60 seconds, 240 measure writer.save(measure(30), origin="RaspberryPi Kammer Nr. " + str(addr)) writer.flush() # close the file in order to "feed" sender gpio.reset() except KeyboardInterrupt: print 'Stopped measurement loop.' finally: gpio.cleanup()
def doCleanup(self): self.debug("Cleaning up.") self.tft.switchOff() GPIO.cleanup()