隨著兼容藍牙4.0標準的智能手機逐步普及,低功耗藍牙技術也面臨著越來越廣泛的應用。本設計采用了nRF51822和SHT11設計了一種基于低功耗藍牙技術的溫濕度傳感器節點,能夠將節點位置的溫度和濕度發送給主機用于顯示,可廣泛應用于家庭、車間、倉庫的溫濕度監控。 1.引言 在智能家居和物聯網飛速發展的背景下,基于藍牙4.0標準的低功耗藍牙(Bluetooth Low Energy,BLE)技術正被逐步地為人們重視。隨著兼容藍牙4.0標準的智能手機逐步普及,低功耗藍牙技術也面臨著越來越廣泛的應用。本設計采用了基于BLE技術的nRF51822藍牙SoC芯片和SHT11溫濕度傳感器設計了一種基于低功耗藍牙技術的溫濕度傳感器節點,能夠將節點位置的溫度和濕度發送給主機用于顯示,可廣泛應用于家庭、車間、倉庫的溫濕度監控。節點采用了低功耗設計,可用一枚紐扣電池供電,實際使用時間可達1年以上。 2.系統結構 本設計的系統結構如圖1所示,系統的處理器模塊由nRF51822構成,溫濕度傳感器件采用SHT11,電源采用紐扣電池供電;由處理器模塊、溫濕度傳感器模塊、天線模塊、電源模塊構成的節點與主機通過2.4GHz的低功耗藍牙信號通信,主機采用智能手機運行信息采集顯示的APP。多個節點可利用應用層協議與主機組成星形網絡。 圖1 系統結構圖 3.硬件電路 溫濕度傳感器節點硬件的系統構成如圖2所示。 圖2 硬件系統結構圖 3.1 處理器模塊 處理器模塊選用Nordic公司的nRF51822芯片。nRF51822是具有CORTEX-M0低功耗內核,支持BLE、Gazell等多協議的低功耗高速率射頻收發器的SoC。其具有高集成度、低成本、處理能力強、低功耗、小體積等優勢,非常適合低功耗藍牙產品的應用。該芯片具有以下特性:具有Cortex-M0內核,片上256KB FLASH,16KB RAM,片內包含支持BLE協議的2.4GHz射頻收發器。軟件可編程輸出功率,最高可達+4dBm的輸出功率,輸出+4dBm功率時,最高工作電流僅為10.5mA。休眠模式僅為2uA電流。片內包含10-bit ADC、RTC、TWI、SPI、UART等模塊,提供最多32個GPIO,具有16個PPI通道。 nRF51822芯片的外圍電路簡單,采用單端供電,可以使用片內線性穩壓器(LDO),輸入電壓1.8-3.6V;外接16MHz晶振;并配以相應的射頻匹配電路。電路圖如圖3所示。 圖3 nRF51822電路圖 3.2 溫濕度傳感器 溫濕度傳感器采用SHT11。SHT11是瑞士Scnsirion公司推出的一款數字溫濕度傳感器芯片。主要特點如下:將溫度感測、濕度感測、信號變換、A/D轉換和加熱器等功能集成到一個芯片上;提供二線數字符串行接口,接口簡單,傳輸可靠性高;測量精度可編程調節;測量精確度高;封裝尺寸超小;測量和通信結束后,自動轉入低功耗模式。 處理器模塊利用二線串行數字接口和溫濕度傳感器芯片SHT11進行通信。DATA數據線需要外接上拉電阻,電源與地之間要加100nF去耦電容。時鐘線SCK用于微處理器和SHT11之間通信同步,由于接口包含了完全靜態邏輯,所以對SCK最低頻率沒有要求;二線串行數字接口不兼容I2C,必須按照傳器協議工資。硬件連接如圖4所示。 圖4 SHT11連接電路圖 3.3 電源及外圍電路 電源采用紐扣型電池CR2032,系統設有1個按鍵與1個LED指示燈,用于連接測試與顯示通信狀態。電路如圖5所示。系統預留SWD編程調試接口。系統使用板載PCB天線,有效通信距離可達10米。 圖5 電源及外圍電路 4.軟件設計 系統軟件設計是根據BLE協議,在BLE協議棧基礎上構建傳感器節點應用程序。藍牙4.0的BLE協議棧包含兩部分:控制器和主機。協議棧的實現采用分層方式,控制器部分包括物理層、鏈路層、主機控制接口層;主機部分包括邏輯鏈路控制及適配協議層、安全管理層、屬性協議層、通用訪問配置層、通用屬性配置層;上層可以調用下層提供的函數來實現需要的功能[3]。BLE協議棧的結構如圖6所示。 圖6 BLE協議棧 其中物理層主要定義了通信頻率、傳輸速度、調制方式等;鏈路層定義了廣播狀態、掃描狀態、數據包格式等;主機控制接口層主要定義了供主機訪問控制器統一命令接口;邏輯鏈路控制及適配協議層主要是為藍牙低功耗協議棧高層提供面向連接的數據服務,并為高層協議提供協議復用、包的分段和重組、服務質量等功能;屬性協議層用來發現、讀取、寫入與其連接的對等設備的屬性;通用屬性配置層是利用屬性協議層來定義一些處理例程,服務的格式以及它們的屬性;安全管理協議,用來定義安全管理的相關協議以及LE設備之間的配對、認證和加密行為;通用訪問配置層用來定義一些通用的接口,一些針對不同安全級別的處理程序接口和一些用于用戶接口層進行訪問的通用格式要求。 4.1 S110 SoftDevice軟件包 nRF51822是nRF51系列中的一員,Nordic公司為nRF51系列提供一系列軟件支持。通過使用nRF51設備,可以免費使用藍牙低功耗以及ANT協議棧中的nRF51應用。 nRF51822的S110 SoftDevice軟件包是預編譯二進制藍牙低功耗協議堆棧,集成了低功耗控制器與主機的功能,可獨立編程和更新,提供了全功能的API供系統調用。特點包括:異步和事件驅動SVC的API;運行時保護;GATT、GAP和L2CAP級別API;廣播器功能;GATT客戶端和服務器;具有少于128kB的代碼和6kB的RAM使用量,為應用程序留有超過128kB的閃存和10kB的RAM;S110SoftDevice和nRF51822加上nRF51 SDK相互配合,包含全面的藍牙低功耗配置文件、服務以及示例應用集合。在使用過程中,只需下載nRF51822的S110軟件包及nRF51 SDK并安裝,即可在軟件中調用相關API實現系統功能。 溫濕度傳感器節點喚醒并進行設備初始化后,響應主機的掃描請求,匹配UUID后建立連接成為從機,接收主機服務和特性,并返回存放了溫濕度數據的特性值。之后節點設備斷開連接并進入低功耗待機狀態。 4.2 溫濕度采集 溫濕度采集程序包括SHT11的驅動程序,與溫濕度采集處理程序。SHT11的通信協議是廠家自定義的,所以在驅動程序設計時,需要用微處理器GPIO模擬通信協議。溫濕度采集處理程序流程圖如圖7所示。 圖7 溫濕度采集程序 4.3 實驗測試 實驗硬件系統采用基于低功耗藍牙技術的溫濕度傳感器節點向主機發送室內溫度和濕度數據。主機采用智能手機安裝nRF UART應用,通過UART形式顯示傳感器節點發送的數據。實驗軟件環境采用nRFgo Studio,nRF51 SDK,S110 SoftDevice,Keil MDKARM Lite等軟件構成。實驗顯示主機能夠穩定連接傳感器節點并接收顯示溫濕度數據。 5.結論 本設計采用了基于BLE技術的nRF51822藍牙SoC和溫濕度傳感器SHT11設計了一種基于低功耗藍牙技術的溫濕度傳感器節點,能夠將節點所處位置的溫度和濕度發送給主機用于顯示,隨著智能手機的廣泛應用,該設計可應用于家庭、車間、倉庫的溫濕度監控,具有廣闊的應用前景。 |