资源描述
基于Micro2440的wifi网络开关设计指导老师:洪利105032106 袁野本设计由洪利老师指导完成。设计主要研究利用wifi开关,远程控制Micro2440中的LED灯和蜂鸣器。目录一.现状背景二.研究目标三.需要综合利用的专业知识四.设计方案五.运行效果一.现状背景在人类对生活要求不断的提高下,网络技术和通用技术都在不停的发展,完成智能家居的远程控制将会成为必然的走向。例如室内温度,家电情况,防盗门开关等都算是在智能家居系统的范畴之内。系统将对用户的室内外安全进行全方面网络实时视频监控。本设计就是基于Micro2440下实现无线远程控制的设计。二.研究目标(1)LED、蜂鸣器的驱动程序(2)远程控制LED亮灭(3)远程控制蜂鸣器响停(4)从客户端看到LED灯的状态(5)网页设计友好(6)完成设计三.需要综合利用的专业知识(1)对Micro2440的了解和使用(2)BOAweb服务器的了解以及优势(3)CGI程序的功能(4)Linux 管道通信的使用四.设计方案系统流程框图四. 设计方案本设计的总体思想是通过wifi网络来控制Micro2440.其原理如上图所示。正如图中所讲,我们利用PC机发送信号通过网络传到Micro2440 上的wifi模块,之后Micro2440控制LED亮灭以及蜂鸣器响停。控制之后也会反馈信号到Micro2440,反馈信号原路返回到pc机上告知用户。四.设计方案1、CGI四.设计方案2、LED控制设计本设计在config.ini文件中,存储了LED的状态,当接收到CGI传输的对LED状态的改变时,修改config.ini中存储的LED状态, 读取LED的状态,然后对LED进行控制nled_fd = open(/dev/leds0, O_RDWR);nioctl(led_fd, led_configled_num, led_num);四.设计方案LED原理图四.设计方案3、蜂鸣器控制设计控制蜂鸣器就是通过管道机制来实现的,首先创建了一个有名管道/tmp/pwm-control(这个名字是可以自由改动),并一直检测输入该管道的数据,根据不同的参数(蜂鸣器开关状态key和频率freq)来改变蜂鸣器的状态。main.cgi是一个网关程序,它接收从网页发送过来的字符形式指令并对这些指令进行赋值转换为实际数字,然后调用echo命令输送到管道/tmp/pwm-control以此实现对蜂鸣器的控制。四.设计方案3、蜂鸣器控制设计1、打开蜂鸣器nfd = open(/dev/pwm, 0);n2、关闭蜂鸣器nioctl(fd, PWM_IOCTL_STOP);nclose(fd);n3、设置蜂鸣器频率nioctl(fd, PWM_IOCTL_SET_FREQ, freq);n频率默认为1000Hz四.设计方案蜂鸣器电路图五.运行效果Wifi模块和开发板相连五.运行效果这就是可以显示时间控制蜂鸣器以及LED灯的界面
展开阅读全文