PHP与PHP数据传输这需要用ajax来实现
index.php
html
titlephp jquery ajax json简单小例子/title
?php
header("Content-Type:text/html;charset=utf-8");
?
head
script type="text/javascript" src="https://www.04ip.com/post/
script type="text/javascript"
$(function() {
$("#subbtn").click(function() {
var params = $("input").serialize();
var url = "1.php";
$.ajax({
type: "post",
url: url,
dataType: "json",
data: params,
success: function(msg){
var backdata = "https://www.04ip.com/post/您提交的姓名为:"msg.name
"br / 您提交的密码为:"msg.password;
$("#backdata").html(backdata);
$("#backdata").css({color: "green"});
}
});
});
});
/script
/head
body
plabel for="name"姓名:/label
input id="name" name="name" type="text" /
/p
plabel for="password"密码:/label
input id="password" name="password" type="password" /
/p
span id="backdata"/span
pinput id="subbtn" type="button" value="https://www.04ip.com/post/提交数据" //p
/body
/html
1.php代码:
?php
//接收数据-处理数据-返回数据
echo json_encode($_POST);
?
USB是怎么传送数据的1 USB的结构与工作原理
1.1物理结构
USB的物理拓扑结构如图1所示 。在USB2.0中 , 高速方式下Hub使全速和低速方式的信令环境独立出来,图2中显示了高速方式下Hub的作用 。
通过使用集线器(Hub)扩展可外接多达127个外设 。USB的电缆有四根线,两根传送的是5V的电源,另外的两根是数据线 。功率不大的外围设备可以直接通过USB总线供电,而不必外接电源 。USB总线最大可以提供5V 500mA电流,并支持节约能源的挂机和唤醒模式 。
1.2 USB设备逻辑结构
USB的设备可以分成多个不同类型,同类型的设备可以拥有一些共同的行为特征和工作协议,这样可以使设备驱动程序的编写变得简单一些 。USB Forum在USB类规范?2?中定义了USB的设备类型,比如音频、通信、HID、HUB等设备类 。
每一个USB设备会有一个或者多个的逻辑连接点在里面?每个连接点叫端点 。在USB的规范中用4位地址标识端点地址,每个设备最多有16个端点 。端点0都被用来传送配置和控制信息 。在NS公司的USB接口芯片USBN9602?4?中有7个端点 。
管道实现了在主机的一个内存缓冲区和设备的端点之间的数据传输,连接端点0的叫做缺省管道 。管道是具有多个特征的信道 , 如带宽分配,包大小,管道类别以及数据流向 。管道有两种类型分别是流管道(stream pipe)和消息管道(messagepipe) 。流管道传输的数据包的内容不具有USB要求的结构,它是单向传输的;流管道支持批量、等时和中断传输方式 。而消息管道与流管道具有不同的行为 。首先,由主机发请求给USB设备,然后在适当的方向上传输数据,最后是到达一个状态阶段 。为了保证三个阶段的数据传输,消息管道定义了一个数据结构使命令可靠地被识别和传输 。消息管道是双向的,它只支持控制传输方式 。
对于同样性质的一组端点的组合叫做接口 , 如果一个设备包含不止一个接口就可以称之为复合设备(见图1) 。
对于同样类型接口的组合可以称之为配置 。但是每次只能有一个配置是可用的,而一旦该配置被激活,里面的接口和端点就都同时可以使用 。主机从设备发过来的描述字中来判断用的是哪个配置?哪个接口等等?而这些描述字通常是在端点0中传送的 。
1.3 USB通信分层模型
一台主机到设备的连接需要许多层与实体之间的相互作用 。USB总线接口层提供了主机和设备之间的物理/信令/包的连接 。在系统软件看来,USB设备层执行的是一般的USB操作 。功能接口层提供和应用软件层相对应的附加功能 。分层模型如图3所示,虽然逻辑上USB设备层和功能层各自与主机上的相应层通信,但物理上都是通过USB总线接口层实现数据传输的 。
1.4 四种传输方式
USB提供了四种传输方式 , 以适应各种设备的需要 。这四种传输方式分别是:
控制传输方式:控制传输是双向传输,数据量通常较?。?主要用来进行查询、配置和给USB设备发送通用的命令 。控制传输主要用在主计算机和USB外设中端点0之间 。
等时传输方式:等时传输提供了确定的带宽和间隔时间 。它被用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传送率的即时应用中 。例如进行语音业务传输时,使用等时传输方式是很好的选择 。
中断传输方式:中断方式传送是单向的并且对于主机来说只有输入的方式 。中断传输方式主要用于定时查询设备是否有中断数据要传送,该传输方式应用在少量的、分散的、不可预测的数据传输 。键盘、游戏杆和鼠标就属于这一类型 。
大量传输方式:主要应用在没有带宽和间隔时间要求的大量数据的传送和接收,它要求保证传输 。打印机和扫描仪属于这种类型 。
在开发USB设备时通过设置接口芯片中相应的寄存器使端点处于不同的工作方式 。
1.5 USB通信协议
USB的物理协议规定了在总线上传输的数据格式,一个全速的数据帧有1500字节,而对于低速的帧有187字节 。帧的作用是分配带宽给不同的数据传送方式 。
一个最小的USB的数据块叫做包,包通常有同步信号,包标识,地址、传送的数据和CRC 。包的ID由八位组成,其中后四位是纠错位 。根据包功能的不同,在USB1.1中定义了以下四类十种:
token OUT IN SOF SETUP
data DATA0 DATA1
handshake ACK NAK STALL
special PRE
在USB2.0中又增加了几种类型的包以满足高速传输的需要 。其中data类型增加了DATA2和MDATA,handshake类型增加了NYET , special类型则增加了ERR,SPLIT,PING,Reserved 。
事务是在主机和设备之间不连续地数据交换 。一个事务通常由主机开始,一般分三个阶段,第一阶段发送token包,第二阶段发送是data包(可以向上也可以向下) , 在数据包传送完之后,就会由设备返回一个handshake包 。
当客户端程序通过一个USB管道发送或接收数据时,它首先会调用Win32API,API会发送一个IRP到USB设备驱动程序 。USB设备驱动程序的任务就是把客户端的请求通过一个管道发送到外设合适的端点 。为了实现这个任务,USB设备驱动程序会递交请求给总线驱动程序,总线驱动程序可以把这些请求转变成事务,然后将这些事务组合成帧在总线上传输 。
1.6 USB带宽分析举例
在USB1.1标准中将其有效的带宽分成?。?每帧通常是1ms长 。但由于USB2.0的传输速率可高达480Mbps,因此在USB2.0增加了一种微?。?它只有原来帧的1/8 , 这使得在传输数据时使用更小的缓冲 。在完成了系统的配置信息和连接之后,USB的主机就会对不同的端点和传输方式做一个统筹安排,用来适应它的带宽 。对全速和低速的端点,系统为等时和中断方式的传输保留整个带宽的90% , 即占每个帧时间的90%,剩下的就安排给控制方式传送数据 。在USB2.0中,对于高速的端点,则为等时和中断方式的传输保留每个微帧的80% 。
以等时传输为例,在某个配置中作为一个等时传输管道的端点,定义了它能传输的数据有效负载的长度 。USB系统软件用这个长度限制去保证足够的总线时间使每帧的内容能容纳最多的数据有效负载 。如果有足够的总线时间,配置才会建立 。每个等时管道的数据有效负载可以是1,2,4 , ...,512,1023字节 。
例如 , 当数据包最大有效负载为512个字节时,一个全速帧(1500字节)最多可以传输2个这样的包 。除去协议开销的18个字节,剩余458个字节可以用于其他事务的传输 。因此每帧有效字节数为2个包的字节即1024字节,因此最大带宽为1.024Mbyte/s,每个包的有效字节占整个帧的35% 。同样可推算,数据有效负载长度为64、128或256时其最大带宽值最大 , 为1.28Mbyte/s 。
在USB2.0高速工作方式下,每个等时管道的数据有效负载可以是1,2,4,...,2048,3072字节 。当数据有效负载长度为1024时其最大带宽值最大,为5.7344Mbyte/s,每个包的有效字节占整个微帧的14% 。
PHP如何写一个给外人上传数据的接口?接口的流程.
【php向usb口发送数据 php 端口转发】建立控制器(访问地址)-审核访问者身份(token)-验证提交数据是否符合类型(validate
)-处理接收数据(逻辑流程)-返回结果(json字符串).
其中要注意是否存在跨域,如果跨域要做跨域处理,例如返回jsonp.
网页语言PHP可以通过控制电脑的usb接口与单片机通信么php不是底层开发语言 , 因为要控制usb和单片机通信,需要自己额外弄一个底层驱动
请问,可以用php通过电脑的usb与单片机通信么 , usb跟串口的区别在哪里貌似php还不能实现串口通讯 。本人去年也是想着做这样的项目,后来经过搜索后果断使用Java做项目了 。你说的usb转rs232的接线其实本质还是一样的 。还是php与端口间的通讯 。因为usb转rs232其实是一个虚拟的窗口端口 。还是在做的串口通讯 。现在一般实现串口通讯都是C、C、C#、VB、VC、Java等 。php貌似还没有串口通讯的开源代码 。
php可以实现USB通信吗php实现实时通信一般有两种方式:socket或comet 。
socket是比较好的解决方案,问题在于不是所有的浏览器都兼容,服务器端实现起来也稍微有点麻烦 。
comet(基于HTTP长连接的"服务器推")实现起来更加方便,而且兼容所有的浏览器 。
comet也有好几种实现方式,如iframe, http long request等 。
关于php向usb口发送数据和php 端口转发的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 鸿蒙os2.0测评,鸿蒙 os20
- 什么是整个视频拍摄,拍摄视频用什么设备
- 模拟动作单机游戏,模拟动作单机游戏推荐
- go语言的into用法 go语言goto语句
- html5图文教程详解,html5图片
- 冒险角色扮演单机游戏大全,角色冒险单机手机游戏
- 安卓系统开直播教程图,安卓系统开直播教程图片怎么看
- oracle怎么去空格 oracle去空格trim
- 关于旧微信如何开通视频号的信息