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)
Example #2
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)
Example #3
0
class mspmqtt(threading.Thread):
    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)

    #mqtt
    def on_connect(self, client, userdata, flags, rc):
        print("Connected with result code " + str(rc))
        self.client.subscribe(self.base_topic + "#")

    #mqtt
    def on_message(self, client, userdata, msg):
        self.mysensor.processMqttMessage(msg)
        print(msg.topic + " " + str(msg.payload))

    #def on_publish(self,client, userdata, msg):
    #	print(msg.topic+" "+str(msg.payload))

    def run(self):
        #check if we can handle reconnect in some why.
        #self.s.settimeout( 5.0)
        #self.s.setsockopt( socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
        #self.s.connect((self.mysensor_ip, int(self.mysensor_port)))
        self.client.connect(self.mqtt_ip, int(self.mqtt_port), 60)
        self.client.loop_start()

        self.client.publish(self.base_topic, "startup")

        while 1:
            print self.mysensor.loop()
Example #4
0
class mspmqtt(threading.Thread):
	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)

	#mqtt
	def on_connect(self,client, userdata, flags, rc):
		print("Connected with result code "+str(rc))
		self.client.subscribe(self.base_topic+"#")		
	#mqtt
	def on_message(self,client, userdata, msg):
		self.mysensor.processMqttMessage(msg)
		print(msg.topic+" "+str(msg.payload))
		
	
		

	#def on_publish(self,client, userdata, msg):
	#	print(msg.topic+" "+str(msg.payload))
	
	def run(self):
		#check if we can handle reconnect in some why.
		#self.s.settimeout( 5.0)
		#self.s.setsockopt( socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
		#self.s.connect((self.mysensor_ip, int(self.mysensor_port)))
		self.client.connect(self.mqtt_ip, int(self.mqtt_port), 60)
		self.client.loop_start()
		
		self.client.publish(self.base_topic,"startup")
		
		
		while 1 :
			print self.mysensor.loop()