文章结束给大家来个程序员笑话:[M]
开辟平台:
ARM板:TQ2440/GQ2440
内核:linux-2.6.30
硬件配置:
无线路由器
无线网卡
Usb摄像头
电机驱动模块+小车
团体介绍:
本项目选用S3C2440作为主控制器,驱动小车为载体,裁剪linux2.6.30内核,使其具备无线上彀功能,支持usb接口功能。然后构建根文件系统,移植boa服务器,编写html+css静态界面。然后利用无线路由器构建一个局域网,使得用户可以通过浏览器来查看小车终端的相干信息,并通过cgi脚本程序/java applet 停止用户端和终端的交互。
总共是四个界面:
l 首页:欢迎界面,以及用来扩展表现后续的温湿度等传感器采集到的信息。
l 网络控制LED灯:是用来控制arm板的led灯表现,作用主要有两个,一个是测试用户端和终端是否建立连接了。例外一个是用来根据温室内传感器传递返来的信息,来控制温室内相干的照明设备
l 智能小车操纵:用来控制小车在温室内行走。
l 网络摄像头:java applet技术,用来接收表现arm端摄像头采集到的视频信息
全部界面采用html+css实现,非常易于扩展。
知识分析:
1. B/S结构的实现
B/S结构即基于浏览器/服务器的任务模式。在这个项目中是如何构建这样一个B/S结构的呢?
首先须要一个无线路由器,对路由器停止配置,同享热点。然后在arm上移植无线网卡驱动,配置无线上彀,使其连接到此无线路由器的热点上。然后移植boa服务器到arm上。编写网页文件。这样服务器端就搭建好了。客户端只要连上此路由器的热点,及可以通过浏览器来访问网页了。
2. cgi脚本程序实现交互
平常我们上彀,访问的大多数网页已不再是以前的静态网页了【html】,动态交互长短常常见的,如注册、登陆界面。通用计算机范畴,客户端和服务器的动态交互主要是采用asp,php,.net等动态脚本语言。这些语言都被web服务器如iis,apache等支持。而在嵌入式环境中,由于设备硬件资源有限,所以没法支持常见的web服务器,须要有专门的web服务器,本项目中选用的boa服务器,非常轻盈,编译后只有几十kb。Boa服务器不支持asp等服务器端脚本语言。所以选用了cgi。【最早的服务器端脚本语言,后因为编写难题,功能单一逐步被目前的这些脚本语言替换】cgi:公共网关接口,本身并非一门编程语言,只是个开放的脚本语言。可以用shell,c等来实现。这里因为c语言可移植性好,本人比拟熟悉,所以选用他。
在html中可以通过提交表单、超链接、SS来停止调用CGI脚本程序。然后在CGI脚本程序中完成对arm硬件的相干操作。
3. 视频传输服务
本项目最大的特色及亮点就是视频传输服务。那么视频如何停止传输的呢。
首先是在配置linux内核支持摄像头驱动,然后编写摄像头应用采集程序。客户端是通过网页中嵌入JAVA applet来停止视频信息的接收。
这篇是大体介绍,后面会详细介绍具体技术的实现
文章结束给大家分享下程序员的一些笑话语录: 警告
有一个小伙子在一个办公大楼的门口抽着烟,一个妇女路过他身边,并对他 说, “你知道不知道这个东西会危害你的健康?我是说, 你有没有注意到香烟 盒上的那个警告(Warning)?”
小伙子说,“没事儿,我是一个程序员”。
那妇女说,“这又怎样?”
程序员说,“我们从来不关心 Warning,只关心 Error”