智能家居网络系统的设计(一)

最后更新于:2022-04-01 16:27:05

今天开始学习制作智能家居网络系统,这个项目相对简单的多,但对于新手还是有难度的,所以今天我写出来,尽我最大努力写详细一点。 讲解过程中所涉及全部代码下载地址:[智能家居网络系统.rar](http://download.csdn.net/detail/qq_21792169/9215059) 写制作过程之前我先讲解一下基本的框架和思路。(主要是框架,自己掌握知识了自己就可以添加其他的功能,比如显示温度湿度,气体浓度,光照强度,摄像头模块,这些都只需要添加相应的驱动就可以了,其他的基本一样)。 首先在开发板上搭建好服务器,然后自己写一个HTML表单,HTML主要是用来作为人际界面来交互信息,比如账户登陆,数据显示,传递数据,仅仅是一个界面,这些数据是要用一个叫CGI脚本文件来处理的,脚本文件怎么源程序里面是有的,CGI脚本文件是可以嵌套的,这些都是放在服务器端,只要服务器运行boa服务器就可以在局域网任意一台电脑访问这个服务器的IP地址来访问这个网页,在网页上输入账户,密码在进入到控制界面,这些数据处理全是放在脚本文件,里面有一些配置文件,下面我们来具体分析下这些代码。 !!!在做这个项目的前提是你的开发板能够正常跑起来。 首先是搭建boa服务器: 下载boa源码,[boa-0.94.13](http://download.csdn.net/detail/qq_21792169/9214991) ~~~ # tar -xzvf boa-0.94.13.tar.tar  # cd boa-0.94.13/src/ # ./configure  # vi Makefile         // : = gcc 和 CPP = gcc -E, 后 改 成 : = arm-linux-gcc 和CPP =arm-linux-gcc   -E #vi src/compat.h      /*把 120 行改为如下内容:   #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff*/ # vi boa.c  /* if (setuid(0) != -1) { DIE(”icky Linux kernel bug!”); } 即修改为: #if 0 if (setuid(0) != -1) { DIE(”icky Linux kernel bug!”); } #endif */ /*下面红色这部分有些系统需要修改,有些不需要修改,你可以先不加,如果出错了在修改,错误打印在日志文件中*/  if (passwdbuf == NULL) {             DIE("getpwuid");         }         if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {             DIE("initgroups");         } #endif #if 0  if (passwdbuf == NULL) {             DIE("getpwuid");         }         if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {             DIE("initgroups");         } #endif #endif #make    #arm-linux-strip boa            /* 这里的优化就是去除 boa 中的调试信息: */ ~~~ 把boa复制到根文件系统usr/bin目录下,这是一个应用程序。 配置boa.conf文件: 1 去掉boa.conf  ServerName www.your.org.here 前的注释# 2 修改访问权限:修改User nobody 为 User 0 ; 修改Group nogroup 为 Group 0 3,修改DocumentRoot为DocumentRoot   /etc/boa/www        /* 存放网页的地方 */ DirectoryIndex index.html                            /* 网页名字,和这里要保持一致 */ ScriptAlias /cgi-bin//etc/boa/cgi-bin/       /* 存放cgi脚本的位置 */ 4:在开发板/etc创建boa,在boa下创建www(用来放网页文件)和cgi-bin两个文件夹,并复制boa.conf到boa下,  在var文件下建立/log/boa文件下(这两个下面放ErrorLog /var/log/boa/error_log  AccessLog /var/log/boa/access_log ) 拷贝PC上/etc/mime.types文件到开发板/etc目录下 现在boa服务器就搭建成功了,你可以拷贝 一个网页命名为index.html到开发板的/etc/boa/www下,记得把这些文件加可执行权限,在pc机上访问我们开发板,输入210.41.141.155(我的开发板ip是这么多,你只需要改成你的就可以了,但是移动要开发板和Pc机在同一个网段)就可以显示你写的网页了。 下一编文章中我们将介绍怎么写html网页。 下篇文章的地址:[http://blog.csdn.net/qq_21792169/article/details/50418560](http://blog.csdn.net/qq_21792169/article/details/50418560)
';