標題:
機房溫度的遠程顯示
[打印本頁]
作者:
xiaoniu
時間:
2014-12-27 22:30
標題:
機房溫度的遠程顯示
本來這個文字應該屬于其他類別的,但是因為是以前溫度顯示器制作的延續(xù),所以放在電子制作類別了。
先看看這個溫度顯示報警裝置是如何一步一步的增強的吧。先是M8作出了單機電路,無通訊功能,然后增加了一個串口電路,是單向的,不能雙向通訊,同時用C#開發(fā)了一個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后,是可以像普通頁面一樣,用$取得節(jié)點字段的,這些字段讀取后用javascript寫入頁面位置即可。
方案3取得成功,xml數據成功呈現在一個靜態(tài)頁面上,然后是加上1s定時ajax程序,實現了頁面的無刷更新。
因為xml數據是由windows寫入磁盤文件的,如何這個程序掛了的話,xml是不會有任何異常的,為了便于遠程知悉這個通訊程序的工作狀態(tài),xml又增加了一個時間戳字段,這樣如果windows程序掛了的話,這個時間戳就不會實時更新,這樣遠程端就可以輕易覺察出來了。
遠程顯示頁面制作成功后,再將這個xml及html所在目錄加入某個網站的虛擬目錄就完成了!
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1