Newer
Older
lynxi-casic-demo / main.py
import pylynchipsdk as sdk

from info_query import get_box_sn,query_device_info,query_device_model
from app import run_device

if __name__ == "__main__":
    box_sn = get_box_sn()
    if not box_sn:
        print('fail get box sn')
    else:
        print(f"box_sn = {box_sn}")

    lyn_device_count, ret = sdk.lyn_get_device_count()
    if ret != 0 or lyn_device_count <= 0:
        print("Error: Unable to fetch device count or no devices available.")
        exit(1)


    device_list = query_device_info(box_sn)


    threads = []
    for idx, device in enumerate(device_list):
        print(device)
        if device.mode_type == '0':
            model_list = query_device_model(device.device_id)
            for model in model_list:
                print(model)
            
            if model_list:
                lyn_device_id = idx % lyn_device_count
                run_device(device.device_no, device.input_url,device.output_url,lyn_device_id, model_list, device.alarm_interval, threads)

        elif device.mode_type == '1':
            # todo
            pass
    
    # 等待所有线程完成
    for thread in threads:
        thread.join()