yct 4a71fe6048 230112 other changes 1 рік тому
..
DatabaseSearchPickCmd.py 4a71fe6048 230112 other changes 1 рік тому
ExportIO.py 4a71fe6048 230112 other changes 1 рік тому
README.md 4a71fe6048 230112 other changes 1 рік тому
async_communication.py 4a71fe6048 230112 other changes 1 рік тому
db_config.py 4a71fe6048 230112 other changes 1 рік тому
message_pb2.py 4a71fe6048 230112 other changes 1 рік тому
mysqlhelper.py 4a71fe6048 230112 other changes 1 рік тому
node.py 4a71fe6048 230112 other changes 1 рік тому
proto.sh 4a71fe6048 230112 other changes 1 рік тому

README.md

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