上位机软件接口说明_第1页
上位机软件接口说明_第2页
上位机软件接口说明_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上位机软件接口说明1.基于数据流的socket编程接口a.基于数据流的socket编程流程如下图1所示。上位机软件是服务器,月 球车软件是客户机。服务器建立连接请求数据处理服务请应答数据客户机图1基于数据流的socket编程流程b.上位机服务器侦听自己IP地址和端口 7001,等待客户机Socket连接 等到客户机 connect ()操作的上位机等待并读取客户机的“请求数 据”,上位机处理服务请求后,写入“答应数据”给客户机,其流程如 上图所示。客户机发起请求,上位机答应请求,命令总长度是40个字节,上传图像数据命令长度例外,命令长度不够40字节,数据内容填0.客户机发给上位机通讯命令格式如

2、下:起始码(0x55, 1字节)+长度(2字节,包括命令码和数据内容)+命令码 (1字节)+数据内容(长度-1字节)上位机回应客户机通讯命令格式如下:取反起始码( 0xaa, 1字节) +长度( 2字节,包括命令码和数据内容) +取反 命令码( 1字节) +数据内容(长度 -1 字节)客户机发给上位机具体命令码定义:1. 0x01 客户机请求启动月球车 数据内容:无2. 0x02客户机请求上传图像数据内容:需要传输图像总共有多少字节3. 0x03 客户机上传图像数据 数据内容:图像数据4. 0x04 客户机请求上传采集数据 数据内容:采集数据上位机回应客户机具体命令码定义:1. 0xFE 上位

3、机回应客户机是否启动月球车请求 数据内容:第 1 字节为 0马上启动,非 0 表示月球车等待非 0 秒后再 发启动月球车请求。2. 0xFD 上位机回应客户机上传图像请求 数据内容:第 1 字节为 0马上启动,非 0 表示月球车等待非 0 秒后再 发上传图像请求。3. 0xFC上位机回应客户机上传图像数据是否成功数据内容:第 1 字节为 1成功, 0失败4. 0xFB上位机回应客户机上传采集数据请求数据内容:第 1 字节为 1成功, 0失败举例说明:1. 客户机请求启动月球车及回应命令示例 客户机发给上位机请求启动月球车命令为0x55 0x00 0x25 0x01 0x00, . 0x00 总

4、共 40 字节),其中 0x00 0x25 为命令 + 数据内容长度,为 37 个字节, 0x01 为命令码,数据内容全是 0。上位机回应 客户机可以马上启动月球车命令为0xaa 0x00 0x25 0xFE 0x00, . 0x00 (第 1 字节数据为 0)2. 客户机请求上传图像及回应命令示例客户机发给上位机请求上传图像命令为0x55 0x00 0x25 0x02 0x00, 0x 00, 0xA0, 0x00, 0x00, 0xA0, 0x00, 0x80. 0x00 (总共40字节),其中0x00 0x25为命令+数据内容长度,数据内容:0x00, 0x00, 0xA0, 0x00

5、为图像大小 =0xA000=40960 字节,其后 2个字节 0x00, 0xA0是图像长度,再其后2个字节0x00, 0x80是图像宽度。上位机回应 客户机可以马上传输图像数据命令为0xaa 0x00 0x25 0xFD 0x00, . 0x00 (第 1 字节数据为 0) 客户机发给上位机请求上传上传图像数据命令为0x55 0x03 0x00 0x03 0xa2, 0x3f, . 0xd0 总共 0x300=768字节,数据内容 767字节)。0xa2, 0x3f, . 0xd0为图像数据上位机回应 客户机传输图像数据是否成功命令为0xaa 0x00 0x25 0xFC 0x00, . 0

6、x00(第 1 字节数据为 0,传输成功)3. 客户机请求上传采集数据及回应命令示例0x55 0x00 0x25 0x04 0x0d, . 0x44 总共 40 字节),其中 0x00 0x25 为命令 + 数据内容长度,为37个字节,0x0d, . 0x44为采集数据内容。上位机回应 客户机可以马上启动采集数据命令为0xaa 0x00 0x25 0xFB 0x00, . 0x00 (第 1 字节数据为 0)2. 上位机图像格式转换a. CMOS 摄像头采集到的是 16bits 真彩图像,即 RGB 分别是 5、6、5bits。而计算机上显示的图像一般是24bits真彩图像,即RGB分别是8、

7、 8 、 8 b its 。因此上位机收到月球车采集的图像时,需要进行格式转换。b. 举例说明如下,CMOS摄像头采集后上位机接收了一幅320*256大小的图片,存于buffer 320*256*2中,每个像素16bits颜色信息,用2个字 节存放。上位机格式转换代码如下(在 Delphi 上测试成功,修改为 C 代 码)。注意VideoFrame.Canvas.Pixelsj, i是在画布上显示一个像素点操 作。#define LSIZE320#define RSIZE256unsigned char bufferLSIZE*RSIZE*2;int i, j, R, G, B;for (i=0 ; i<RSIZE; i+)for (j=0; j<LSIZE; j+)R = (buffer2*(LSIZE*i+j)+1 & 0xF8);G = (buffer2*(LSIZE*i+j)+1 & 0x07) << 13 + (buffer2*(LSIZE*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论