def mqtt_connect(): board_id = config['board']['id'] ip = config['mqtt']['ip'] client = MQTTClient(board_id, ip) client.connect() return client
def main(path, topic): dns_dict = LRUCache(10000) max_usage = 0 max_domain = '' client = MQTTClient('a2wcug9wfns56q-ats.iot.us-east-2.amazonaws.com', 'certificates/d6ccf7c6bd-certificate.pem.crt', 'certificates/d6ccf7c6bd-private.pem.key', 'certificates/AmazonRootCA1.pem') client.connect() while True: files = get_files_by_mdate(path, suffix='.pcap') for file in files: try: records = parse_pcap(file, dns_dict) except Scapy_Exception as err: if str(err) == "No data could be read!": print('empty file', file, 'possibly being written by tcpdump') break raise if not records: continue print('summarized count', len(json.dumps(records)) / 1000, 'KB') max_domain_usage = max(records, key=lambda x: x['size']) if max_domain_usage['size'] > max_usage: max_domain = max_domain_usage['domain'] max_usage = max_domain_usage['size'] while records: message = json.dumps(records[:500]) client.publish(topic, message) records = records[500:] print('deleting file', file) os.remove(file) print('all files processed. sleeping for 1 minute.') print('domain', max_domain, 'usage', max_usage) time.sleep(60)
def main(): global mqclient mqclient = MQTTClient(board.location, board.mqtt_server, ssl=True, ssl_params={'psk_ident':board.mqtt_ident, 'psk_key':board.mqtt_key}) print("Connect:", mqclient.connect()) mqclient.set_callback(msg_in) mqclient.subscribe(REPL_IN) print("Subscribed to", REPL_IN)
from mqtt_client import MQTTClient import ssl import json import paho.mqtt.client as mqtt with open("config/config.json", "r") as load_f: parameter = json.load(load_f) cli = MQTTClient(parameter["host"], parameter["port"]) cli.tls_set(parameter["ca_cert"], parameter["certfile"], parameter["keyfile"]) cli.on_log cli.connect(parameter["username"], parameter["password"]) cli.on_connect cli.subscribe(parameter["topic0"]) cli._on_message cli.loop()