Exemplo n.º 1
0
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()
Exemplo n.º 2
0
    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()
Exemplo n.º 3
0
 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()
Exemplo n.º 5
0
 def doCleanup(self):
     self.debug("Cleaning up.")
     self.tft.switchOff()
     GPIO.cleanup()