今天開始學習制作智能家居網絡系統,這個項目相對簡單的多,但對于新手還是有難度的,所以今天我寫出來,盡我最大努力寫詳細一點。
講解過程中所涉及全部代碼下載地址:[智能家居網絡系統.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)