毕节市交通建设集团网站,制作网页查询系统,网站改版需要注意哪些seo问题,网站 简约目录 一、前言
二、 效果图
三、安装PHP扩展
四、添加模拟串口
五、PHP发送数据给硬件
PHP代码 前端代码 一、前言
上篇文章写到PHP怎么与硬件串口交互之实时接收硬件发送的数据#xff0c;这里同样是以天平为例#xff0c;介绍怎么向硬件设备发送数据#xff0c;
需…目录 一、前言
二、 效果图
三、安装PHP扩展
四、添加模拟串口
五、PHP发送数据给硬件
PHP代码 前端代码 一、前言
上篇文章写到PHP怎么与硬件串口交互之实时接收硬件发送的数据这里同样是以天平为例介绍怎么向硬件设备发送数据
需求向硬件发送指令等数据同时能够再次接收到硬件发送回来的信息
【PHP】PHP实现与硬件串口交互接收硬件发送的实时数据上_php串口通信-CSDN博客 二、 效果图
每隔1.5s发送一次数据右侧再每个1.5s接收一次数据左侧 三、安装PHP扩展
下载并安装dio扩展下载地址PECL :: Package :: dio 0.2.0 for Windows注意要与使用的PHP版本保持一致下载后将php_dio.dll文件拷贝到/Extensions/php/php7.0.9nts/ext/目录下再打开php.ini删除掉“extensiondio”前面的分号如果没有则直接添加即可最后重启Apache
四、添加模拟串口
使用“VSPD”添加两个模拟串口详细可参看“【PHP】PHP实现与硬件串口交互接收硬件发送的实时数据上_php串口通信-CSDN博客”
五、PHP发送数据给硬件 后端逻辑 1、接收前端发送的数据 2、设置参数com4、baud、data、stop参数要与上传串口调试工具上的参数一致 3、打开串口并发送数据 前端逻辑 1、设置定时器每1.5s自动发送一次数据 2、计算发送次数 PHP代码
/*** 发送数据 页面*/
public function put()
{return $this-fetch();
}/*** 发送指令* com8接收端*/
public function putCom(){$in input(post.data);$end \r\n; //结束符//定义com接收端口 baud 波特率 data 数据位 stop 停止位 由供应商提供$comCOM8; $baud 9600; $data8; $stop 1;set_time_limit(0);exec(mode .$com.: baud.$baud. data.$data. stop.$stop. parityn xonon,$output);//打开串口 O_RDWR读写模式 O_RDONLY只读$ck fopen($com, w);//如果打开串口失败停止脚本并输出“打开串口COM3失败”if(!$ck){return apiResponse(110,打开串口 . $com . 失败);}//向串口发送数据;fwrite($ck, $in);//关闭端口 fclose($ck);return apiResponse(200,success);} 前端代码
html
headtitle实时发送COM串口数据/titlescript typetext/javascript src/static/index/js/jquery-1.11.3.min.js /scriptscript typetext/javascript src/static/index/layui/layui.js/scriptlink relstylesheet typetext/css href/static/index/layui/css/layui.css
/head
bodyfieldset classlayui-elem-field layui-field-title stylemargin-top: 20px;legend实时发送COM串口数据/legend/fieldsetform classlayui-form layui-form-pane action stylewidth:60%; margin: 0 auto;div classlayui-form-item div classlayui-block label classlayui-form-labelCOM数据/labeldiv classlayui-input-block input typetext namedata autocompleteoff classlayui-input value/div/div/divdiv classlayui-form-item style padding: 10px; background-color: #F2F2F2; div classlayui-carddiv classlayui-card-header stylefont-size: 18px发送次数/divdiv classlayui-card-body idresult stylefont-size: 16px/div/div/div /form/bodyscriptlayui.use([form,element], function(){var form layui.form,$ layui.jquery,element layui.element;// setTimeout(getCom, 1000);$(document).ready(function(){c setInterval(getCom,1500); //每1.5秒执行一次});// 记录数据是否发生变化var change 0;// 记录未发生变化次数var flag 0;function getCom() {var data $(input[namedata]).val()$.ajax({url:putCom,type:post,dataType:JSON,data:{data:data},success:function (res) {// console.log(data)console.log(res)if (res.code 200) {$(#result).empty();var html if (change res.data) {flag 0 //数据发生变化后重置变化次数// 未发生变化html span stylecolor:green未发送:flag/span}else{// 发生了变化flaghtml span stylecolor:red已发送flag/span}$(#result).append(html)}else{layer.msg(res.data)}}})}
})/script
/html
PHP实时接收硬件发送的数据可查看
【PHP】PHP实现与硬件串口交互接收硬件发送的实时数据上_php串口通信-CSDN博客