标题: 机房温度的远程显示 [打印本页]

作者: xiaoniu    时间: 2014-12-27 22:30
标题: 机房温度的远程显示
                                                                                                     本来这个文字应该属于其他类别的,但是因为是以前温度显示器制作的延续,所以放在电子制作类别了。
     先看看这个温度显示报警装置是如何一步一步的增强的吧。先是M8作出了单机电路,无通讯功能,然后增加了一个串口电路,是单向的,不能双向通讯,同时用C#开发了一个windows程序,用于接收显示温度数据。到此为止,其实是能实现远程显示功能了,只是需要这个装置运行在服务器上,且能从外网访问到,否则失去了实用价值,而要查看数值,只要远程登录服务器,查看那个WIDOWS程序的显示界面即可。
     但是DIY是无止境的,通过远程登录才能查看显然不够地道,这次要实现的是通过web网站显示数值!
     考虑了一下,有两个方案。
     1.直接由windows程序输出html代码,这个方法简单,但是灵活性欠佳,要改界面就要改windows程序,而且不能实现无刷更新。
     2.windows程序输出xml数据,使用asp程序提取出数据,然后显示在页面上,这个方法有一定灵活性,但是需要IIS开通ASP服务,而这样不是很安全,而且也不能无刷更新。
     3.windows程序输出xml数据,这个数据用xslt格式化后用ajax程序读出,实现无刷更新。
     为了服务器安全运行,决定采用3号方案。
     实测表明,用ajax读出的xml数据是不能加载xslt的,也就是说,xml不能被格式化;后下载了一个xslt的jQuery插件,好像也不太行;再后来查看了有关资料,知道jQuery的ajax方法载入xml后,是可以像普通页面一样,用$取得节点字段的,这些字段读取后用javascript写入页面位置即可。
     方案3取得成功,xml数据成功呈现在一个静态页面上,然后是加上1s定时ajax程序,实现了页面的无刷更新。
     因为xml数据是由windows写入磁盘文件的,如何这个程序挂了的话,xml是不会有任何异常的,为了便于远程知悉这个通讯程序的工作状态,xml又增加了一个时间戳字段,这样如果windows程序挂了的话,这个时间戳就不会实时更新,这样远程端就可以轻易觉察出来了。
     远程显示页面制作成功后,再将这个xml及html所在目录加入某个网站的虚拟目录就完成了!








欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1