Example #1
0
 def __init__(self, topic, host=DEFAULT_HOST, port=DEFAULT_PORT):
     Client.__init__(self)
     self.user_data_set({'topic': 'altie/#',})
     self.connect(host=host, port=port)
     self.on_connect = self.on__connect
     self.on_message = self.on__message
     self.loop_start()
Example #2
0
    def __init__(self, user, domain, resource, secret, continent, vacuum, server_address=None, verify_ssl=True):
        ClientMQTT.__init__(self)
        self.ctl_subscribers = []        
        self.user = user
        self.domain = str(domain).split(".")[0] #MQTT is using domain without tld extension
        self.resource = resource
        self.secret = secret
        self.continent = continent
        self.vacuum = vacuum
        self.scheduler = sched.scheduler(time.time, time.sleep)
        self.scheduler_thread = threading.Thread(target=self.scheduler.run, daemon=True, name="mqtt_schedule_thread")
        self.verify_ssl = str_to_bool_or_cert(verify_ssl)
        
        if server_address is None:            
            self.hostname = ('mq-{}.ecouser.net'.format(self.continent))
            self.port = 8883
        else:
            saddress = server_address.split(":")
            if len(saddress) > 1:
                self.hostname = saddress[0]
                if RepresentsInt(saddress[1]):
                    self.port = int(saddress[1])
                else:
                    self.port = 8883                    

        self._client_id = self.user + '@' + self.domain.split(".")[0] + '/' + self.resource        
        self.username_pw_set(self.user + '@' + self.domain, secret)

        self.ready_flag = Event()
Example #3
0
    def __init__(self, user, domain, resource, secret, continent, vacuum, realm, portal_url_format, verify_ssl=True):
        ClientMQTT.__init__(self)
        self.ctl_subscribers = []        
        self.user = user
        self.domain = str(domain).split(".")[0] #MQTT is using domain without tld extension
        self.resource = resource
        self.secret = secret
        self.continent = continent
        self.vacuum = vacuum
        self.scheduler = sched.scheduler(time.time, time.sleep)
        self.scheduler_thread = threading.Thread(target=self.scheduler.run, daemon=True, name="mqtt_schedule_thread")
        self.verify_ssl = str_to_bool_or_cert(verify_ssl)
        self.realm = realm
        self.portal_url_format = portal_url_format
        
        self.hostname = ('mq-{}.ecouser.net'.format(self.continent))
        self.port = 8883                

        self._client_id = self.user + '@' + self.domain.split(".")[0] + '/' + self.resource        
        self.username_pw_set(self.user + '@' + self.domain, secret)

        self.ready_flag = Event()
Example #4
0
    def __init__(self, name=None, config=None):
        """
        This creates a new client object that extends the Client class.
        We pass in the name of the client that will connect to the broker.

        The configs are structured as follows:

            {
                com     :   {
                    'host'      : <name>,
                    'port'      : <port>,
                    'alive'     : <int>
                },
                sub     :   [
                    'sensor/+/data/temp',
                    'sensor/+/data/acc',
                    'sensor/+/status'
                ],
            }

        :param name:            The client name
        :param config:          The connection configs
        :return:                A constructed object
        """

        # Set configs
        if config:
            self._configs = config

        # Override the base classes
        Client.__init__(self, name)
        Server.__init__(self, MQTT_TYPE)

        self._set_state(MQTT_SERVER_STATE_INIT)
        self.data = self.get_q("RX")

        print("[+] Created a new MQTTServer object.")
        return
Example #5
0
    def __init__(self,
                 clientId,
                 ip,
                 port,
                 username,
                 password,
                 qos=2,
                 keepalive=50,
                 userdata=None,
                 myPreRead=None,
                 topicRecvTail='',
                 topics=None,
                 topicFont=''):
        print('connect_param')
        self.qos = qos
        ps = dict(clientId=clientId,
                  username=username,
                  password=password,
                  ip=ip,
                  port=port)
        for key in ps:
            print(key, ':', ps[key])
        Client.__init__(self, clientId)
        self.topics = topics or {}
        self.topicRecvTail = topicRecvTail
        self.topicFont = topicFont
        self.ip = ip
        self.port = port
        self.connectSuccee = False
        self.client = None
        self.userdata = userdata

        self.username_pw_set(username, password)
        self.init(keepalive)
        self.flag = 0
        self.sucess = None
        self.myPreRead = myPreRead
Example #6
0
 def __init__(self):
     MQTT_Client.__init__(self)
     self._subscriptions = set()
     self.clients = {}
     self.verbose = 0