"智能家居项目介绍"
本文主要介绍了智能家居项目的总体框图、系统总体功能、技术点等方面的内容。
一、系统总体框图
整个智能家居系统分为三部分:输出信息部分、输入信息部分和主控制器部分。输出信息部分主要控制家居设备,如电视机、风扇、灯光等。输入信息部分主要是各类传感器和用户控制的输入,分为两种控制:普通开关、遥控器常规控制和手机、网络的远程控制。主控制器部分根据用户和传感器的输入信息控制外部设备的停止或工作。
二、系统总体功能
智能家居系统具有多种功能:
1. 根据传感器采集到的数据进行相应的自动控制,例如煤气泄漏时煤气阀门自动关闭、排气阀自动打开、新风系统自动开启等。
2. 以网页形式向外提供显示的信息和接受用户输入控制信息,用户可以使用智能终端通过浏览器连接控制系统,控制家居设备和获取信息。
3. 保留传统控制方法,例如遥控器、常规开关,使其能够与控制系统很好地兼容工作。
三、技术点
1. arm11 上linux 操作系统下的设备驱动开发,涉及到的技术点包括字符设备驱动程序框架、阻塞机制编程方法、并发机制编程方法、硬件访问方法和中断机制编程方法。开发的驱动程序包括LED 驱动程序、PWM 驱动程序、ADC 驱动程序、温度传感器驱动程序和键盘驱动程序等。
2. linux 操作系统下的嵌入式web 服务器 boa 的设计和用户界面开发,开发网页程序、cgi 程序和各种应用程序。
3. linux 操作系统下的主监控应用程序开发,主要功能是根据传感器或用户的输入调用驱动程序控制外部设备。
4. 硬件模型的制作,以arm11 开发板为核心,外接各种传感器和设备模型。
5. 移植uboot、制作含有各种驱动程序的内核镜像文件zImage、制作含有各种应用程序和嵌入式web 服务器 boa 的文件系统filesystem.cramfs。
四、系统开发模型
智能家居项目的开发模型包括有线和无线两种:
1. 有线项目开发模型:采用交叉编译环境,Arm11 开发板通过nfs 网络文件系统挂载pc 机上的根文件系统,从而启动开发板。
2. 无线项目开发模型:采用交叉编译环境,Arm11 开发板通过无线网络连接pc 机上的根文件系统,从而启动开发板。
五、开发流程
智能家居项目的开发流程包括:
1. 确定要控制的硬件,开发硬件驱动程序。
2. 编写应用程序控制设备按照要求工作。
3. 编写cgi 脚本程序,向下调应用程序,向上网页程序文件提供接口。
4. 编写网页程序文件,确定最终向用户展示的图形界面,包括提供各种方便的控制接口、向用户显示信息和接受用户输入的数据。
智能家居项目的目标是实现智能家居系统的自动控制和远程控制,提高家居生活的舒适度和安全性。