def is_connected(self): try: logger.print_cmd('Send MQTT ping') self.__c.ping() self.__connected = True logger.print_info('Connected from MQTT Broker') except: self.disconnect(False) return self.__connected
def is_connected(self): logger.print_cmd('Test WIFI Connection') ret = self.__nic.isconnected() if not ret: logger.print_info('Wifi Disconnected!') else: logger.print_info('Wifi Connected!') return ret
def run_webserver(): logger.print_cmd('Starting Webserver') s = socket.socket() # http_timeouts.set_timeout(s) # s.settimeout(TIMEOUT) s.bind(SERVER_ADDRESS) s.listen(REQUEST_QUEUE_SIZE) print('Serving HTTP on port {port} ...'.format(port=SERVER_PORT)) while True: conn, addr = s.accept() request = conn.recv(1024) request = str(request) print('%s - %s' % (addr[0], request)) json_str = json.dumps(web_page()) response = json_str + '\r\n' conn.send(response) conn.close()
def set_hostname(self, host): logger.print_cmd('Set Hostname to {}'.format(host)) self.__nic.config(dhcp_hostname=host)
def set_mac(self, mac): logger.print_cmd('Set MAC to {}'.format(mac)) emac = mac.encode() bmac = ubinascii.unhexlify(emac) self.__nic.config(mac=bmac)
def disconnect(self): logger.print_cmd('Disconnect from Wifi') self.__nic.disconnect()
def connect(self, ssid, password): if not self.is_connected(): logger.print_cmd('Connect to Wifi {}'.format(ssid)) self.__nic.connect(ssid, password) while not self.__nic.isconnected(): time.sleep_ms(500)
def subscribe(self, topic, message_func): logger.print_cmd('Subscribe data vi MQTT') self.__c.set_callback(message_func) self.__c.subscribe(topic)
def publish(self, topic, msg): logger.print_cmd('Publish data vi MQTT') self.__c.publish(topic, msg)
def disconnect(self, force=False): if self.__connected or force: logger.print_cmd('Disconnected from MQTT Broker') self.__connected = False self.__c.disconnect()
def connect(self): logger.print_cmd('Connect to MQTT Broker') self.__c.connect() self.is_connected()