#!/usr/bin/env python3 import sys from tools.zookeeper import Zookeeper if __name__ == "__main__": z = Zookeeper() z.set_device_ignition(1 if int(sys.argv[1]) > 0 else 0)
#!/usr/bin/env python3 import sys import time import datetime from common.realtime import Ratekeeper from common.filter_simple import FirstOrderFilter from tools.zookeeper import Zookeeper if __name__ == "__main__": z = Zookeeper() z.set_device_power(True) z.set_device_ignition(False) duration = None if len(sys.argv) > 1: duration = int(sys.argv[1]) rate = 123 rk = Ratekeeper(rate, print_delay_threshold=None) fltr = FirstOrderFilter(0, 5, 1. / rate, initialized=False) measurements = [] start_time = time.monotonic() try: while duration is None or time.monotonic() - start_time < duration: fltr.update(z.read_power()) if rk.frame % rate == 0: print(f"{fltr.x:.2f} W") measurements.append(fltr.x)
#!/usr/bin/env python3 import time from tools.zookeeper import Zookeeper if __name__ == "__main__": z = Zookeeper() z.set_device_power(True) i = 0 ign = False while 1: voltage = round(z.read_voltage(), 2) current = round(z.read_current(), 3) power = round(z.read_power(), 2) z.set_device_ignition(ign) print( f"Voltage: {voltage}V, Current: {current}A, Power: {power}W, Ignition: {ign}" ) if i > 200: ign = not ign i = 0 i += 1 time.sleep(0.1)