搭建PHP服务器,阿里云虚拟Web空间有限制频繁发送数据的策略,WAMP在Windows下即可。分别建立路径:

/devicemanagement/php/receivedeviceinfo.php;

/devicemanagement/php/plateresult.php;

/devicemanagement/php/gio.php;

/devicemanagement/php/serial.php

300万高清车牌识别一体机设置见图:

plateresult.php源代码

<?php
$doc = file_get_contents("php://input");$fp = fopen("snap_shot.txt", "w");
if(!$fp){return;
}
$flag=fwrite($fp, $doc);
//$flag=fwrite($fp, $jsondecode['AlarmInfoPlate']['result']['PlateResult']['imagePath']);
if(!$flag)
{ fclose($fp);return;
}
fclose($fp);$jsondecode = json_decode($doc,true);if($jsondecode == null){return;
}// 小图片
if(isset($jsondecode['AlarmInfoPlate']['result']['PlateResult']['imageFragmentFile']))
{$small_image = $jsondecode['AlarmInfoPlate']['result']['PlateResult']['imageFragmentFile'];if( $small_image != null){$fs_image = fopen("smallimage.jpg", "w");if(!$fs_image){return;}$simage_decoded = base64_decode($small_image);$flag2=fwrite($fs_image, $simage_decoded); fclose($fs_image);}
}// 大图片
if(isset($jsondecode['AlarmInfoPlate']['result']['PlateResult']['imageFile']))
{$image = $jsondecode['AlarmInfoPlate']['result']['PlateResult']['imageFile'];if( $image != null){$fp_image = fopen("image.jpg", "w");if(!$fp_image){return;}$image_decoded = base64_decode($image);$flag=fwrite($fp_image, $image_decoded); fclose($fp_image);}
}$license = $jsondecode['AlarmInfoPlate']['result']['PlateResult']['license'];
$fp_license  = fopen("license.txt", "w");  //将W改为a参数  追加保存日志,  \r\n  换行
if($fp_license  )
{ $flag=fwrite($fp_license  , $license ); fclose($fp_license);
}// 发送开闸命令
//echo '{"Response_AlarmInfoPlate":{"info":"ok","content":"...","is_pay":"true"}}';?>

receivedeviceinfo.php源代码 服务器返回给相机心跳包,  是否在线

<?phpecho '{"heartbeat":{"countid":158,"timeStamp":{"Timeval":{"sec":1571932096,"usec":0}},"serialno":"e0fade1063f0fe93"}}';?>

两个相机,相隔几秒多次发送数据,排除相同的车号,可以利用session判断

<?php

date_default_timezone_set('PRC'); // 中国时区
$timechuo = date('YmdHis');
$license = $_GET["license"];
session_start();
$_SESSION['name'][$license][]=$timechuo;
//unset($_SESSION['license']);
$nameArray=$_SESSION['name'];
//var_dump($chehaoArray[$license]);
//echo json_encode($nameArray);
if( count($nameArray[$license])==1){
echo "<br>只有一个时间,执行任务";
}
if( count($nameArray[$license])>1){
if ($timechuo-$nameArray[$license][count($nameArray[$license])-2]>15){
echo "<br>时间大于15秒,执行任务";
}else{
echo "<br>有两个时间,但相邻时间未超过15秒,放弃<br>";
}
}

相机文档:

相机识别到车号后向服务器推送JSON格式数据,利用PHP 的函数file_get_contents("php://input");接收处理逻辑

{"AlarmInfoPlate":{"channel":0,"deviceName":"default","ipaddr":"192.168.0.100","result":{"PlateResult":{"bright":0,"carBright":0,"carColor":0,"colorType":0,"colorValue":0,"confidence":0,"direction":0,"license":"_无_","location":{"RECT":{"bottom":0,"left":0,"right":0,"top":0}},"timeStamp":{"Timeval":{"sec":1441815171,"usec":672241}},"timeUsed":0,"triggerType":1,"type":0}},"serialno":"e10b2d6c8c07b422361457935b518642"}}

说明: 字段名

含义

AlarmInfoPlate

推送结果为车牌识别结果

serialno

设备序列号

channel

默认通道号(预留)

deviceName

设备名称

ipaddr

设备ip地址

result

实际数据

PlateResult

车牌识别信息

license

车牌号字符串,如“京AAAAAA”

colorValue

(预留)

colorType

车牌颜色 1:蓝色、2:黄色、3:白色、4:黑色、5:绿色、6:黄绿色

type

车牌类型 0:未知车牌:、1:蓝牌小汽车、2::黑牌小汽车、3:单排黄牌、4:双排黄牌、 5:警车车牌、6:武警车牌、7:双层武警车牌、8:单排军车牌、9:双排军车牌、11:新能源小车、12:新能源大车、13:使馆牌、14:领馆牌、15:民航牌

confidence

识别结果可行度 1-100

bright

(预留)

direction

车的行进方向(预留)

location

车牌在图片中位置

RECT

位置为矩形区域;

left\right\top\bottom:车牌在图片中位置

timeUsed

识别所用时间(预留)

carBright

车身亮度(预留)

carColor

车身颜色(预留)

timeStamp

识别结果对应帧的时间戳

Timeval

时间戳结构体类型

sec/usec

从1970年1月1日到对应帧的秒和毫秒

triggerType

当前结果的触发类型:由以下值取并的结果:1:手动抓拍、2:视频抓拍、3:线圈抓拍

imageFile,

imageFileLen

开启发送图片后,加入"imageFile"   :base64编码的图像数据,"imageFileLen"   : 图像数据实际长度,这两项内容。

imageFragmentFile,

imageFragmentFileLen

开启发送小图片后,加入"   imageFragmentFile " :base64编码的图像数据,"   imageFragmentFileLen " : 图像数据实际长度,这两项内容.

中心服务器回复JSON数据,

{"Response_AlarmInfoPlate":{"info":"ok",//回复ok开闸停止当前车牌信息重传(重传停止控制)"content":"retransfer_stop",//回复retransfer_stop停止当前车牌信息重传(重传停止控制)"is_pay":"true",//回复串口数据可以发送到相应串口“serialData”:[{“serialChannel”:0,“data”:”…”,“dataLen”:123},//数据1,可以有或者没有,收到后将发送到对应串口{“serialChannel”:1,“data”:”…”,“dataLen”:123}//数据2,可以有或者没有,收到后将发送到对应串口]}}

端口触发信息推送

当开启时,当有车检器输入有变化时,会推送json格式数据,内容如下:

{"AlarmGioIn":{"deviceName":"default","ipaddr":"192.168.0.100","result":{"TriggerResult":{"source":0,"value":0}},"serialno":"e10b2d6c8c07b422361457935b518642"}}

其中,TriggerResult中source=0代表是输入1,source=1代表输入2,value表示触发时输入的状态,其他参数的含义和车牌识别结果推送中相同。

中心服务器回复内容:任意内容。

串口数据推送:

//推送串口接收到的数据{“SerialData”:{"channel":0,//通道号,当前为0"serialno":"e10b2d6c8c07b422361457935b518642",//设备序列号"ipaddr":"192.168.0.100"//设备ip“serialChannel”:0,//串口的通道号,通道0为485口1,通道1为485口2“data“:"MTEyMzQ1Njc4OQ==",//串口数据,采用base64编码“dataLen”:10//串口数据实际长度}}

中心服务器回复内容:

{"Response_SerialData":{"info":"ok",//暂时没有实际意义//回复串口数据可以发送到相应串口“serialData”:[{“serialChannel”:0,“data”:”…”,“dataLen”:123},//数据1,可以有或者没有,收到后将发送到对应串口{“serialChannel”:1,“data”:”…”,“dataLen”:123}//数据2,可以有或者没有,收到后将发送到对应串口]}}

心跳包发送

当开启时,会按指定间隔时间,发送心跳包:

{"Heartbeat":{"countid":1,"timeStamp":{"Timeval":{"sec":1441815171,"usec":672241}},"serialno":"e10b2d6c8c07b422361457935b518642"}}

对于心跳包,中心服务器可回复,可不回复  内容:

{"Response_Heartbeat":{"info":"ok",//回复ok开闸//回复串口数据可以发送到相应串口“serialData”:[{“serialChannel”:0,“data”:”…”,“dataLen”:123},//数据1,可以有或者没有,收到后将发送到对应串口{“serialChannel”:1,“data”:”…”,“dataLen”:123}//数据2,可以有或者没有,收到后将发送到对应串口],"shutoff":"ok",//回复ok关闸,可以有或者没有"snapnow":"yes",//回复yes相机抓拍,可以有或者没有}}

1,当超时时间大于心跳时间时,http 连接为长连接

2,重传使能时,重传停止条件为相机端收到车牌信息应答中有”info”:”ok”或者 “content”:“retransfer_stop”

白名单发送 中心请求白名单

{“whiteList”:{“queryNumList”:5000 //请求名单数量,不能为0,最大1000“listPosition”:0                 //请求名单的位置}}

相机回应

{“Response_whiteList”:{“totalList”:5000,“queryNumList”:5000,

“listPosition”:0                      //从0开始

“data”:[{“carnum”:”粤B88888”,“startime”:”20181029165012”,“endtime”:”20181105165012”},...]}"serialno" : "e10b2d6c8c07b422361457935b518642"}

中心添加白名单,一次可添加最多2000条

{“addWhiteList”:{“add_data”:[{“carnum”:”粤B88888”,“startime”:”20181029165012”,“endtime”:”20181105165012”},...]}}

相机回应

{“addWhiteList”:{“reponse”:”ok”"serialno" : "e10b2d6c8c07b422361457935b518642"}}

中心删除白名单,一次可删除最多10条

{“deleteWhiteList”:{“del_data”:[{“carnum”:“粤B88888”},...]}}

相机回应

{“deleteWhiteList”:{“reponse”:”ok”,"serialno" : "e10b2d6c8c07b422361457935b518642"}}

中心删除全部白名单

{“deleteWhiteListAll”:1}

相机回应

{“deleteWhiteListAll”:{“reponse”:”ok”,"serialno" : "e10b2d6c8c07b422361457935b518642"}}

另一个相机参数

https://www.cnblogs.com/zclaude/p/9781645.html

300万高清车牌识别一体机Http推送相关推荐

  1. g460 bios 白名单_深睛高清车牌识别相机白名单,智能管理车辆进出_深睛车牌识别...

    深睛车牌识别一体机将车牌识别结果跟白名单列表匹配,如果存在于白名单列表,并且符合用户设置的规则(比如时间.特殊车牌等),做出开闸行为. 白名单功能一般用于包月或者包年车,以及内部车,如果符合白名单规则 ...

  2. 车牌识别系统连不上服务器怎么办,高清车牌识别系统常见故障解决方案

    车牌 1.大型汽车号牌:黄底黑字黑框线.中型(含)以上载客.载货汽车和专项作业车:半挂牵引车:电车.前号牌后号牌2.挂车号牌:黄底黑字黑框线.全挂车和不与牵引车固定使用的半挂车.前号牌后号牌3.小型汽 ...

  3. ocr识别技术-车牌识别一体机的核心关键

    关键核心 车牌识别一体机.车牌识别相机.ocr车牌识别 车牌识别相机的应用背景 随着智慧城市的建设,智慧停车场概念进入了大家的视野.传统的停车场管理主要通过给进入停车场的车辆分发IC卡,容易被复制盗用 ...

  4. 文通车牌识别一体机的优势

    开车上路最怕堵车与停车,尤其是停车难着实让人头疼,而智能停车场大受欢迎,出入停车场都不用停车刷卡了,避免了停车场进出口塞车现象的发生,当然这得益于车牌识别一体机,小小神器为何有如此强大功能?在优秀品质 ...

  5. 连接相机无法识别_车牌识别一体机在汽修门店安装中要注意的事项

    针对车牌识别一体机在汽修门店的安装注意事项 目前市场大方向上,不管是汽车4s店做的:门店差异化服务,还是汽修门店做的:会员检测等系统功能都需要用到车牌识别,那让工人每人拿个手机识别车牌肯定是不现实的, ...

  6. 海康车牌识别一体机控制道闸起落杆(java版)

    在开发过程中发现海康的文档中没有对起落杆做很多说明, 也是走了一些弯路 下一篇文章我会把车牌识别一体机的语音播报和LED屏幕显示代码粘贴处理(海康对这一块没有说明,而且有一个更大的坑,详见下一篇) 起 ...

  7. 车牌识别一体机二次开发

    车牌识别一体机挂接分为两种挂接方式:动态库方式挂接和协议方式挂接. 1.动态库方式挂接:动态库方式挂接支持6种开发语言(VC++.Delphi.C#.VB.NET.Linux.Java). 动态库方式 ...

  8. android图像识别二次开发包,车牌识别一体机二次开发包sdk详细介绍

    原标题:车牌识别一体机二次开发包sdk详细介绍 无论是车辆管理系统,洗车房,二手车交易,汽车4S店,称重系统还是考勤系统均能和易泊完美结合. 通过易泊车牌识别一体机抓拍识别车牌号码,将识别的车牌信息传 ...

  9. 荣耀X20 SE评测:6400万高清美拍 2000元以下真香现场

    不久前荣耀召开了新机发布会,正式推出了全新的荣耀50系列机型,其中荣耀50.荣耀50 Pro目前已上市开售,获得了非常不错的市场表现,而定位稍低的荣耀50 SE虽目前还在预售中,但同样吸引了不少用户的 ...

  10. php中控车牌识别push协议,车牌识别一体机的RS485小接口——实现透明传输!

    通常情况下,数据传输给外接设备是通过网线来完成的,当然也可以通过RS485进行传输.RS485,一个小小的通讯接口,却发挥着巨大的作用. 车牌识别相机通过RS485透明传输,可以将网络下发的数据进行转 ...

最新文章

  1. beeline 将查询的数据导出来_滴滴大数据安全权限实践
  2. AMS重要的数据结构解析(二):TaskRecord
  3. MySQL-主从复制监控
  4. SpringMVC控制器接收不了PUT提交的参数的解决方案
  5. 数据eda_关于分类和有序数据的EDA
  6. java input是关键字吗_java 关键字transient
  7. remove Host from VMware cluster
  8. excel 制作dashboard_【实例分享】勤哲Excel服务器做影视制作企业管理系统
  9. 基于DL的目标检测技术:R-CNN、Fast R-CNN、Faster R-CNN
  10. springboot企业级进销存管理系统
  11. 城市消防远程监控系统
  12. win10和win7哪个好用_Win10和Win7到底哪个好用(真实评测)
  13. mysql根据字母和数字进行排序
  14. 平均年薪20W,自动化测试工程师这么吃香?
  15. 祝CSDN2021牛气冲天祝我也拨云散雾
  16. fudge函数C语言,C语言程序设计-中国大学mooc-题库零氪
  17. From Big to Small
  18. 搭建一个代码在线编辑预览工具
  19. 【笔记】从 Paxos 到 Zookeeper:第七章 Zookeeper 技术内幕之客户端
  20. Github拉代码太慢怎么办?

热门文章

  1. springBoot dubbo junit 单元测试
  2. 中职学校计算机教学中,探析中职学校计算机教学中的一些体会和思考.doc
  3. Structs详细用法(一)
  4. (04)Structs初学笔记——后台往前台传值
  5. 使用css控制gridview控件的样式,GridView 样式美化及应用.doc
  6. Zoho中国:如何利用好免费版CRM
  7. R语言分布的卡方拟合优度检验
  8. 破解qq上网限制 突破限制上QQ
  9. 数字通信技术知识点一
  10. 2008.12.8希世软件杭州公司