嵌入式课程设计报告-基于web的嵌入式远程监控系统

发布时间 : 星期五 文章嵌入式课程设计报告-基于web的嵌入式远程监控系统更新完毕开始阅读

基于web的嵌入式远程监控系统 第17页 共34页

5 系统整体调试与分析

系统的调试分了 x86 和 arm 架构下的调试,其中以进阶方式进行开发测试,根据实现难度分为三步:第一步先实现简单的网页浏览,然后通过乘法操作的简单设计来实现人机交互最后通过电机控制的设计完成整个服务器监控系统的设计。

5.1 linux 平台下的调试

5.1.1 简单网页浏览的调试与分析

结果:网页正常显示

分析:遇到的问题主要集中在 BOA 服务器的搭建上,经过仔细学习参考资料成功解决了问题。

5.1.2 基于 web 的乘法操作的调试与分析

结果:网页可以正常显示但在调试的开始阶段遇到了程序不能正常运行的问题,但经过同一起努力在两天后解决了问题。

分析:存在的问题主要是服务器调用结构不理解导致的 cgi 程序无法正常调用,结果显示为乱码等问题,在正确理解了服务器、cgi-c 编程的原理后,使网页能够正确运作。

5.1.3 电机控制的调试与分析

由于牵涉到硬件设备的调试所以在 X86 环境下只进行了程序的编写和编译,而没有实际的进行调试。

17

基于web的嵌入式远程监控系统 第18页 共34页

5.2 嵌入式平台下的调试

5.2.1 客户端与服务器交互的调试与分析

由于/etc 目录只允许读不允许写,但我们搭建的 BOA 服务器的运行要求在/etc 目录下有 mime.types(用来指明不同文件的扩展名对应的 MIME 类型)并且还要在/etc/boa/下有相应的配置文件 BOA.conf,则需要我们重新生成根文件系统等,将我们需要的文件填到相应的位置,然后再重新生成镜像文件并烧写文件系统。

将编写好的 html 程序(名称改为 index.html,因为这是输入地址后默认的访问文件) 放到目录 var/www 下。需要的 c 语言程序用 arm-linux-gcc 编译生成相应的 cgi 程序,到目录/var/www/cgi-bin 下。启动 boa 服务器,在根目录下输入 ifconfig 命令可以查找到服务器的 ip 地址,在客户端的地址栏输入该地址,就可以访问到相应的网页,通过该网页用户可以监控电机。 5.2.2 电机控制的调试与分析

Linux 下的直流电机程序包括模块驱动程序和应用程序两部分。Module 驱动程序实现了以下方法:

static struct file_operations s3c2410_dcm_fops = { owner:THIS_MODULE, open: s3c2410_dcm_open, ioctl: s3c2410_dcm_ioctl, release:

s3c2410_dcm_release, };

18

基于web的嵌入式远程监控系统 第19页 共34页

开启设备时,配置 IO 口为定时器工作方式: ({

GPBCON &=~ 0xf; GPBCON |= 0xa; }

配置定时器的各控制寄存器:

({ TCFG0 &= ~(0x00ff0000); TCFG0 |= (DCM_TCFG0); TCFG1 &= ~(0xf);

TCNTB0 = DCM_TCNTB0; /* less than 10ms */ TCMPB0 = DCM_TCNTB0/2; TCON &=~(0xf); TCON |= (0x2); TCON &=~(0xf); TCON |= (0x19); })

在 s3c2410_dcm_ioctl 中提供调速功能接口: case DCM_IOCTRL_SETPWM: return dcm_setpwm((int)arg); 应用程序 dcm_main.c 中调用:

ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (setpwm * factor)); 实现直流电机速度的调整。 a.编译直流电机模块 cd /arm2410s/kernel-2410s

19

基于web的嵌入式远程监控系统 第20页 共34页

make menuconfig

进入 Main Menu / Character devices 菜单,选择 DC MOTOR 为模块加载: b.编译内核模块: make dep make make modules

直流电机模块的编译结果为:

/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o c. 编译应用程序

cd /arm2410s/exp/basic/10_dcmotor/ make

生成 dcm_main d.挂载驱动模块

insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o e.运行程序

mount –t nfs 192.168.0.xxx:/arm2410s /host

insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o cd /host/exp/basic/10_dcmotor/ ./dcm_main

程序运行结果:直流电机转动 1 秒,停转 1 秒。由于是根据原有变速程序稍做改动完成的程序,所以遇到的问题不是很多,经过几次尝试就得到了期望的结果。

20

联系合同范文客服:xxxxx#qq.com(#替换为@)