當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導讀]摘 要:智能雞蛋盒采用當下最熱門的RT5350芯片和嵌入式Linux衍生出的OpenWrt控制系統(tǒng),應用ST188光電傳感器的光電感應功能通過I/O端口將電平信號傳輸?shù)街餍酒?,主芯片?jīng)過簡單處理后再將雞蛋數(shù)量和儲存時間等信息通過TCP協(xié)議傳輸顯示到Android客戶端。

引 言

智能雞蛋盒作為智能家居的一類產(chǎn)品,它解決了人們一直煩惱的忘記家里雞蛋數(shù)量和忘記雞蛋是否新鮮的問題。本論文實現(xiàn)了把雞蛋數(shù)量和儲存時間等數(shù)據(jù)傳輸?shù)?a href="/tags/Android" target="_blank">Android 客戶端,并記錄的功能,用戶可以隨時查看雞蛋盒里雞蛋的數(shù)量并檢查雞蛋是否新鮮。

1 智能雞蛋盒的設計

1.1 硬件電路的設計

在設計硬件方案時,需要考慮以下幾個因素:

(1) 該智能雞蛋盒在低溫封閉的環(huán)境中工作,所以芯片以及其它元器件必須具備能在低溫環(huán)境下正常工作的能力;

(2) 由于是在冰箱內(nèi)工作,所以無線網(wǎng)絡要有一定的無線穿透能力。

經(jīng)過一系列調(diào)研后,發(fā)現(xiàn) RT5350 這款自帶無線功能的主控芯片能滿足本項目的基本要求,而其他元器件如電阻、電容、LED 燈也能在低溫下正常工作。RT5350 是Ralink 公司在 2010 年左右推出的一款單芯片,其內(nèi)部集成了基帶處理器、射頻、功率放大器以及一顆高性能的 MIPS 24Kc CPU 內(nèi)核(最高主頻為 360 MHz),一個基于 Ralink RT5350 的五端口百兆以太網(wǎng)交換機[1],所以僅需很少的外圍元器件就可以實現(xiàn)低成本的2.4GHz 802.11n 無線產(chǎn)品。本文將RT5350 作為主控芯片, 采用距離傳感器檢測雞蛋是否存在,不使用壓力傳感器的原因在于壓力傳感器的功能是檢測壓力大小,無法直接檢測雞蛋的有無,而距離傳感器可以比較直接的檢測出一定距離內(nèi)是否有物體存在。

智能雞蛋盒與手機客戶端建立TCP/IP 連接,通過距離傳感器檢測雞蛋數(shù)量,同時將這些數(shù)據(jù)通過引腳口的高低電平傳遞給主控芯片,主控芯片經(jīng)過簡單處理后將這些信息通過 TCP 傳輸給手機客戶端??傇O計框圖如圖 1 所示。

智能雞蛋盒的設計與實現(xiàn)

1.2 Android客戶端的設計

智能雞蛋盒Android 客戶端整體的框架設計采用狀態(tài)欄 ActionBar、 切換頁面, 使用 ViewPager 與 Fragment 進行界面顯示,使用ListView 和自定義的 Adapter 展示數(shù)據(jù)列表,采用popWindow 組件顯示雞蛋盒里雞蛋存放的時間[2], 選擇在 Android3.0 之后出現(xiàn)的 ActionBar 來實現(xiàn)標題顯示, 為了能夠讓 ActionBar 的標題居中顯示,我們采用自定義的ActionBar。

在底部欄的選項卡里,文字采用TextView,圖片采用自定義的開源框架SVGView,原因在于傳統(tǒng)的 Bitmap(位圖)通過在每個像素點上存儲色彩信息來表達圖像,而SVG 是一個繪圖標準。與Bitmap 相比,SVG 放大后不會失真,且Bitmap 需要為不同的分辨率設計多套圖標,而矢量圖則不需要。

2 智能雞蛋盒的實現(xiàn)

2.1 硬件電路的實現(xiàn)

本軟件設計是在虛擬機上的UBUNTU 系統(tǒng)上對OpenWrt 系統(tǒng)進行裁剪,并通過編寫程序來完成。首先要構(gòu)建編譯環(huán)境,然后下載并配置 OpenWrt,完成基本的配置后,編譯利用UBUNTU 系統(tǒng)自帶的VI 編輯器編寫驅(qū)動、程序以及MAKEFILE,最后對整個 OpenWrt 系統(tǒng)進行編譯,編譯完成后生成一個固件,利用串口調(diào)試助手SecureCRT 和tftpd32 軟件將固件燒錄到RT5350 芯片上[3]。

2.2 硬件程序的編寫

硬件程序的編寫需先打開設備驅(qū)動節(jié)點并初始化,等待手機端連接,創(chuàng)建子進程發(fā)送心跳包并判斷連接是否斷開, 實時監(jiān)控接收到的指令并解析,實時監(jiān)控雞蛋數(shù)量變更并發(fā)送雞蛋數(shù)量變更數(shù)據(jù)給手機端。程序整體框架圖如圖 2 所示。

智能雞蛋盒的設計與實現(xiàn)

開機后,穩(wěn)壓電路會對電源電壓進行轉(zhuǎn)換,把電源電壓轉(zhuǎn)換成適合RT5350 芯片工作的 3.3 V 電壓,之后RT5350 芯片開始工作;OpenWrt 系統(tǒng)啟動后,立即啟動 Shell 開機啟動腳本,對本軟件程序進行啟動;驅(qū)動程序會建立一個設備節(jié)點并對硬件電路進行初始化,此時硬件電路各部分開始工作,程序啟動時會打開字符設備驅(qū)動的節(jié)點,從而使程序能夠?qū)τ布M行操作,同時再對硬件所映射的寄存器進行初始化,使各硬件電路開始工作;初始化完成后,建立 Socket,程序填充 TCP/IP 網(wǎng)絡協(xié)議信息[4],并開放特定端口等待手機端的連接 ;創(chuàng)建子進程發(fā)送心跳包并判斷連接是否斷開,子進程會不斷向手機端發(fā)送心跳包 ;程序?qū)崟r接收手機端發(fā)送過來的信息并對信息進行指令解析,再根據(jù)相應的指令采取相應的動作;程序通過 I/O 口對 ST188 光電傳感器發(fā)送的信號進行采集,從而對雞蛋盒上存放的雞蛋數(shù)量進行監(jiān)控,只要雞蛋數(shù)量發(fā)生變化,程序會立即識別并將雞蛋變更后的數(shù)量發(fā)送到手機端[5]。

2.3 Android客戶端的實現(xiàn)

Android 客戶端的主要核心模塊是和硬件通訊以及把硬件采集的數(shù)據(jù)顯示到客戶端。該模塊主要技術(shù)包括Socket 通訊、Service 后臺、BrodcastReceiver 通訊、Thread 線程以及Java 語言的反射技術(shù)。目前暫時定位 8 個雞蛋的原因是Socket 通訊時,在硬件上的開發(fā)語言是 C,而C 的一個字符為 8 個字節(jié),因此暫時定位發(fā)送一個通訊邏輯。根據(jù)需求分析,在與智能雞蛋盒通訊時,我們需要采用 Socket 長連接通訊機制, Socket 基于TCP/IP 協(xié)議,為 Client、Service(C/S)連接方式。智能雞蛋盒硬件電路作為 Server 端,而App 作為 Client 端, Client 需要保持長連接,就需要通過發(fā)送心跳包來與Server 保持長連接,并且 Android 系統(tǒng)的機制不能堵塞 UI 線程,無法在主線程操作網(wǎng)絡訪問,因此使用Service 和 Thread 作為Socket 通訊的線程,使用Timer 定時器與Server 端通訊發(fā)送心跳包。設備模塊實現(xiàn)圖如圖 3 所示。

智能雞蛋盒的設計與實現(xiàn)

3 智能雞蛋盒的測試

3.1 硬件電路的測試

系統(tǒng)測試設備見表 1 所列,硬件測試分為如下幾步進行:

(1) 檢查該模塊電路的焊接是否正確,用萬用表針對每條線路與每個可疑的斷線點進行逐一排查,看是否有短路和斷路的地方。

(2) 連接 5V電源,靜態(tài)檢查單片機 RT5350芯片的電壓是否為5V,是否正常工作,并檢查各元件是否有異常發(fā)熱現(xiàn)象。檢查距離傳感器是否正常工作,靈敏性是否達標。

(3) 使用數(shù)字萬用表測量電源模塊,將電源電壓穩(wěn)定在3.3V左右。

(4) 將編譯好的OpenWrt固件燒錄到RT5350 核心板上, 在確保程序正常后插上電源對雞蛋盒進行功能檢測,檢測的內(nèi)容主要有雞蛋數(shù)量能否被正常檢測,雞蛋數(shù)量發(fā)生變化時能否及時將信號傳遞給手機端[6]。測試結(jié)果符合要求。

智能雞蛋盒的設計與實現(xiàn)

3.2 Android 客戶端的測試

使用 Android[7] 手機進行測試,打開Android 客戶端,連接硬件,查看App 顯示的雞蛋數(shù)量和儲存時間是否與實際符合。所使用的手機為HM NOTE 2(紅米 Note 2),Android 系統(tǒng)版本為Android 4.4.4。測試結(jié)果符合要求。

4 結(jié) 語

智能雞蛋盒硬件電路的主芯片選擇了具有 WiFi功能模塊的 RT5350芯片, 在嵌入式 Linux系統(tǒng)上進行軟件編譯, 運用TCP/IP通訊技術(shù)實現(xiàn)主芯片和手機客戶端的連接。智能雞蛋盒 Android 客戶端主要實現(xiàn)和硬件電路的通信,把硬件 電路采集的雞蛋庫存及存放時間等參數(shù)傳輸?shù)娇蛻舳?,方?用戶實時查看。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉