长沙嵌入式培训学校
全国服务热线:400-0859-208

长沙嵌入式人工智能课培训更专业排名一览

手持设备流行 嵌入式数据库系统引起关注

全世界90%的关系数据库市场是由Oracle、IBM和Microsoft三巨头控制的。但是随着手持设备、POS(销售点终端)、网络和安全装置的流行,更多的应用要 求实时地收集、存储和处理数据,即使快的Oracle或者IBM DB2数据库系统对这样的应用也无英雄用武之地。一些新颖的嵌入式数据库应运而生,开始引起用户、甚至这些巨头的注意。美国加州的Db4object公司的面向对象的嵌入式数据库系统就是其中的一个佼佼者。其的5.0版增加了对用Java、 C# 和Visual Basic .Net本身的语义编写的查询的支持。这个开发源码的数据库系统拥有的注册用户已接近10,000个。现在那些数据库巨头们也都认识到嵌入式数据库的重要性,Microsoft、IBM和Oracle也都将有与db40竞争的嵌入式产品。

基于Web的嵌入式设备管理

随着互联网络硬件、软件的迅猛发展,嵌入式系统被广泛应用到工作和生活的各个领域中,如何对这些设备进行管理成为嵌入式系统软件开发中的一个重要方面。用户只有通过设备所提供的管理接口对共进行配置、管理和监控,因些管理接易用程度和效率成为衡量设备优劣的重要标准之一。在嵌入式设备中加入HTTP服务能将其转化成Web Server,可以向Internet或内部网提供基于Web的图形化管理接口,用户可以使用浏览器作为接口来访问嵌入式设备。这样不仅使设备的易用性大大提高,而且可以省去专用管理软件,从而方便地进行统一管理。

1 Wind Web Server介绍

VxWorks是WindRiver公司开发的具有工业体体育场地位的高位能实时操作系统内核,它是一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统,具有先进的网络功能,支持市面上逾90%的处理器。该公司的网络协议栈产品Wind Web Server提供了功能强大的基于Web方式的网络管理系统,可以无缝地集成到任何基于VxWorks的嵌入式应用中。

Wind Web Server具有以下特性:

·完全支持HTTP 1.1标准

·不需要文件系统

·支持Java Applets、图像文件、声音文件等

·可通过<WINDWEB>标记支持SSI

·URL处理可定制

·灵活配置的模块结构

·脚本小(7~40KB)

·支持用户/用户组/密码认证

·有IP过滤机制

·支持CGI

·可记录日志

·支持别名

·支持服务器推送(Server push)技术。

Wind Web Server采用模块设计,可以方便地进行裁剪以满足应用的特殊要求。根据配置,Wind Web Server需要7~40KB的内存。在嵌入式系统中硬件资源宝贵,有时并不需要文件系统。Wind Web Server提供了一个工具Pagepack,可以在编译和连接时将Web内容放在程序代码中,从而可以存储在ROM中。

2 Wind Web Server结构

嵌入式系统的使用的资源是受限的,在许多飞速下甚至没有外部存储系统,这一点要求嵌入式系统的Web服务器与UNIX和Windows平台上的Web服务器有很大不同。Wind Web Server采用模块化和可伸缩的系统结构,允许用户进行裁剪以满足资源的不同限制。Wind Web Server的结构如图1所示。

Wind Web Server由以下关键部分组成:

·Web服务器核心

·HTTP请求处理模块(RPM)

·RPM调度程序

·服务器端符号表

·API函数

2.1 Web服务器核心和RPM调度程序

Web服务器核心作为一个任务运行在目标系统中。提供网络服务绑定、Socket函数调用和初始化参数的设置等。RPM调度程序决定怎样响应HTTP请求,即决定了HTTP请求的地址和RPM的对应关系。

2.2 HTTP请求处理模块(RPM)

HTTP请求处理模块分为两大类:系统RPM和用户RPM。其中系统RPM执行HTTP请求的基本处理,包括:记录日志、处理别名与MIME头、IP地址检查、密码验证和访问限制。而用户RPM处理具体的页面请求,包括:文件系统RPM、SSI(Server Side Include)RPM、CGI PRM、用户函数调用RPM、服务器推送RPM等。另外用户可以使用自定义RPM完成一些特殊的处理过程。

2.3 服务器端符号表

Wind Web Server主要通过符号表来支持Web存取目标机中的变量,每个符号表包含如下属性:

·Address 内存地址

·Name 名称

·Descrip 描述

·Type 数据类型

·Num Elems 变量个数

·GET Routine 读加调函数

·GET Param 调回调数数的参数

·SET Routine 写回调函数

·SET Param 写回调函数的参数

·Access ID 变量的访问控制

将网页请求和符号表联系起来的方法有两种:扩展SSI和服务器推送。

(1)扩展SSI的实现

可以在HTML网页中使用<WINDWEB>标记,每个标记都与存在于Wind Web Server符号表中的一个读或写回调函数相对应。当网页为Wind Web Server请求时,包含变量值等动态信息的读或写回调函数输出替代了网页上的标记,从而动态显示或提交数据内容。这项技术同时提高了在HTML页中处理表单的能力。传统的Web Server只能处理事先确定的缺省的表单元素,在Wind Web Server,实际值可以从符号表中得以,然后在HTML页被提交到客户端前插入到表单中。Wind Web Server还提供了一个工具formpack,用于在包含表单的普通网页中加入<WINDWEB>标记。

Wind Web Server中已经包含标准的SSI实现,如输入框、下拉列表、复选框等。另外,用户可以加入自定义的SSI函数以处理特定的HTTP请求。

(2)服务器推送的实现

HTTP是一种请求响应协议,如果要对服务器端进行持续的监控,必须不断地发送请求刷新页面,这将大大加重服务器的负担。Wind Web Server能够使用内嵌的Linve Control模块在页面中的Java applet与服务器端的符号表之间建立一条持续的交线链路,使服务器端符号表变量的改变无需客户端请求而直接对客户端发布,从而实现了服务器推送的目的。


    2.4 HTTP请求处理过程

一个典型的HTTP请求处理包含以下步骤:

(1)接收到HTTP请求后,服务器取出包含目的URL的请求地字符串,将其存入描述HTTP请求的数据结构中;

(2)如果该请求是页面提交,即如下形式:http://target/xxx.xxx.htm?para1=xxx&para2=xxx,则将提交参数存入环境变量QUERY_STRING中。

(3)调用所有已配置的系统RPM,如果返回正确,则继续;

(4)调用页面对应的用户PRM,如果该页面中包含SSI标记,则调用SSI RPM;

(5)查找<WINDWEB>标记,例如:<WINDWEB FUNC=ShowValue SYMBOL=usersymbol></WINDWEB>则调用标准SSI函数ShowValue()对符号表中的变量usersymbol进行处理,然后将得到的变量值插入要返回的HTML页面中,传送至客户端。

3 并发中的关键技术

3.1 自定义用户RPM

通过调用函数httpRomConfAdd(HTTP_M_GET,"/user_rpm/"User_rpm),把形如http://x.x.x.x/user_rpm/*.htm?para1=xxx&para2=xxx的请求用函数框架如下:

short User_rpm(HTTP_REQ_ID reqId{

char* para;

httpStatusSet (reqId,HTTP_OK);

httpHeaderGenerate (reqId); /*产生THHP头*/

para=httpGetEnv(reqId,"QUERY_STRING"); /*得到输入参数*/

…… /*处理输入参数及准备输出结果*/

httpStringPut (reqId,"<HTML>..."); /*开始输出*/

…… /*输出全部HTML语句*/

httpStringPut(reqId,"...</HTML>"); /*结束输出*/

return(RPM_DONE);

}

3.2 自定义SSI处理函数

通过调用函数httpSsiFnConfAdd("user ssi",User_ssi)建立自定义SSI处理函数User_ssi。当而面中包含如下<WINDWEB>标记时:<WINDWEB FUNC=user_ssi para></WINDWEB>,服务器将调用函数User_ssi(参数为para),并将输入插到准备返回的HTTP页面中。函数User_rpm的实实框架如下:

short User_ssi(HTTP_REQ_ID redid,char * szArg){

char *para;

parg=szArg; /*得到输入参数*/

…… /*处理输入参数及准备输出结果*/

httpStringPut (reqId,"…"); /*输出全部HTML语句*/

return(HTTP_OK);

}

3.3 et Java applet实现服务器推送

Live Control模块的API提供如下Java类的实现:

·DirectRegistry Applet与符号表进行通讯的基本部件

·DirectReadProxy 从DirectRegistry中获取符号表变量的改变

·DirectWriteProxy 更新DirectRegistry中符号表变量的值

·DataObjectChangeListenet、DataObjectStatusListener用于监听的容器

用Java applet实现服务器推送的框架如下:

(1)创建用于连接服务器端的DirectRegistry类的实例:

myServerURL=new URL(http://"+getDocumentBase().getHost()+"/lc/");

myRegistry=new DirectRegistry(myServerURL);

(2)创建用于监听符号表变量的Java部件:

myWidget=new TextWidget("0",10);

(3)创建DirectReadProxy和DirectWriteProxy的实例用于读写符号表变量mySymbol:

myReadProxy=new DirectReadProxy("mySymbol");

myWriteProxy=new DirectWriteProxy("mySymbol");

(4)将Java部件myWidget加入myReadProxy和my Write Proxy,成为监听容器:

myReadProxy.addDataObjectChangeListener(myWidget);

myWriteProxy.addDataObjectChangeListener(myWidget);

(5)将已创建的监听容器myReadProxy、myWriteProxy加入myRegistry中,完成Applet与服务器端Live Control模块的连接:

myRegistry.addPropertyChangeListener(myReadProxy);

myRegistry.addPropertyChangeListener(myWriteProxy);

另外,用户可以创建自己的Java部件和DataObject ChangeListener方法,以完成更的应用。

3.4 配置HTTP服务

Wind Web Serrver可进行裁剪用于不同的应用环境,可配置的参数较多,同时参数之间相互影响。因此参数的配置是否妥当将直接影响HTTP服务的性能,甚至导致HTTP服务不能正常工作。其中对Web Server内存池的配置使用尤为关键,需要进行仔细调整和多次测试。另外整个系统的网络内存池的容量也直接影响HTTP服务的性能,需要结合系统规模进行配置。

4 实例应用

在ADSL汇接器系统软件的开发过程中,使用Wind Web Server开发了基于Web的图形化设备管理接口,用户在任何地点只需使用浏览器就可以对设备进行全面的管理,包括:

·可以对系统用户认证和管理,不同的用户具有不同的操作权限;

·可以对系统进行实时监控,页面依照机柜布局设计。设备面板和页面上的各种信号灯同步变化,一目了然。同时可以在页面上直接使用设备面板上的各种按键,操作方便。采用了服务器推送技术,降低了网络通信量和系统负担;

·可以对初如化数据进行修改和保存;

·可以远程更新整个软件系统;

·可以随时获取和清除计费信息。

整个程序(含页面代码)共200K字节左右,任务的级设为,不影响原系统的正常运行,达到了很好的效果。

长沙粤嵌培训,专注IT培训17年,主要有嵌入式开发培训,Java开发培训,UI设计培训,web前端开发培训等课程.咨询热线:400-0859-208,长沙粤嵌科技,技术力量雄厚,实力超群,培训时间短,工资高,不就业工资,长沙粤嵌培训基地,专业技术培训基地,以实力打造高水平的产品,粤嵌提供嵌入式,同时也是嵌入式项目研发基地。

嵌入式人工智能课程:培养企业所需的强能力实战型人才,线上线下灵活课程,随时学习,嵌入式开发工程师,指导就业,技术大咖教学,理论实战相结合!

为什么选择学习嵌入式技术?

5G时代, 技术融合一体化趋势明显, 嵌入式人工智能在各行业垂直领域, 都有巨大的潜力。

粤嵌嵌入式应用领域

企业急需嵌入式实战型人才多重职业选择, 嵌入式工程师更容易获得高新

岗位选择
嵌入式人工智能开发工程师
嵌入式UC/OS-1II开发工程师
嵌入式FREERTOS开发工程师
嵌入式LINUX应用开发工程师
嵌入式LINUX驱动开发工程师
嵌入式LINUX多媒体研发工程师
嵌入式行业薪资
岗位人才紧缺, 行业起薪高, 马上了解课程
粤嵌学习优势,进阶嵌入式工程师

全新系统升级

硬件平台Cortex-M4 / A55 / A72

操作系统uC/ 0O-11I/ FreeRTOS / Linux

粤嵌学习优势,进阶嵌入式工程师

课程循序渐进

循序渐进,课程模

吃透"嵌入式"

由软件到智能硬件的高水准体系

120天带你玩转物联网江湖

灵活学习方式

线上直播+线下面授灵活课程设置

全科课程/培训课程

专属定制授课计划,助力学习就业

实战技巧培训

理论与实战相结合的培训方式

物联网核心技术,衔接企业技术

真正培养企业紧缺的实战型人才

级讲师授课

行业技术大神、主管总监级讲师亲授

聘请各大互联网大厂等软硬件大咖

担任企业项目合作课程讲师

赠送课程资源资料

嵌入式人工智能在线课程资源及课程资料0元送

班主任保姆式监督学习,跟踪答疑解惑

粤嵌 课程设置
课程模块吃透"嵌入式"
嵌入式LinuxC编程基础
嵌入式LinuxC运用开发基础
嵌入式软件编程
Cortex-M4运用开发
Linux系统移植及驱动开发
python人工智能开发
w鸿蒙OS物联网智慧农业系统


第—阶段嵌入式培训开发技术基础课

学习内容

搭建嵌入式培训Linux开发环境

Linux系统基础入门

高质量的编码规范

嵌入式培训C语言编程

数据链接

阶段项目开发与实现

《超市购物计价系统》

《随机点名器》

第—阶段嵌入式培训开发技术基础课程

120天课程, 帮你入门嵌入式, 进阶技术工程师, 就选粤


嵌入式各类项目开发面向企业需求

嵌入式各类项目开发面向企业需求

粤嵌嵌入式培训讲师,经验丰富, 全程指导教学

粤嵌嵌入式培训讲师,经验丰富, 全程指导教学

提供就业服务,入职大厂,冲刺高薪资

个人职业规划—找到未来努力的方向
就业指导—面试就业轻松应对
推荐就业—合作企业内部推荐名额
人才再就业服务—助力跳槽换工作

入行嵌入式——你应该会关心的问题
学历不高 能学会吗?
现阶段没钱 可以先学习吗? .

小白想转行 可以学习嵌入式吗?

英语差 可以学习吗?
工作党 可以学习吗?有周末班吗
学不会 怎么办?可以复学吗?

免费课程预约
每天限量名额,先到先得
二维码

扫一扫 免费领取试听课

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/news/513721/违者必究! 以上就是长沙嵌入式培训学校 小编为您整理长沙嵌入式人工智能课培训更专业排名一览的全部内容。

版权所有:培训指南(www.peixun360.com) 技术支持:培训指南网

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-0859-208