SVS SV-NET-SERVER多媒体网络中控服务器说明
该网络服务器采用64位ARM9微处理器,频率400MHz,运行WINCE5.0操作系统。为保证系统长时间不间断运行,PCB按工业级标准设计。采用AC220/110V电源供电。
机器接口:
1、标准RJ45网络接口一个;
2、DB9型串口两个,一个用于机器设置,一个用于控制数据传输;
3、USB 接口一个,用于机器软件更新;
4、电源接口一个。
指示灯:电源指示灯、网络状态指示灯。
机箱尺寸:采用1U标准机箱。
网络架构:
功能描述和实现方案:
嵌入式网络中控服务器介于网络中控与触屏之间,是触屏控制各网络中控的桥梁。中控服务器的主要功能就是将触屏与网络中控进行对接,两者通信数据流分上行和下行:下行,触屏生成控制代码将数据通过中控服务器下发到指定的网络中控;上行,网络中控生成的反馈代码亦需经中控服务器上传到触屏。中控服务器设为TCP服务端,各网络中控为TCP客户端,主动连接中控服务器,中控服务器将实时记录连接的网络中控MAC地址。触屏与中控服务器的通信可以下面两种方式:
1. 为触屏每一串控制代码打包上要控制的网络中控MAC地址的指定受控端和主控端。中控服务器根据每一数据包的MAC地址查询连接其中的网络中控,将数据转发。
2. 增加一个新的协议数据包(指定受控端和主控端),用该协议包指定触屏即将操作的网络中控。当触屏首先发送这一数据包时,中控服务器利用数据包中的MAC查询连接其中的网络中控,将该中控作为当前操作中控,以后触屏发的所有控制代码均由中控服务器发往该网络中控。如果要操作另一台网络中控,则再发送包含这一台中控的MAC的数据包。
两种方式优缺点:
方案一:优点是,指令中控操作包含在了每一控制代码中,无须单独指定待控制中控,同时数据反馈双向反馈;缺点是,触屏编码繁琐,每一串控制代码都要打包上指定受控端和主控端协议。
方案二:优点是,不需为每一串控制代码打包上网络中控的MAC地址;直接指定受控端和主控端,然后发控制系统代码,双向反馈。
系统应用调试:
本网络中控服务器可广泛用于本地设备集中控制、本地控制远程设备、远程控制本地设备等。本地控制可以连接中控232串口通过服务器发送代码进行控制,有网络模块的中控也可以通过网线接收代码使其受控。如大型电教室、多媒体厅,一栋楼多个房间或几栋楼之间的设备集中控制,只需将设备连入网络,用交换机连通起来即可用触屏方便控制;远程控制时双方设备都连入网络,主控方只需在软件里添加受控方的网络设备参数即可编程进触屏对其进行控制。远程控制本地设备时,远程发送来的代码经过本地服务器网络模块再由232连接受控设备使其受控。
服务器连接参数说明:
服务器连接触屏与各网络中控,其中与网络中控的连接使用TCP,与触屏的连接经无线网络模块通过RS232通讯。
1.与网络中控的TCP通讯
服务器采用TCP的Server模式,端口采用固定值1024,网络中控选择TCP客户模式,并勾选专用模式。
2.与无线模块的RS232通讯
无线模块的串口参数:波特率9600,数据位8,停止位1,校验无。
3.与无线模块的TCP通讯
软件操作和通讯协议:
1、将中控服务器和网络模块、中控设备、后台控制电脑连入网络后,在控制电脑上打开网络中控服务配置软件,点搜索,进行服务器搜索,如图一所示:
图一
2、搜索出中控服务器后点设置,如图二所示:
图二
3、点连接,如图三,连上服务器以后,依次搜索设备并进行添加,如图四所示,连上设备后如图五所示,
图三
图四
图五
4、通讯协议
当连接网络模块时,两种方式可控:
1). 先发代码“5A 08 01 0D XX”设置主控端,XX为设备ID,
再发代码“5A 00 01 0D YY”指定受控设备,YY为设备ID,
然后发中控控制代码即可控制中控。
2).先发代码“5A 08 01 0D YY”设置主控端,YY为设备ID,
然后再发送指定控制设备代码“5A 02 AA 0D BB CC”,
其中AA为CC字节长度+1,BB为设备ID,CC为要发的控制代码。
当连接服务器串口时(默认服务器为主控端),两种方式可控:
1).可先发代码“5A 00 01 0D XX”指定受控设备,XX为设备ID,
然后直接发中控控制代码即可控制中控。
2).也可直接发送指定控制设备代码“5A 02 AA 0D BB CC”,
其中AA为CC字节长度+1,BB为设备ID,CC为要发的控制代码。
网络模块搜索和配置协议按原IPRS网络模块协议(见附件)设计。
版本:1.0d
一、协议的基本结构。
1、 标志项固定值暂定为:IPRS(大写),C格式为 0x53525049;
2、 版本项高16为主版本号,低16位为次版本号。当前版本为 1.0,C格式为0x10000;
3、数据类型用于区分和解释数据结构。当前定义:
0 搜索设备消息(一般后面的数据尺寸为0);
1 搜索设备回应消息;
2 设置设备消息;
3 设置设备回应消息。
4、数据尺寸用于描述后面附带数据的长度,以字节为单位。
5、数据主体部分(根据数据类型和数据尺寸进行判断处理)。
C格式的协议定义可参考如下:
typedef struct tagIPRSProtocol
{
DWORD dwSignature;
DWORD dwVersion;
WORD wDataType;
WORD wDataSize;
BYTE pbData[];
} IPRSPROTOCOL;
二、详细协议由如下四部分组成:
1、搜索设备协议。
该协议用于广播搜索网络上的设备,共有如下两种情况:
a.搜索所有设备,实例如下:
b.搜索单个设备,实例如下:
数据部分解释:
数据部分为目标MAC地址,设备取该MAC地址与自身(内置)的MAC地址进行比较过滤,如果是自身则回应,否则丢弃。
2、搜索设备回应协议。
设备收到搜索设备的信号时,需要作出回应。向搜索源发出该协议数据。实例如下:
其中数据部分解释如下:
C格式可参考如下:
#pragma pack(1)
typedef struct tagIPRSDeviceConfig
{
char szDescription[ 33 ];
BYTE pbMACAddress[ 6 ];
DWORD dwLocalIPAddress;
WORD wLocalPort;
DWORD dwSubnetMask;
DWORD dwGatewayIPAddress;
DWORD dwRemoteIPAddress;
WORD wRemotePort;
BYTE cNetMode;
BYTE cReserved;
BYTE cBaudRate;
BYTE cDataBits;
BYTE cStopBits;
BYTE cParityType;
} IPRSDEVICECONFIG;
#pragma pack()
专用模式1的解释:
1、只对设备设置为TCP客户方式时有效。
2、当设备作为TCP客户并成功连接服务器后,在任何情况下,都要首先发送专用数据一次,才进入正常通讯模式。专用数据解释如下:
CRC32的算法如下:
1、 把数据流按4字节对齐,不足的部分用0字节补齐。
例如5个字节为 11 22 33 44 55,则应补3个为0的字节,变换为 11 22 33 44 55 00 00 00,如果是11个字节则补1个0成12字节,如此类推。如果是0字节的数据则不用补。
2、 假定对齐后的数据为N个字节,那么也看成有N/4个4字节,取CRC32初值为0,与第一个4字节XOR,其结果减1。
3、 上一步的结果再与下一个4字节XOR,其结果减1。
4、 重复3步,直到所有的4字节都计算完毕,最后的结果即CRC32值
注意:对于非32位字长的系统,其算法也应按以上工作原理进行换算,尤其是进行减1操作时的退位运算。
3、设置设备协议。
当需要对设备进行设置时,可广播发出该协议数据。实例如下:
数据部分解释如下:
C格式可参考如下:
#pragma pack(1)
typedef struct tagIPRSSetupDevice
{
BYTE pbTargetMACAddress[ 6 ];
IPRSDEVICECONFIG config
} IPRSSETUPDEVICE;
#pragma pack()
设备可取数据部分中的pbTargetMACAddress项与自身(内置)的MAC地址进行比较过滤,如果是自身则保存,否则丢弃。
4、设置设备回应协议。
当设备接收到设置设备协议后,在正确完成保存操作后应返回一个回应协议。
三,通讯规则。
1、 进行设备搜索时,搜索方将进行数次广播尝试(暂定为3次),间隔为1-2秒。即每秒钟发出一次搜索协议,共发三次。
2、 设备方每收到一次搜索协议,应立即返回一次搜索设备回应协议给搜索方。每次返回的信息相同,搜索方根据设备的MAC地址作为设备的唯一标识并作记录。
3、 进行设备设置时,设置方可根据搜索设备时所收集到的设备信息对单个设备进行设置。同样是进行数次广播尝试(暂定为3次),间隔为1-2秒。在设置的过程中,如果收到设置设备的回应协议,则停止后面的设置尝试。
4、 设备方每收到一次设置设备协议,应立即返回一次设置设备回应协议给设置方。
本文来源:https://www.2haoxitong.net/k/doc/62dcca3a87c24028915fc35c.html
文档为doc格式