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