Beispiel #1
0
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)
Beispiel #3
0
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)
Beispiel #4
0
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()