动环监控系统简述
1.术语介绍
1.1 省集中监控中心-Province Supervision Center(PSC)
面向多FSU管理的高级监控层次,即省集中监控中心,通过开放的数据协议,连接监控范围内的FSU。
1.2 现场监控单元-Field supervision unit(FSU)
监控系统的最小管理子系统,由若干监控模块和其它辅助设备组成,面向直接的设备数据采集、处理的监控层次,可以包含采样、数据处理、数据中继等功能,
监控范围一般为一个独立的通信局(站)或大型局(站)内相对独立的电源、空调设备及环境。
1.3 监控对象 Supervision Object(SO)
被监控的各种电源、空调设备及机房环境。
1.4 B接口
为省集中监控中心(PSC)与现场监控单元(FSU)之间的接口。(即FSU的北向接口)
2. 接口网络结构
FSU与PSC之间通过WebService和FTP方式互联,二者同时形成完整的B接口协议标准。
B接口在嵌入式arm监控主机上的实现
环境
宿主机平台:Ubuntu 16.04.6
目标机平台:iMX6UL
交叉编译:gcc-linaro-4.9-2014.11 arm-linux-gnueabihf-gcc https://www.linaro.org/downloads/
SOAP/XML 关于C/C++ 语言的实现 gsoap_2.8.83 https://sourceforge.net/projects/gsoap2/files/
XML数据的生成和解析 tinyxml2
1. gsaop 生成 B接口报文协议 C代码框架
gSOAP编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现,从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多。
绝大多数的C++web服务工具包提供一组API函数类库来处理特定的SOAP数据结构,这样就使得用户必须改变程序结构来适应相关的类库。
与之相反,gSOAP利用编译器技术提供了一组透明化的SOAP API,并将与开发无关的SOAP实现细节相关的内容对用户隐藏起来。
1.1 gsaop在linux下的安装
gsoap安装编译依赖
sudo apt-get install build-essential libgtk2.0-dev libglib2.0-dev checkinstall m4 flex bison automake autoconf openssl libssl-dev
为了成功编译gSOAP,您需要安装GTK+的开发文件和GLib库(libraries)。
安装Checkinstall以便管理您系统中直接由源代码编译安装的软件。
安装YACC,YACC是Unix/Linux上一个用来生成编译器的编译器(编译器代码生成器),sudo apt-get install flex bison
安装OpenSSL,web通信的加密(https)及鉴权 sudo apt-get install openssl libssl-dev
安装编译步骤:
解压
unzip gsoap_2.8.83.zip mkdir gsoap_install cd gsoap-2.8/
配置安装路径、编译、安装
./configure --prefix=/home/wangh/workspace/wh_tools/gsoap_install sudo make sudo make install
使用gsoap生成 fsu 代码框架
新建gsoap_fsu文件夹,从gsoap_install文件夹中拷贝以下文件
bin/soapcpp2 bin/wsdl2h
gsoap2.8/gsoap/typemap.dat
custom和import文件夹
1.使用wsdl2h工具,根据WSDL产生头文件,执行以下命令
./wsdl2h -P -x -c -s -t ./typemap.dat -o fsu.h FSUService.wsdl
其中-c为产生纯c代码,默认生成 c++代码;
-x 不产生xml文件(可用可不用,xml有一定帮助,但是太多);
-s为不使用STL库,-t为typemap.dat的标识。
详情可通过wsdl2h.exe -help查看帮助。
这里的WSDL文件,可以在wsdl2h命令中在线下载,也可以先下载到本地,然后引用本地WSDL文件,我这里是采用本地文件方式。
2. 使用soapcpp2工具,根据头文件 fsu.h 产生框架代码,执行以下命令
./soapcpp2 -2 -C -L -c -x -I import:custom fsu.h
3. 提取有效核心代码用于应用编程
2. B接口报文协议分析与实现
原文地址:https://www.cnblogs.com/silencehuan/p/11018966.html