当前位置:首页 > 嵌入式 > 嵌入式教程
[导读] 基于嵌入式WEB的电站数据动态监控软件设计

摘要:采用ARM11微处理器SC6410结合485及以太网通信构建了嵌入式Linux上的WEB服务器,实现了对太阳能发电站监测系统的动态数据采集、分析、处理、存储和显示。实际长期运行表明,该系统能够稳定完整地监测现场设备运行状况,具有系统运行占用资源少、不需要额外的客户端、用户界面友好等优点。
关键词:嵌入式Web服务器;Linux;ARM;Appweb

    监控系统分2种,C/S模式和B/S模式。C/S模式需要在PC安装客户端,在嵌入式系统上还需要安装服务端,这在设计上不仅加大了开发工作量,而且还得配备专用电脑,但有时候在工业现场上是没有办法做到的。而B/S模式则显得其灵活性和成本低廉性。首先在B/S模式下面我们只需要开发单个WEB应用,客户端和服务端程序都不需要。其次还可以用具备浏览器的终端设备来随时随地浏览察看和控制后端设备。另外还可以省下其他监控硬件设备,有效降低了成本,增强整套系统市场竞争力。
    综合考虑本系统采用B/S方式。监控系统以ARM11微处理器(SC6410)为硬件核心,嵌入式Linux为软件核心的综合平台方案。在此平台上设计了基于Linux嵌入式Web太阳能监控系统。此监控系统以Ajax为网页前端通讯方式,Cgi进程、Php进程、485进程为后端数据处理方式。监控系统只存设备上运行,在和设备联网的任何地方,仪通过浏览器就可以直接监控太阳能设备,打破了距离的限制,提高了软件的保密性。

1 监控系统的硬件结构
    监控系统硬件分为核心板和底板2个部分。核心板使用S3C6410处理器,外扩128MB SDRAM和256MB FLASH外部存储器。底板采用的是RS4 85采集接口,3线RS232串口,SD卡存储接口以及以太网控制器和RJ45组成的以太网接口,硬件结构如图1所示。


    RS485通讯接口按照协议把太阳能设备参数读取并发送主控芯片(S3C6410)。主控芯片接受485采集数据并存放Sqlite3数据库。经程序处理、分析后的数据在网页上以动态曲线和表格形式显示,除此之外实现网页上发送指令修改太阳能设备参数。该监控系统完成参数以表格和曲线等多种形式的展示以及太阳能设备参数的配置,极大方便了客户,提高了客户使用友好性。

2 监控系统运行环境移植
2.1 嵌入式CGI的C库移植
2.1.1 下载cgic205.tar.gz
    下载地址:http://www.boutell.com/cgic/#0btain
2.1.2 解压
    解压压缩文件到/home/cgic/目录
     #tar -czvf cgic205.tar.gz
     #cd cgic205
2.1.3 编译
    修改其makefile里面的编译参数
    CC=arm-linux-gcc
    AR=arm-linux-ar
    RANLIB=arm-linux-ranlib。
    #make
    拷贝libcgic.a库到设备/usr/lib/目录下。
2.2 嵌入式数据库Sqlite3移植
2.2.1 下载sqlite3-autoconf-3070900.tar.gz
    下载地址:http://www.sqlite.org/download.html
2.2.2 解压
    解压压缩文件到/home/sqlite3/目录
    #tar -czvf sqlite3-autoconf-3070900.tar.gz
    #cd sqlite3-autoconf-3070900
2.2.3 编译
    #./configure      \
    --host=arm-linux-       \
    --prefix=/opt/sqlite3/install3.7.4      \
    --disable--tc      \
    #make
    #make install
    拷贝/opt/sqlite3/install3.7.4目录下lib和bin文件到设备上对应目录。
2.3 WEB服务器Appweb软件移植
2.3.1 下载Appweb3.3.0.tar.gz
    下载地:http://appwebserver.org/downloads/appweb/download.ejs
2.3.2 解压
    解压文件到/home/appweb/目录
    #tar -czvf appweb3.3.0.tar.gz
    #cd appweb3.3.0
2.3.3 编译
    #./configure       \
    --prefix=/home/my      \
    --target=arm-sc6410-linux     \
    --build=i686-pc-linux            \
    --enable-log                        \
    --static                       \
    --port=80                          \
    --with-php=/home/cgi-php;      \
    #make TRACE=1
    #make ROOT_DIR=/home/my install
    在/home/cgi-php目录里面要有编译好的php5动态库,编译的Appweb服务器才会支持php功能。
    拷贝home/my目录里面的文件到设备对应目录,同时拷贝php动态库到/usr/lib目录,至此监控系统运行环境移植完毕。
2.3.4 验证Appweb服务器
    编写以下代码并保存为文件test.php,放至设备/www/目录下
    
    在PC机浏览器地址上输入设备地址:192.168.0.80/test.php.如果浏览器网页中显示“ok php”,就证明嵌入式Appweb带php开发功能且支持Sqlite3数据库软件运行环境已经移植完毕。现在Web服务器能支持Cgi和Php这两项功能,而类似boa,shttpd等嵌入式Web只是支持Cgi,在后台的处理上功能比较弱,不能完成较复杂的数据处理。

3 监控系统软件的设计与实现
    监控系统软件基于Linux操作系统,主要分为Cgi模块、Php模块、485进程模块。Cgi模块主要是要负责密码验证、修改、以及发送消息给485扫描进程进行对太阳能设备参数进行配置。Php模块主要负责从数据库中提取出数据分析、处理后送给前台。485进程模块主要是自定义通讯协议,扫描在线太阳能逆变器来获取其基本属性参数并且经过处理后存放在设备sqlite3数据库里,一切图形显示和图表显示以及参数修改等数据全部是从数据库中取得。监控系统软件架构及其功能模块如图2所示。


3.1 监控系统软件设计技术
3.1.1 软件通讯技术
    软件通讯方式是Ajax,她是结合了Java技术、XML以及JavaScriDt等编程技术,可以让开发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例。用户可以创建接近本地桌面应用的直接、更丰富、更动态的Web用户界面。
3.1.2 软件Javascipt基础库
    整个系统软件前端软件开发主要是基于Jayascipt的库JQuery。她简化了前端开发的工作,提供了丰富的函数接口。
3.1.3 软件曲线显示插件技术
    系统曲线显示部分主要是由Flot插件来完成的。Flot是一个非常强大的利用js来画出图表的jquery插件,并且支持几乎所有主流浏览器,包括IE6+。在本系统中主要采用此插件来完成历史和实时曲线的绘制。
3.1.4 软件图表显示插件技术
    系统图表显示部分主要是由JGrid插件实现。她能完成大部分常用工作的表格和分页功能的表单,在本系统中主要用来显示和实时更新在线太阳能设备的基本参数。
3.2 监控系统软件Cgi模块
    Cgi模块分为前端和后端两个部分,前端主要是html元素的编写和布局以及相关元素对应事件函数的编写,后端是负责处理html网页传送过来的数据并且处理完毕返回给网页调用函数需要的数据,网页利用得到的数据更新原来网页上的数据。图3是Cgi功能模块。


3.2. 1 Cgi前端编程
    Html网页js函数提交数据有post和get两种方式,本系统采用方式是post方式。前台(html)调用cgi程序实例:

    
    Cgi程序通过cgic库提供的api函数获取从前台网页传过来的数据{ID:addr,Value:value},处理数据后依需求发送消息给485进程,并查询数据库检查命令是否设置成功,当然也有独立的查询数据库来验证密码或者修改密码之类的操作。
3.2.2 Cgi后端编程
    
3.3 监控系统软件Php模块
    Php模块从数据库提取需要的数据整理处理后以JSON格式发送前台。图4是Php功能模块。


3.3.1 Php前端编程
    这个部分和Cgi部分是一样的,编写调用Php模块js函数。
3.3.2 后端php编程
    
   

4 运行效果
    测试满足实际现场需求,如图5和图6以及图7所示。



5 结束语
    文中介绍了基于ARM嵌入式电站动态数据监控的一种新设计方案,给出了详细的硬件和软件组成和设计实现,并且针对电站数据的实时显示和历史数据的查询以及电站基本参数的配置等核心问题,提出了一套可靠的设计方法,实际长期运行证明该监控软件运行稳定、实际占用资源少、界面易于操作、符合现场要求,具有十分广泛的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭