# 1，功能描述
    1，发送自身io状态，发送端口:out_mcpu_N_statu_port

    2，根据调度完成消息执行开门动作
        数据库存在状态为2 的指令，且雷达检测到有信号，执行开门
    3，车辆开走后，门自动关闭后，删除对应指令
        门自动关后， 数据库队列表存在该出口的指令，且指令状态为2（已到出口），
        且雷达检测到无信号，删除指令
    
# 2，使用平台：
    linux x64 / linux-arm
# 3，业务逻辑
    出口单片机发送数据格式：前四位为头(@501)，后三位为尾($\0\0)，中间为json格式消息体
    
    楚天出入口单片机通信协议_jansson

    一、楚天项目出入口传感器设备由单片机控制，负责采集光电开关，出口雷达，内门控制等。

    二、单片机使用tcp通信，jansson协议。
    单片机：TCP server
    ip：192,168,1, (120+(DISPATCH_DIRECTION-1)*10+TERMINAL_ID
    DISPATCH_DIRECTION：入口为1， 出口为2。
    TERMINAL_ID：0~5分别对应0~5的出入口编号。
    例如，A1入口：192.168.1.120B2出口：192.168.1.133
    端口：默认40000（40000~40007都行，8个端口可以连接8个client）
    上位机：TCP client
    ip：192.168.1.xxx   （须相同网段）

    三、jansson协议模板
    例如：B1出口
    单片机-》上位机
    {"TerminalID": 2, "ProcessControl": 0, "CarHeightStatusPassing": 0, "OutsideDoorStatus": 3, 
    "DispatchDirection": 2, "InPutDi": {"Di0": 0, "Di4": 0, "Di1": 0, "Di5": 0, "Di9": 0, 
    "Di2": 0, "Di3": 0, "Di6": 0, "Di7": 0, "Di8": 0, "Di10": 0, "Di12": 0, "Di11": 0, "Di13": 0,
    "Di14": 0, "Di15": 0}, "OutsideExistenceFlag": 1, "InsideExistenceFlag": 1, 
    "OverBorderStatus": 1, "DispatchFinishFlag": 0, "ProcessStatus": 40, 
    "CarHeightStatusCurrent": 0, "OutsideDoorControl": 0, "ResetFlag": 0, "StopFlag": 0}

    上位机-》单片机
    {"TerminalID": 2, "DispatchDirection": 2, "OutPutDo": {"Do0": 0, "Do1": 0, "Do2": 0, 
    "Do3": 0,"Do4": 0, "Do5": 0, "Do6": 0, "Do7": 0}, "ProcessControl": 0}

    四、jansson协议解释
    TerminalID：0~5分别对应0~5的出入口编号。
    DispatchDirection：入口为1， 出口为2。
    OutsideExistenceFlag:出口是否有障碍物，1有0无
    ProcessControl：
    PROCESS_CONTROL_UNKNOWN= 0,//未知
    PROCESS_CONTROL_FULL_AUTO= 1,//全自动，
    PROCESS_CONTROL_MANUAL= 2,//手动
    PROCESS_CONTROL_AUTO_CLOSE= 3,//半自动关门
    PROCESS_CONTROL_AUTO_OPEN= 4,//半自动开门
    PROCESS_CONTROL_TO_READY= 5,//切换到待机
    入口需要上位机控制关门，那么 "ProcessControl": 3
    出口需要上位机控制开门，那么 "ProcessControl": 4
    特殊情况下可以手动设置8个输出量， "ProcessControl": 2

# 4，编译
# 5，部署