yct 4a71fe6048 230112 other changes пре 1 година
..
EntranceIO.py bae465e43a 版本提交 пре 2 година
README.md bae465e43a 版本提交 пре 2 година
async_communication.py bae465e43a 版本提交 пре 2 година
message_pb2.py a4c59444ef 2022/11/08 修改接收状态消息超时时间 пре 2 година
node.py 4a71fe6048 230112 other changes пре 1 година
proto.sh a4c59444ef 2022/11/08 修改接收状态消息超时时间 пре 2 година

README.md

1,功能描述

1,发送自身io状态,发送端口:in_mcpu_N_statu_port

2,根据调度完成消息执行开门动作
    接收消息:指令反馈队列的指令表单,如果是停车指令且表单正常,则关门
    消息队列:close_door_N_queue  需判断内容中入口号
    执行关门动作

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,部署