# HG changeset patch # User Matt Johnston # Date 1351381955 -28800 # Node ID 2607e4f322cfe9d69d92b456733307dde87d6e47 # Parent 7d7e7f961eaef2300bf23580f38609bf5a54afe1 use tcp instead diff -r 7d7e7f961eae -r 2607e4f322cf server/ts.py --- a/server/ts.py Mon Oct 22 21:09:17 2012 +0800 +++ b/server/ts.py Sun Oct 28 07:52:35 2012 +0800 @@ -20,6 +20,7 @@ import urllib import urllib2 import logging +import socket L = logging.info W = logging.warning @@ -180,7 +181,7 @@ next_wake = 600 #next_wake = turn_off(sock) - sock.close() + #sock.close() return next_wake testcount = 0 @@ -198,6 +199,12 @@ datefmt='%m/%d/%Y %I:%M:%S %p', level=logging.INFO) +def get_net_socket(host, port): + s = socket.create_connection((host, port)) + s.setblocking(False) + s.settimeout(1) + return s + def main(): setup_logging() @@ -207,29 +214,26 @@ utils.cheap_daemon() next_wake_time = 0 + while True: sock = None try: - sock = get_socket(config.BTADDR) + sock = get_net_socket(config.SERIAL_HOST, config.SERIAL_PORT) except Exception, e: #logging.exception("Error connecting") pass - if sock: + + if not sock: + sleep_for(config.SLEEP_TIME) + continue + + while True: try: - avr_wake = do_comms(sock) - next_wake_time = time.time() + avr_wake + do_comms(sock) + sleep_for(config.SLEEP_TIME) except Exception, e: logging.exception("Error in do_comms") - - next_wake_interval = next_wake_time - time.time() + EXTRA_WAKEUP - sleep_time = config.SLEEP_TIME - if next_wake_interval > 0: - sleep_time = min(next_wake_interval, sleep_time) - if next_wake_interval < 0 and next_wake_interval > -30: - L("not sleeping, next_wake_interval overdue %f" % next_wake_interval) - continue - L("Sleeping for %d, next wake interval %f" % (sleep_time, next_wake_interval)) - sleep_for(sleep_time) + break if __name__ == '__main__': main() diff -r 7d7e7f961eae -r 2607e4f322cf web/config.py --- a/web/config.py Mon Oct 22 21:09:17 2012 +0800 +++ b/web/config.py Sun Oct 28 07:52:35 2012 +0800 @@ -1,6 +1,8 @@ # for server BTADDR = "00:12:03:27:70:88" -SLEEP_TIME = 5 +SLEEP_TIME = 60 +SERIAL_HOST='home.example.com' +SERIAL_PORT=1999 DATA_PATH = '/home/matt/templog/web/data'