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