找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2654|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

機(jī)房溫度的遠(yuǎn)程顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:71235 發(fā)表于 2014-12-27 22:30 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
                                                                                                     本來這個文字應(yīng)該屬于其他類別的,但是因?yàn)槭且郧皽囟蕊@示器制作的延續(xù),所以放在電子制作類別了。
     先看看這個溫度顯示報(bào)警裝置是如何一步一步的增強(qiáng)的吧。先是M8作出了單機(jī)電路,無通訊功能,然后增加了一個串口電路,是單向的,不能雙向通訊,同時用C#開發(fā)了一個windows程序,用于接收顯示溫度數(shù)據(jù)。到此為止,其實(shí)是能實(shí)現(xiàn)遠(yuǎn)程顯示功能了,只是需要這個裝置運(yùn)行在服務(wù)器上,且能從外網(wǎng)訪問到,否則失去了實(shí)用價值,而要查看數(shù)值,只要遠(yuǎn)程登錄服務(wù)器,查看那個WIDOWS程序的顯示界面即可。
     但是DIY是無止境的,通過遠(yuǎn)程登錄才能查看顯然不夠地道,這次要實(shí)現(xiàn)的是通過web網(wǎng)站顯示數(shù)值!
     考慮了一下,有兩個方案。
     1.直接由windows程序輸出html代碼,這個方法簡單,但是靈活性欠佳,要改界面就要改windows程序,而且不能實(shí)現(xiàn)無刷更新。
     2.windows程序輸出xml數(shù)據(jù),使用asp程序提取出數(shù)據(jù),然后顯示在頁面上,這個方法有一定靈活性,但是需要IIS開通ASP服務(wù),而這樣不是很安全,而且也不能無刷更新。
     3.windows程序輸出xml數(shù)據(jù),這個數(shù)據(jù)用xslt格式化后用ajax程序讀出,實(shí)現(xiàn)無刷更新。
     為了服務(wù)器安全運(yùn)行,決定采用3號方案。
     實(shí)測表明,用ajax讀出的xml數(shù)據(jù)是不能加載xslt的,也就是說,xml不能被格式化;后下載了一個xslt的jQuery插件,好像也不太行;再后來查看了有關(guān)資料,知道jQuery的ajax方法載入xml后,是可以像普通頁面一樣,用$取得節(jié)點(diǎn)字段的,這些字段讀取后用javascript寫入頁面位置即可。
     方案3取得成功,xml數(shù)據(jù)成功呈現(xiàn)在一個靜態(tài)頁面上,然后是加上1s定時ajax程序,實(shí)現(xiàn)了頁面的無刷更新。
     因?yàn)閤ml數(shù)據(jù)是由windows寫入磁盤文件的,如何這個程序掛了的話,xml是不會有任何異常的,為了便于遠(yuǎn)程知悉這個通訊程序的工作狀態(tài),xml又增加了一個時間戳字段,這樣如果windows程序掛了的話,這個時間戳就不會實(shí)時更新,這樣遠(yuǎn)程端就可以輕易覺察出來了。
     遠(yuǎn)程顯示頁面制作成功后,再將這個xml及html所在目錄加入某個網(wǎng)站的虛擬目錄就完成了!



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表