基于物聯(lián)網(wǎng)的智能冰箱設(shè)計(jì)與實(shí)現(xiàn)
圖4 讀寫器和電子標(biāo)簽的工作示意圖
2.3 壓力傳感器模塊
通過89C51 單片機(jī),集成了LCD 模塊、串口模塊、24 位ADC 模塊。該模塊主要負(fù)責(zé)感應(yīng)壓力的變化,通過串口傳送中斷信號(hào)到中控平臺(tái)。
壓力傳感器HX711 采用了海芯科技集成電路專利技術(shù),是一款專為高精度電子秤而設(shè)計(jì)的24 位A/D轉(zhuǎn)換器芯片。當(dāng)壓力傳感器傳來變化時(shí)候才會(huì)發(fā)送信號(hào)到核心板說明冰箱內(nèi)有變化并開啟RFID 掃描。
2.4 控溫模塊
本模塊是基于單片機(jī)的制冷控制系統(tǒng), 實(shí)時(shí)溫度顯示,制冷溫度可調(diào),最低可達(dá)零下10 度。
本模塊的溫度傳感器采用DS18B20.根據(jù)DS18B20的通信協(xié)議,主機(jī)(單片機(jī))控制DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM 指令,最后發(fā)送RAM 指令, 這樣才能對(duì)DS18B20 進(jìn)行預(yù)定的操作。復(fù)位要求主CPU 將數(shù)據(jù)線下拉500 微秒,然后釋放,當(dāng)DS18B20 收到信號(hào)后等待16~60 微秒左右,后發(fā)出60~240 微秒的存在低脈沖, 主CPU 收到此信號(hào)表示復(fù)位成功。同時(shí),本模塊采用了半導(dǎo)體制冷片,實(shí)現(xiàn)模擬冰箱保鮮功能。
圖5 控溫模塊局部原理圖
3 軟件設(shè)計(jì)
3.1 系統(tǒng)軟件框圖
基于Windows CE 5.0 的智能冰箱的軟件框圖如圖6 所示。
圖6 軟件框圖
3.2 應(yīng)用程序開發(fā)
?。?)RFID 實(shí)現(xiàn)過程。
運(yùn)用RFID 的API 函數(shù)中ReadID 讀取在冰箱內(nèi)的RFID 卡,連續(xù)多次讀取RFID 卡。讀取期間運(yùn)用防碰撞算法將讀取到的相同的RFID 卡信息排除,然后將得到的RFID 卡信息保存在數(shù)據(jù)結(jié)構(gòu)內(nèi),以便以后用數(shù)據(jù)結(jié)構(gòu)跟數(shù)據(jù)庫(kù)資料核對(duì)。完成讀取后,斷開RFID 連接并且開始跟數(shù)據(jù)庫(kù)對(duì)比資料。
這里我們采用了目前廣泛的二進(jìn)制樹防碰撞算法。讀寫器與應(yīng)答器之間進(jìn)行數(shù)據(jù)交換時(shí),往往要傳輸序列號(hào)的部分或者全部位,此時(shí)的傳輸順序定義為:先發(fā)送低位,再發(fā)送高位。在讀寫器或者應(yīng)答器內(nèi)部,對(duì)數(shù)據(jù)進(jìn)行比較時(shí),遵循這樣的原則,即按位依次比較,先比較低位,再比較高位,約定01,根據(jù)這個(gè)比較順序,在判斷大小時(shí),低位數(shù)據(jù)優(yōu)先,即兩數(shù)A,B 相比較,從低位開始的第一個(gè)不相等位的大小決定了兩數(shù)的大小,只有當(dāng)兩個(gè)數(shù)的全部位均相等時(shí),兩數(shù)才相等。二進(jìn)制樹算法執(zhí)行過程中, 讀寫器會(huì)多次發(fā)送把應(yīng)答器分成兩組并且多次分組后得到唯一的一個(gè)應(yīng)答器命令給應(yīng)答器, 而且在這個(gè)分組過程中命令參數(shù)以節(jié)點(diǎn)的形式存儲(chǔ)起來成一個(gè)數(shù)據(jù)的分叉樹,從而形成二進(jìn)制樹.智能冰箱的二進(jìn)制樹防碰撞算法在應(yīng)答器內(nèi)進(jìn)行比較,因?yàn)樽x寫器可以有多個(gè),而最后讀寫器讀到的數(shù)據(jù)發(fā)送給應(yīng)答器, 因此選擇應(yīng)答器作為防碰撞算法的燒錄地方, 這樣可以在應(yīng)答器接受了讀寫器讀到的標(biāo)簽排除相同后傳輸標(biāo)簽數(shù)據(jù)到主控平臺(tái)PXA270。
圖7 RFID 讀取流程圖
評(píng)論