物聯網智能機房系統設計與實現
2)無線通信模塊
無線通信模塊是所有功能模塊之間互相通信的“橋梁”。如圖3所示,單片機A將數據傳輸給無線通信模塊B,無線通信模塊B將數據以電磁波的形式傳輸給無線通信模塊C,最后,無線通信模塊C將數據傳輸給單片機D,這樣,就完成了模塊一到模塊二之間的數據傳輸。本文引用地址:http://www.j9360.com/article/159558.htm
目前市面常見的無線通信模塊按照傳輸模式分為兩種:非透明傳輸和透明傳輸。結合本設計的實際情況,選擇透明傳輸模塊比較適合,這樣便可以很自由的設置本設計的通信協議。經過實際調查和對比,選中LSD-RFMC-B401-A2型無線透傳模塊。該模塊是一款高性能的射頻收發器,工作在470 MHz頻段,全透明傳輸,可根據實際應用配置各種串口數據格式,可實現無限數據長度發送。
3)電源模塊
電源是整個系統維持正常運行的必要條件,所以一個可靠的電源是必要的。由于整個系統中的所有部件不都是工作在相同的電壓下的,所以需要不同的穩壓芯片來為各個部件供電。經過實際調查,得知電路中需要5 V和3.3 V兩種電壓,所選選擇LM2596_5.0V和LM2596_3.3V這兩款穩壓芯片作為每個模塊的供電芯片。
2.2 通信中繼模塊
通信中繼模塊通過網關與上位機實現信息交互,所以需要一種與網關通信的方式。設計上采用在基礎模塊之上,添加了與網關串行異步通信的功能。由于STC12C5A60S2的異步串行通信接口使用的是TTL電平,而網關平臺外部接口使用的是RS232電平,所以需要專用的電平轉換芯片MAX232。如圖4所示,MAX232連接到STC12C5A60S2單片機的異步串行通信接口1上,另一端連接到標準的DB9插座上。
2.3 溫濕度及人體入侵檢測模塊
溫濕度及人體入侵檢測模塊是在基礎模塊之上添加溫濕度檢測傳感器和人體熱釋電檢測傳感器而實現的。其中溫濕度的檢測采用DHT11溫濕度傳感器,人體入侵的檢測則由專用的人體熱釋電感應模塊來實現。
人體檢測模塊的工作方式是,當有人進入到檢測范圍的時候,該模塊的狀態引腳輸出電平由高變低,當人走出該范圍的時候,狀態引腳的輸出電平又由低恢復到高電平。利用這一特點,可將該狀態引腳直接連接到STC12C5A60S2單片機的外中斷0引腳上,當該模塊檢測到人體時,狀態引腳產生下降沿電平,觸發單片機外中斷0。又考慮到當人體走出檢測范圍時,為了讓系統及時得知,將模塊的狀態引腳接反相器后,連接到ST12C5A60S2單片機的外中斷1引腳上。這樣,當人體走出檢測范圍時,人體檢測模塊的狀態引腳產生上升沿電平,經反相器取反后變為下降沿電平,觸發ST12C5A60S2單片機的外中斷1。人體檢測模塊電路原理圖如圖5所示。
2. 4 電燈控制模塊
電燈控制模塊主要負責打開和關閉室內的燈光。這其中涉及到了弱電壓控制強電壓的問題,本模塊單片機的電壓為5 V,而室內燈的電壓是220 V,所以需要通過繼電器來實現電燈的打開和關閉。本設計采用2個常見的5 V單刀單置繼電器,控制兩個燈的開關。
如圖6所示,電燈控制模塊是在基礎模塊之上添加了2個受STC12C5A60S2單片機的兩個I/O口P2.1和P2.0控制的繼電器。當P2.0輸出為低電平時,繼電器1上電,從而接通JI插座的兩個引腳。當P2.1輸出為低電平時,繼電器2上電,從而接通J2插座的兩個引腳。這樣。就可以通過J1和J2兩個插座控制電燈的打開和關閉了。
2.5 無線遙控小車
無線遙控小車是一個可移動的平臺,在小車上邊可以擴展各種傳感器,從而通過小車的移動擴大傳感器的檢測范圍。小車的動力為兩個直流電機,采用常見的雙H橋驅動芯片L298N來驅動。單片機可以通過控制L298N芯片,間接控制小車的運動方向和速度。無線遙控小車上裝有一個無線攝像頭,從而可以實現遠程的遙控。在小車前方,增加一些小燈,在需要的時候打開,使攝像頭可以拍攝到黑暗的地方。具體模塊的實現是在基礎模塊上添加了電機控制電路、車燈控制電路和攝像頭電源控制電路。
2.6 遙控終端模塊
遙控終端主要負責顯示系統的各種信息和控制其他的功能模塊,并且在有人進入檢測范圍時,提供警報功能。針對顯示部分,考慮到信息量較少,所以采用1602字符液晶屏顯示,該字符型液晶屏可一次顯示32個字符;針對遙控部分,考慮到需要控制的功能較多,且需要節省單片機的I/O口資源,所以采用4x4矩陣鍵盤,該鍵盤可以實現16個按鍵輸入,但只用了單片機的8個I/O口。針對報警功能。可使用一個蜂鳴器實現。
3 軟件設計
3.1 通信協議設計
通信協議主要包括兩方面內容:1)通信中繼模塊與上位機通信的協議;2)各模塊間的通信協議。無論哪方面的通信,都應該首先保證通信數據的正確性和可解析性。
3.1.1 通信中繼與上位機通信協議
通信中繼模塊與上位機的通信包括:向上位機發送采集信息、接收上位機的命令。其中接收的命令應該盡量簡短,這是由于單片機的資源有限,不適合處理長字符串。
1)上傳信息協議
下位機以字符串的方式上傳數據,每個數據的字符串必須同時滿足以下2個條件:
①字符串長度為9個字符;
②以“(”開頭,以“)”結尾。
如果不滿足以上條件,上位機應放棄處理該數據,并且立刻請求下位機重新發送數據。字符串的形式為:(0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF),各字節含義如表1所示。
如果字節的數據為“0xEE”,表示上傳的數據中沒有對應字節的信息。
2)控制命令協議
控制命令也是以字符串形式傳送。每個命令字符串必須同時滿足以下2個條件:
①字符串長度為5個字符;
②以“(”開頭,以“)”結尾。
物聯網相關文章:物聯網是什么
評論