这个程序利用花生壳可以在任何一台能上互联网的电脑看到家里的开发板及板子周围的温度,我刚才测了下35度,呵呵呵,还算平安,若60恐怕板子就烧了。
我首先说下我的开发步骤:
一、编写ADC程序。这个是一次AD转换的那种。
二、改写UIP程序。在UIP的相应文件httpd.c,把网页变成自己设计的。我这个很简单,只显示个温度。
小1,用网页设计软件,制作自己的网页,我用的是dreamweaver 3 中文版。
有看官说了,为什么还用那么低的。我想说我比较喜欢这款,马力强劲还挺省油。我用好几年了。就像老酒一样。
小2,把上述做好的网页保存起来。再用winhex软件打开。并转存为HEX十六进制文件
放到记事本上。
小3,这个是最费工夫的一件事,就是把TXT文件里的所有十六进制数加上0x后边加上,这个可累死我了。我搞一个页费我挺长时间,也不知有没有高手能缩水一下。反正我是一个一个地变。最后形成数组文件,放到文件里。
static const char default_page_buf1of3[] =
{
0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,
0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0xCE,0xDE,0xB1,0xEA,0xCC,0xE2,0xCE,
0xC4,0xB5,0xB5,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x6D,
0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76,0x3D,
0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20,
0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,
0x74,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x67,0x62,
0x32,0x33,0x31,0x32,0x22,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,
0x0D,0x0A,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x20,0x62,0x67,0x63,0x6F,0x6C,
0x6F,0x72,0x3D,0x22,0x23,0x46,0x46,0x46,0x46,0x46,0x46,0x22,0x3E,0x0D,0x0A,
0x3C,0x70,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x0D,0x0A,
0x3C,0x70,0x3E,0x20,0x0D,0x0A,0x3C,0x63,0x65,0x6E,0x74,0x65,0x72,0x3E,0x0D,
0x0A,0x20,0x20,0x20,0x20,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x63,
0x6F,0x6C,0x6F,0x72,0x3D,0x22,0x23,0x30,0x30,0x30,0x30,0x46,0x46,0x22,0x3E,
0xD4,0xB6,0xB3,0xCC,0xBC,0xE0,0xBF,0xD8,0x4C,0x4D,0x38,0x39,0x36,0x32,0xD0,
0xBE,0xC6,0xAC,0xB5,0xC4,0xCE,0xC2,0xB6,0xC8,0x3C,0x2F,0x66,0x6F,0x6E,0x74,
0x3E,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x20,0x20,0x20,0x20,0x0D,0x0A,0x20,0x20,
0x3C,0x68,0x72,0x3E,0x0D,0x0A,0x20,0x20,0x3C,0x70,0x3E,0x26,0x6E,0x62,0x73,
0x70,0x3B,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x20,0x20,0x3C,0x70,0x3E,0x26,0x6E,
0x62,0x73,0x70,0x3B,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x20,0x20,0x3C,0x70,0x3E,
0x26,0x6E,0x62,0x73,0x70,0x3B,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x20,0x20,0x3C,
0x70,0x3E,0x26,0x6E,0x62,0x73,0x70,0x3B,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x20,
0x20,0x3C,0x70,0x3E,0x26,0x6E,0x62,0x73,0x70,0x3B,0x3C,0x2F,0x70,0x3E,0x0D,
0x0A,0x20,0x20,0x3C,0x70,0x3E,0x26,0x6E,0x62,0x73,0x70,0x3B,0x3C,0x2F,0x70,
0x3E,0x0D,0x0A,0x20,0x20,0x3C,0x2F,0x63,0x65,0x6E,0x74,0x65,0x72,0x3E,0x0D,
0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,
0x6C,0x3E,0x0D,0x0A
};
我现在把数组怎么来的说的很清楚了,有看官会问你费那么大劲,吃多了怎么着。为什么总转成数组呢。
唉一句话,为了避免编译错误。不信你试试。我变成数组。编译器就不会挑我的理。在网页这块。
三,把AD转换的值同网页上要显示的数一一对应
static char default_page_buf2of3[] =
"00000";
static const char default_page_buf3of3[] =
" is now LM3S8962 's temperature";
//*****************************************************************************
//
// Increment the view count. This routine will increment the 5-digit ascii
// counter that is sent with the web page.
//
//*****************************************************************************
static void
httpd_inc_page_count(void)
{
default_page_buf2of3[4]=bcd[4];
default_page_buf2of3[3]=bcd[3];
default_page_buf2of3[2]=bcd[2];
default_page_buf2of3[1]=bcd[1];
default_page_buf2of3[0]=bcd[0];
}
再谈下UIP,这个UIP,用LISTEN函数监听80端口,等到我一点我的网址时:192.168.1.100
它就会产生收事件。我的程序会判断是更新请求。程序就把所有数据一起发到请求的那个网址上。效果如下所示。
四、再打开花生壳程序。让其驻留。这样就可以在远程任何一台电脑监测了。当然我的开发板得加电,我的集线器得加电花生壳也得司服。这就是说我的电脑得开着才行。那就是一台小型服务器了。
我的花生壳是http://ddllxxrr.gicp.net/
我晚上有时开,但不一定开发板运行这个程序。但只要开一定是全网可见地。呵呵。
好了,先写到这吧。
上程序:
ddllxxrrADC_uip.rar
(4.22 MB, 下载次数: 248)
至于那几个程序我以前的贴子有。为方便传一个winhex吧。
同时也做个标号
WinHex-v15.1sr-8H.rar
(1.17 MB, 下载次数: 143)