Example #1
0
    # setup calculation thread
    threadCalc = Calc.Calc(cfg,
                           queueReadings=queueReadings,
                           queueResults=queueDB,
                           broadcast_queue=queueMqttPub)
    threadCalc.daemon = True
    threadCalc.start()

    # setup database thread
    updateDB = DB.UpdateDB(cfg, queueResults=queueDB)
    updateDB.daemon = True
    updateDB.start()

    # setup arduino scheduler thread
    ards = Arduino.ArdSchedule(cfg, queueToArduino)
    ards.initialize()
    ards.daemon = True
    ards.start()

    meter = HydroMeter.Meter(cfg,
                             queue_readings=queueReadings,
                             queue_db=queueDB)
    meter.daemon = True
    meter.start()

    # start main thread of execution
    try:
        arduino.run()
    except serial.SerialException:
        logging.error("Disconnected (Serial exception)")