Example #1
0
    def __init__(self, log=None, config=None):
        threading.Thread.__init__(self)
        self.log = log
        self.config = config

        #Get values from config

        self.mysensor_ip = self.config.get('config', 'mysensor_ip')
        self.mysensor_port = self.config.get('config', 'mysensor_port')
        self.http_ip = self.config.get('config', 'http_ip')
        self.http_port = self.config.get('config', 'http_port')
        self.mqtt_ip = self.config.get('config', 'mqtt_ip')
        self.mqtt_port = self.config.get('config', 'mqtt_port')
        self.serial_port = self.config.get('config', 'serial_port')
        self.serial_baudrate = self.config.get('config', 'serial_baudrate')
        self.base_topic = self.config.get('config', 'mqtt_topic')

        # Constants
        self.BUFFER_SIZE = 48

        #Variables
        s = None
        client = None
        self.ser = serial.Serial(self.serial_port,
                                 self.serial_baudrate,
                                 timeout=1)

        #open serial interface
        self.log.info("Start up: Listening on :" + self.serial_port +
                      " using baudrate: " + self.serial_baudrate)
        self.ser.close()
        self.ser.open()

        print("Using Serial port %s at baudrate %s" %
              (self.serial_port, self.serial_baudrate))

        #Give Arduino time to start up.
        sleep(5)

        self.client = mqtt.Client(protocol=3)
        self.client.on_message = self.on_message
        self.client.on_connect = self.on_connect

        #self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        self.mysensor = MySensor(self.log, self.config, self.ser, self.client)