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

引 言

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

1 智能雞蛋盒的設(shè)計(jì)

1.1 硬件電路的設(shè)計(jì)

在設(shè)計(jì)硬件方案時(shí),需要考慮以下幾個(gè)因素:

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

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

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

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

智能雞蛋盒的設(shè)計(jì)與實(shí)現(xiàn)

1.2 Android客戶(hù)端的設(shè)計(jì)

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

在底部欄的選項(xiàng)卡里,文字采用TextView,圖片采用自定義的開(kāi)源框架SVGView,原因在于傳統(tǒng)的 Bitmap(位圖)通過(guò)在每個(gè)像素點(diǎn)上存儲(chǔ)色彩信息來(lái)表達(dá)圖像,而SVG 是一個(gè)繪圖標(biāo)準(zhǔn)。與Bitmap 相比,SVG 放大后不會(huì)失真,且Bitmap 需要為不同的分辨率設(shè)計(jì)多套圖標(biāo),而矢量圖則不需要。

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

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

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

2.2 硬件程序的編寫(xiě)

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

智能雞蛋盒的設(shè)計(jì)與實(shí)現(xiàn)

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

2.3 Android客戶(hù)端的實(shí)現(xiàn)

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

智能雞蛋盒的設(shè)計(jì)與實(shí)現(xiàn)

3 智能雞蛋盒的測(cè)試

3.1 硬件電路的測(cè)試

系統(tǒng)測(cè)試設(shè)備見(jiàn)表 1 所列,硬件測(cè)試分為如下幾步進(jìn)行:

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

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

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

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

智能雞蛋盒的設(shè)計(jì)與實(shí)現(xiàn)

3.2 Android 客戶(hù)端的測(cè)試

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

4 結(jié) 語(yǔ)

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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