本論文提出在居家環境中使用ZigBee無線感測網路並利用多頻道技術實現其強建性(Robust)。我們在居家環境中放置多個無線感測器,將感測器資料透過無線傳輸方式傳送至嵌入式系統提供觀看與控制。然而,考量實際隱藏節點的問題,也就是節點實際上並不知道周遭的節點是否傳送資料,則發生兩顆以上的節點同頻道同時傳送資料,導致封包碰撞造成多筆資料遺失。因此,我們利用多頻道技術使使用同頻道的節點數量降低,讓資料接收率提升。我們經由實際模擬測量結果,整體系統的八顆節點接收率可以達到94%至99%。在嵌入式系統方面,我們採用Android嵌入式平台,編寫Java程式語言並透過Android NDK與Cygwin編譯Java原生介面(Java Native Interface, JNI)函式庫,再搭配「Eclipse」整合開發環境撰寫應用程式。另外,我們也將此系統建構在智慧家庭中,住宅內的感測器可以配合相對應的家電設備,藉由感測器資料自行判定家電設備的啟動或關閉進而達成智能控制;我們也提供了網路節點狀態觀看介面,讓使用者可以了解節點的存活/死亡狀態,便可第一時間維修該損壞的節點。
In this thesis, ZigBee Wireless Sensor Networks (WSNs) with multi-channel technology to achieve robust data transmission is study in home environments. Many wireless sensor nodes are deployed at home and sensor data will be sent through wireless transmission technology to an embedded system for display and control. However, considering a hidden terminal problem, the node does not actually know whether the neighbor nodes are sending data at the same channel and time. This causes multiple packet data loss caused by collision. Therefore, we endeavor to upgrade packet delivery ratio (PDR) by using multi-channel technology and reduce the number of node within the same channel. In a real home environment, it showed the PDR of all nodes could be upgraded to 94% - 99%. In addition, we also construct this system to a smart home system implemented by an Android embedded platform. We use Java Language in the Android NDK and Cygwin to develop Java Native Interface (JNI) libraries and make an Android application with Eclipse tool chain. In a smart home environment, sensors can be used with the corresponding appliances and to close or open appliances by the sensor data. Furthermore, we provided the viewer of node status for user to monitor. User can know the node is alive or death and can repair the damaged node in time.