侵权投诉

基于S3C2410和操作系统实现远程测控系统的应用方案

电子设计 2021-06-08 15:54 次阅读

目前,大多数远程测控系统中,系统的硬件采用8/16位的单片机,软件多采用汇编语言编程,该编程仅包含一个简单的循环处理的控制流程;单片机与单片机(或上位机)之间的通信通过RS232、RS485或CAN总线来组成局域网,再用Pc机作为 Web服务器,与Internet进行通讯。这样的远程测控设备成本高、体积大、速度慢、功耗大。现在,32位嵌入式CPU价格已下降,性能指标也有提高,为嵌入式系统的广泛应用提供了可能性。基于上述情况,我们将嵌入式系统应用于远程测控系统,大大提高了测控系统的性能,同时降低了成本和功耗,体积也大大减小。

嵌入式系统一般应用嵌入式操作系统来开发。在嵌入式操作系统的选择上,由于Linux有完整开放的源代码,因而它具有修改和优化系统、内核稳定、适用于多种CPU和多种硬件平台、支持网络等特点,所以选择Linux作为嵌入式操作系统较好。本文提出的基于ARMlinux的嵌入式远程测控系统不仅能够实现本地数据采集与控制,还能实现远程测控任务。

1、硬件系统

硬件系统如图1。S3C2410包含一个16/32-bit的Risc(ARM920T)的CPU内核,主频200Hz,内部含有8通道1O位AD转换器和大量的I/O口、LCD控制器等丰富接口,能运行Ucosll、ARMlinux和Wince嵌入式操作系统,DM 9OOO是10M/100M以太网接口控制芯片。本硬件系统结构简单,成本低,不需要Pc机就可直接接入Internet。

2、软件系统

嵌入式操作系统是整个嵌入式系统的核心。本系统选择ARMlinux系统。由于嵌入式系统的存储容量很小,因此要把ARMLinux操作系统装入有限的存储器内,就要对它进行裁剪。很多资料对此都有论述,这里就不再累述。下面主要介绍基于操作系统上的远程测控软件设计。其体系结构如图2。

2.1 基于Boa的Web服务器

嵌入式linux主要有三个web Server:Hapd、Thttpd和Boa。Httpd是最简单的一个web Server。它的功能最弱,不支持认证,不支持CG1。Thttpd和Boa都支持认证、CGI等,功能都比较全。Boa是一个单任务的小型Httpd 服务器,源代码开放、性能优秀,特别适合应用在嵌入式系统中。下面介绍Boa的移植与编译。

对于有MMU嵌入式linux,把Boa下载到Redhat宿主机上后,解压到任意目录,再修改Boa/src/Makefde里面的编译器。例如:

CC=/opfhosfarmv41/bin/armv41—unkllown—linux—gcc

CPP=/opt/host/army41/bin/armv41—unknown—linux—g++

此后直接在Boa/src目录下执行make即可生成Boa可执行文件。将其复制到ramdisk加载mount的目录的bin里面后,等一同加入配置文件和HTML/CGI文件后,重做ramdisk即可。

配置文件Boa.conf的编制见下。

需要说明的是,Linux下的应用程序的配置都是以配置文件的形式提供的,~般都是放在目标板/ete/目录下或者/ctc/config目录下,但Boa 的配置文件Boa.conf一般都放置在目标板/home/httpd/目录下。本系统Boa.conf文件的编写程序为:

Servername S A M S U N G—A R M

DocumentRoot/home/httpd/cgi—bin/

ScfiptAlias/index.html/home/httpd/html/index.html

它指定了HTML页面index.html必须放/home/httpd/html目录下,CGI可执行文件必须放到/home/httpd/cgi~bin目录下。

2.2 CGI程序技术原理

CGI(Common Gateway Interface)是外部扩展应用程序与WWW服务器交互的一个标准接口。按照CGI标准编写的外部扩展应用程序可以处理客户端浏览器输入的数据,从而完成客户端与服务器的交互操作。而CGI规范定义了Web服务器如何向扩展应用程序发送消息,在收到扩展应用程序的信息后又如何进行处理等内容。通过 CGI可以提供许多静态的Html网页无法实现的功能。其www与CGI的工作原理如下。

HTTP协议是WWW的基础,它基于客户/服务器模型。一个服务器可以为分布在网络各处的客户提供服务。它是建立在TCP/IP协议之上的“无连接”协议。每次连接只处理一个请求。当一个请求到来时,便创建一个子进程为用户的连接服务。根据请求的不同,服务器会返回HTML文件或通过CGI凋用外部应用程序,返回处理结果。服务器通过CGI与外部程序和脚本之问进行交互,根据客户端在进行请求时所采取的方法,服务器会收集客户所提供的信息,并将该部分信息发送给指定的CGI扩展程序。CGI扩展程序对信息进行处理并将结果返回服务器。服务器对信息进行分析后,将结果发送网客户端。

外部CGI程序与www服务器进行通信、传递有关参数和处理结果是通过环境变量、命令行参数和标准输入来进行的。服务器提供了客户端(浏览器)与CGI扩展程序之问的信息交换的通道。客户的请求通过服务器的标准输出传送给CGI的标准输入。CGI对信息进行处理后,会将结果发回到它的标准输入,然后由眼务器将处理结果发送给客户端。

2.3 CGI外部扩展程序的编制

服务器程序可以通过三种途径接收信息:环境变量、命令行和标准输入。具体使用哪一种方法要由标签的Method属性来决定。在“Method=GET”时,向CGI程序传递表单编码信息的正常做法是通过命令来进行的。

大多数表单编码信息都是通过Qucry-String的环境变量来传递的。如果“Method=POST”,表单信息将通过标准输入来读取。还有一种不使用表单就可以向CGI传送信息的方法。那就是把信息直接追回在URL地址后面,信息和URL之间用问号(?)来分隔。本测控系统采用的是GET方法。下面是远程控制LED闪烁快慢的程序。其网页如下页图3,其程序如下。

;LED测试

<input type=“radio”name=“speed”value=“show”checked>慢速

<input type=“radio”name=“speed”value=“normal”>中速

<input type=“radio”name=“speed”value=“rast”>高速

<input type=“submit”value=确定“name=”submit>

其中leds.cgi程序如下:

#! /bin/sh

Period=1+case $QUERY-STRING in

*slow*)

period=0.25

;;

* normal *)

period = 0.125

;;

* fast *

period=0.0625+;;

*fast * ) + period =0.0626

;;

esac

/bin/echo $ period ? /tmp/led-control//通过Query_String的环境变量传递给应用程序。

echo “Content-type:texe/html;charset=gb2312”

echo

/bin/cat led =result.template

exit 0

led—control是编译好的可执行的应用程序,通过led驱动来实现对LED的控制。因为S3C2410有MMU,所以通过操作系统来对硬件控制需要驱动程序来实现。其数据采集部分也类似,不再单独说明。

图3 实验结果

3、测试结果

首先建立好基于S3C2410嵌入式开发环境,把编译好的booloader、嵌入式linux内核和ramdisk烧人Flash中,然后起动Boa服务器,在PC机的浏览器上输人嵌入式系统的IP地址,即显示出如图3的网页。通过点击慢速、中速和高速,再点击确定,测控板上LED的闪烁由慢变快,圆满实现了设计目标。

4、结论

找们开发的基于ARMLinux的远程测控系统,在真正意义上实现了通过互联网进行远程测控。它具有一般通用平台性能,特别适合实时性要求不很强的家电网络监控和远程工业控制。当然随着硬件和网络速度提高及操作系统实时性的改善,将会大大提高此测控系统的性能,因此有很好的应用前景。

责任编辑:gt

收藏 人收藏
分享:

评论

相关推荐

嵌入式和单片机不一样?

单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们自己的定义,接下来,...
发表于 08-05 17:31 101次 阅读
嵌入式和单片机不一样?

C51中对不可位寻址的特殊寄存器设置为啥常看到用或逻辑置位

之前一直用汇编编写51的程序,感觉比较复杂的运算还是蛮麻烦的,于是就开始学习C51编程,看到书里的实例中对一些不能进行位寻址...
发表于 08-05 17:13 48次 阅读
C51中对不可位寻址的特殊寄存器设置为啥常看到用或逻辑置位

案例分享!IMX8 Cortex-A53与Cortex-M4多核通信开发详解【含源码】

前言:本文主要演示i.MX 8M Mini基于OpenAMP的Cortex-A53和Cortex-M4核心的核间通信,其中Cortex-A53运行Linux系统...
发表于 08-05 16:31 101次 阅读
案例分享!IMX8 Cortex-A53与Cortex-M4多核通信开发详解【含源码】

【Altium小课专题 第140篇】PADS PCB如何转换成Altium Designer PCB?

Altium Designer不能直接打开PADS PCB,同样需要转换之后才能打开。(1)用PADS打开所需转换的PCB,执行菜单命令...
发表于 08-05 16:24 101次 阅读
【Altium小课专题 第140篇】PADS PCB如何转换成Altium Designer PCB?

【Altium小课专题 第139篇】Allegro PCB如何转换成Altium Designer PCB?

跟原理图一样,因为各个公司的PCB设计软件不同,可能需要复制不同软件PCB设计里面的元件封装、模块、DDR走线等元素,这...
发表于 08-05 16:07 101次 阅读
【Altium小课专题 第139篇】Allegro PCB如何转换成Altium Designer PCB?

瑞萨R7FC907B2可以跑FreeRtos吗?

请问在座的各位大佬瑞萨R7FC907B2可以跑FreeRtos吗? 可以跑的话有相关Demo可以分享吗? ...
发表于 08-05 11:35 25次 阅读
瑞萨R7FC907B2可以跑FreeRtos吗?

嵌入式开发的过程中的硬件异常死机

在嵌入式开发的过程中,当我们对于很多变量的使用理解不结合硬件便会使程序跑飞。这篇文章便分享了自己在实际项目中由于局部变量...
发表于 08-05 08:33 0次 阅读
嵌入式开发的过程中的硬件异常死机

C语言与单片机总结

一.C语言二.单片机1.IIC总结1)IIC通信IIC是飞利浦公司研发两线制串行同步半双工通信总线,通信速度(100k,400k,3.4M)...
发表于 08-05 08:26 0次 阅读
C语言与单片机总结

介绍STM32与单片机、嵌入式、ARM的关系

本文首先介绍了STM32与单片机、嵌入式、ARM的关系,然后引出了STM32系列微处理器的种类,最后简单介绍了STM32F103芯...
发表于 08-05 06:42 0次 阅读
介绍STM32与单片机、嵌入式、ARM的关系

单片机控制的可调直流稳压电源的设计与制作(毕业设计)

单片机控制的可调直流稳压电源的设计与制作(毕业设计)(现代电源技术pdf王建辉)-该文档为单片机控制....
发表于 08-04 19:10 9次 阅读
单片机控制的可调直流稳压电源的设计与制作(毕业设计)

嵌入式主板提供网络安全保障

本期上海研强给大家分享的是嵌入式主板为网络通讯安全提供保障,希望看完本篇文章您能对嵌入式主板有一个全....
发表于 08-04 16:41 38次 阅读
嵌入式主板提供网络安全保障

基于STM32单片机的时钟树设计方案

基于STM32单片机的时钟树设计方案
发表于 08-04 16:37 11次 阅读
基于STM32单片机的时钟树设计方案

基于嵌入式图像处理的仪表自动识别技术研究

基于嵌入式图像处理的仪表自动识别技术研究(有女生做嵌入式开发)-文档为基于嵌入式图像处理的仪表自动识....
发表于 08-04 15:34 16次 阅读
基于嵌入式图像处理的仪表自动识别技术研究

基于DM6646开发板的多线程编程在嵌入式图像处理中的应用

基于DM6646开发板的多线程编程在嵌入式图像处理中的应用(嵌入式开发北京)-文档为基于DM6646....
发表于 08-04 15:29 13次 阅读
基于DM6646开发板的多线程编程在嵌入式图像处理中的应用

基于嵌入式Linux系统的Qt-Embedded图像处理界面开发总结

基于嵌入式Linux系统的Qt-Embedded图像处理界面开发总结(嵌入式开发培训网)-文档为基于....
发表于 08-04 15:23 12次 阅读
基于嵌入式Linux系统的Qt-Embedded图像处理界面开发总结

嵌入式图像处理系统的设计与实现

嵌入式图像处理系统的设计与实现(嵌入式开发需要学哪些算法)-文档为嵌入式图像处理系统的设计与实现总结....
发表于 08-04 15:19 12次 阅读
嵌入式图像处理系统的设计与实现

嵌入式RFID的驱动程序设计

嵌入式RFID的驱动程序设计(嵌入式开发专业有前途吗)-本课题将RFID技术与嵌入式技术相结合,创新....
发表于 08-04 14:51 9次 阅读
嵌入式RFID的驱动程序设计

嵌入式操作系统FREERTOS移植

嵌入式操作系统FREERTOS移植(嵌入式开发环境包含哪几个主要部分)-19.1FreeRTOS简介....
发表于 08-04 14:48 12次 阅读
嵌入式操作系统FREERTOS移植

嵌入式技术在CCD成像系统中的应用研究

嵌入式技术在CCD成像系统中的应用研究(嵌入式开发需要什么条件)-嵌入式是近年来飞速发展的热点技术。....
发表于 08-04 14:35 14次 阅读
嵌入式技术在CCD成像系统中的应用研究

LDO线性稳压器嵌入式IP设计

LDO线性稳压器嵌入式IP设计(嵌入式开发板功能)-本篇论文主要是设计一种应用于soc设计的嵌入式的....
发表于 08-04 14:33 10次 阅读
LDO线性稳压器嵌入式IP设计

嵌入式实时操作系统RTThread在SEP4020上的移植

嵌入式实时操作系统RTThread在SEP4020上的移植(嵌入式开发口诀)-RT-Thread是一....
发表于 08-04 14:30 7次 阅读
嵌入式实时操作系统RTThread在SEP4020上的移植

嵌入式实时操作系统μC、OS-II在ARM上的移植.

嵌入式实时操作系统μC、OS-II在ARM上的移植.(嵌入式开发环境是什么)-本文主要研究基于嵌入式....
发表于 08-04 14:20 11次 阅读
嵌入式实时操作系统μC、OS-II在ARM上的移植.

基于LBS的嵌入式地理信息系统引擎的开发

基于LBS的嵌入式地理信息系统引擎的开发(嵌入式开发用什么开发板)-随着微电子技术、光电子技术的发展....
发表于 08-04 14:13 8次 阅读
基于LBS的嵌入式地理信息系统引擎的开发

基于μclinux的嵌入式usb主从机系统

基于μclinux的嵌入式usb主从机系统(嵌入式开发系统有哪些)-论文首先搭建了基于ARM的嵌入式....
发表于 08-04 14:08 11次 阅读
基于μclinux的嵌入式usb主从机系统

基于SEP4020和嵌入式Linux的DNC通信及监控平台研究和开发

基于SEP4020和嵌入式Linux的DNC通信及监控平台研究和开发(学嵌入式开发培训机构哪个好)-....
发表于 08-04 14:06 2次 阅读
基于SEP4020和嵌入式Linux的DNC通信及监控平台研究和开发

LBS在嵌入式GIS中的应用研究

LBS在嵌入式GIS中的应用研究(海康威视嵌入式开发面试)-智能交通系统(InelligentTra....
发表于 08-04 14:01 130次 阅读
LBS在嵌入式GIS中的应用研究

基于嵌入式技术的电熔焊接机控制系统设计与实现

基于嵌入式技术的电熔焊接机控制系统设计与实现(嵌入式开发自学靠谱吗)-聚乙烯(PE)管道在各个行业中....
发表于 08-04 14:00 6次 阅读
基于嵌入式技术的电熔焊接机控制系统设计与实现

基于嵌入式Linux的以太网与CAN和MBUS两种现场总线的通信网关设计

基于嵌入式Linux的以太网与CAN和MBUS两种现场总线的通信网关设计(嵌入式开发工作怎么这么难找....
发表于 08-04 13:56 9次 阅读
基于嵌入式Linux的以太网与CAN和MBUS两种现场总线的通信网关设计

嵌入式WiFi串口透传WiFi联网过程协议详解

嵌入式WiFi串口透传WiFi联网过程协议详解(嵌入式开发加班吗)-串口透传WiFi联网过程协议描述....
发表于 08-04 13:39 11次 阅读
嵌入式WiFi串口透传WiFi联网过程协议详解

基于嵌入式的汽车胎压监测系统的研究

基于嵌入式的汽车胎压监测系统的研究(一个嵌入式开发板有什么用)-首先,论文对TPMS技术标准进行分析....
发表于 08-04 13:36 8次 阅读
基于嵌入式的汽车胎压监测系统的研究

DNC系统嵌入式串口服务器的研究与开发

DNC系统嵌入式串口服务器的研究与开发(嵌入式开发技术面试)-随着计算机技术、网络技术在工业生产中的....
发表于 08-04 13:25 13次 阅读
DNC系统嵌入式串口服务器的研究与开发

基于工业以太网的嵌入式DNC集成通讯控制系统的研究与开发

基于工业以太网的嵌入式DNC集成通讯控制系统的研究与开发(java嵌入式开发视频教程)-近年来,数控....
发表于 08-04 13:19 9次 阅读
基于工业以太网的嵌入式DNC集成通讯控制系统的研究与开发

基于工业以太网嵌入式DNC集成通讯控制系统研究与开发

基于工业以太网嵌入式DNC集成通讯控制系统研究与开发(risc-v嵌入式开发入门篇 pdf)-本论文....
发表于 08-04 13:16 9次 阅读
基于工业以太网嵌入式DNC集成通讯控制系统研究与开发

嵌入式人机交互研究与设计

嵌入式人机交互研究与设计(嵌入式开发待遇怎么样)-随着现代计算机技术的高速发展,人们越来越关注人机交....
发表于 08-04 13:12 9次 阅读
嵌入式人机交互研究与设计

基于嵌入式Linux的人机交互接口设备驱动程序的研究和实现

基于嵌入式Linux的人机交互接口设备驱动程序的研究和实现(python嵌入式开发前景)-随着信息技....
发表于 08-04 13:10 9次 阅读
基于嵌入式Linux的人机交互接口设备驱动程序的研究和实现

基于ARM的嵌入式人机交互系统研究

基于ARM的嵌入式人机交互系统研究(嵌入式开发外包靠谱平台)-计算机技术和通讯技术的发展推动着控制系....
发表于 08-04 13:06 14次 阅读
基于ARM的嵌入式人机交互系统研究

嵌入式汽车音响tuner模块设计与实现

嵌入式汽车音响tuner模块设计与实现(嵌入式开发外包公司)-随着近年来我国汽车工业和电子工业的飞速....
发表于 08-04 13:03 20次 阅读
嵌入式汽车音响tuner模块设计与实现

(网盘)ARM嵌入式Linux系统开发详解

(网盘)ARM嵌入式Linux系统开发详解(python嵌入式开发 - csdn博客)-(网盘)AR....
发表于 08-04 12:35 9次 阅读
(网盘)ARM嵌入式Linux系统开发详解

(网盘)国嵌ARM架构嵌入式培训视频

(网盘)国嵌ARM架构嵌入式培训视频(嵌入式开发工程师需要学什么)-(网盘)国嵌ARM架构嵌入式培训....
发表于 08-04 12:33 8次 阅读
(网盘)国嵌ARM架构嵌入式培训视频

嵌入式开发教程之基于ARM7的LCD设计与实现

嵌入式开发教程之基于ARM7的LCD设计与实现(嵌入式开发培训班费用)-该文档为嵌入式开发教程之基于....
发表于 08-04 11:25 11次 阅读
嵌入式开发教程之基于ARM7的LCD设计与实现

嵌入式ARM开发教程之基于CMSIS标准的Cortex-M3应用软件开发精编版

嵌入式ARM开发教程之基于CMSIS标准的Cortex-M3应用软件开发精编版(嵌入式开发工程师要求....
发表于 08-04 11:17 4次 阅读
嵌入式ARM开发教程之基于CMSIS标准的Cortex-M3应用软件开发精编版

基于嵌入式机器视觉控制系统的研究

基于嵌入式机器视觉控制系统的研究(嵌入式开发数据)-该文档为基于嵌入式机器视觉控制系统的研究总结文档....
发表于 08-04 11:09 9次 阅读
基于嵌入式机器视觉控制系统的研究

嵌入式软PLC系统的研究和实现

嵌入式软PLC系统的研究和实现(嵌入式开发武汉)-该文档为嵌入式软PLC系统的研究和实现总结文档,是....
发表于 08-04 10:59 12次 阅读
嵌入式软PLC系统的研究和实现

《嵌入式LINUX基础教程》中文 第2版 (1 of 3)

《嵌入式LINUX基础教程》中文 第2版 (1 of 3)(android嵌入式开发pdf)-嵌入式....
发表于 08-04 10:55 14次 阅读
《嵌入式LINUX基础教程》中文 第2版 (1 of 3)

《嵌入式LINUX基础教程》中文 第2版 (2 of 3)

《嵌入式LINUX基础教程》中文 第2版 (2 of 3)(嵌入式开发 语言选择)-嵌入式Linux....
发表于 08-04 10:52 9次 阅读
《嵌入式LINUX基础教程》中文 第2版 (2 of 3)

《嵌入式LINUX基础教程》中文 第2版 (3of 3)

《嵌入式LINUX基础教程》中文 第2版 (3of 3)(计算机三级嵌入式开发技术)-嵌入式Linu....
发表于 08-04 10:48 7次 阅读
《嵌入式LINUX基础教程》中文 第2版 (3of 3)

C8051F35X单片机内部Flash存储器的擦写方法总结

C8051F35X单片机内部Flash存储器的擦写方法总结(stm32嵌入式开发实例)-该文档为C8....
发表于 08-04 10:41 13次 阅读
C8051F35X单片机内部Flash存储器的擦写方法总结

嵌入式系统基础知识题库

嵌入式系统基础知识题库(嵌入式开发证书是哪里发的)-该文档为嵌入式系统基础知识题库总结文档,是一份很....
发表于 08-04 10:33 14次 阅读
嵌入式系统基础知识题库

基于嵌入式ARM的信号采样及QT图形显示

基于嵌入式ARM的信号采样及QT图形显示(嵌入式开发技术图解)-该文档为基于嵌入式ARM的信号采样及....
发表于 08-04 10:28 10次 阅读
基于嵌入式ARM的信号采样及QT图形显示

基于树莓派的嵌入式Linux开发教学探索

基于树莓派的嵌入式Linux开发教学探索(嵌入式开发零基础能学会吗)-该文档为基于树莓派的嵌入式Li....
发表于 08-04 10:27 8次 阅读
基于树莓派的嵌入式Linux开发教学探索

介绍几种开源嵌入式操作系统

介绍几种开源嵌入式操作系统(c++ 嵌入式开发实例)-该文档为介绍几种开源嵌入式操作系统总结文档,是....
发表于 08-04 10:25 9次 阅读
介绍几种开源嵌入式操作系统

嵌入式软件开发基础实验报告4×4键盘控制

嵌入式软件开发基础实验报告4×4键盘控制(嵌入式开发 java开发)-该文档为嵌入式软件开发基础实验....
发表于 08-04 10:24 8次 阅读
嵌入式软件开发基础实验报告4×4键盘控制

嵌入式软件开发基础实验报告实时时钟

嵌入式软件开发基础实验报告实时时钟(嵌入式开发北京)-该文档为嵌入式软件开发基础实验报告实时时钟总结....
发表于 08-04 10:22 11次 阅读
嵌入式软件开发基础实验报告实时时钟

嵌入式软件开发基础实验报告数码管显示

嵌入式软件开发基础实验报告数码管显示(嵌入式开发转软件测试)-该文档为嵌入式软件开发基础实验报告数码....
发表于 08-04 10:19 6次 阅读
嵌入式软件开发基础实验报告数码管显示

嵌入式软件开发基础实验报告中断实验

嵌入式软件开发基础实验报告中断实验(嵌入式开发真的很难吗)-该文档为嵌入式软件开发基础实验报告中断实....
发表于 08-04 10:19 10次 阅读
嵌入式软件开发基础实验报告中断实验

DSP单片机以及嵌入式微处理器区别

DSP单片机以及嵌入式微处理器区别(嵌入式开发学哪块好学)-该文档为DSP、单片机以及嵌入式微处理器....
发表于 08-04 10:03 14次 阅读
DSP单片机以及嵌入式微处理器区别