《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STC12C控制及Android終端的智能存取設(shè)備
基于STC12C控制及Android終端的智能存取設(shè)備
2014年微型機(jī)與應(yīng)用第17期
張如意,劉南輝,吳新坤
福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108
摘要: 設(shè)計(jì)了一種便攜式智能存取設(shè)備。它包括以STC12C單片機(jī)為控制中心的下位機(jī)和Android終端。其中Android終端實(shí)現(xiàn)數(shù)據(jù)檢索、借物系統(tǒng)、語(yǔ)音識(shí)別搜索等;下位機(jī)實(shí)現(xiàn)規(guī)格檢測(cè)和位置提示。Android終端與下位機(jī)之間通過(guò)藍(lán)牙進(jìn)行數(shù)據(jù)交互。經(jīng)過(guò)測(cè)試,該設(shè)備使用便捷,查找效率高。
Abstract:
Key words :

  摘 要: 設(shè)計(jì)了一種便攜式智能存取設(shè)備。它包括以STC12C單片機(jī)為控制中心的下位機(jī)和Android終端。其中Android終端實(shí)現(xiàn)數(shù)據(jù)檢索、借物系統(tǒng)、語(yǔ)音識(shí)別搜索等;下位機(jī)實(shí)現(xiàn)規(guī)格檢測(cè)和位置提示。Android終端與下位機(jī)之間通過(guò)藍(lán)牙進(jìn)行數(shù)據(jù)交互。經(jīng)過(guò)測(cè)試,該設(shè)備使用便捷,查找效率高。

  關(guān)鍵詞: Android ;藍(lán)牙;存取設(shè)備;STC12C單片機(jī)

  日常生活中有許多物品(如電子元器件、機(jī)械零件、家庭小藥品等)具有種類多、體積小的特點(diǎn)。這些特點(diǎn)使它們不易存儲(chǔ),管理不便,并且當(dāng)需要時(shí)如果沒(méi)有存放好,則需要大量的時(shí)間去查找。針對(duì)上述情況,蘇州艾隆有限公司針對(duì)藥物存取的問(wèn)題,制造了IRON-240智能存儲(chǔ)機(jī),極大地提高了藥物急診窗口的使用效率[1]。一些IC生產(chǎn)車間通過(guò)采取一種基于嵌入式系統(tǒng)開(kāi)發(fā)的存取系統(tǒng)[2]來(lái)提高IC電子部件的管理。但是現(xiàn)有階段的存取設(shè)備都是大型設(shè)備,不易攜帶,存儲(chǔ)物品具有專一性并且制作成本昂貴,操作較為繁瑣。對(duì)此,本文設(shè)計(jì)了一種便攜式存取設(shè)備,它具有成本低、使用方便等優(yōu)點(diǎn)。并且隨著手持移動(dòng)設(shè)備的發(fā)展,以智能手機(jī)為代表的Android設(shè)備更是迅猛發(fā)展[3],因此采用Android機(jī)作為終端設(shè)備,而下位機(jī)則采用STC12C單片機(jī)作為控制中心。該系統(tǒng)通過(guò)藍(lán)牙模塊進(jìn)行數(shù)據(jù)交互,利用Google語(yǔ)音識(shí)別庫(kù)進(jìn)行語(yǔ)音輸入,并且設(shè)備里創(chuàng)新性地加入了借物模塊,它可以在急需某物品而發(fā)現(xiàn)用完時(shí),在附近發(fā)現(xiàn)誰(shuí)有相同的物品,并提出借物請(qǐng)求。經(jīng)過(guò)測(cè)試,該存儲(chǔ)設(shè)備非常適合家庭、DIY愛(ài)好者管理小型物品。

1 系統(tǒng)框架


001.jpg

  系統(tǒng)的結(jié)構(gòu)框架如圖1所示,本系統(tǒng)采用Android手機(jī)終端控制,用戶利用手機(jī)進(jìn)行語(yǔ)音輸入或者手動(dòng)輸入想要存取的物品,終端就會(huì)對(duì)數(shù)據(jù)庫(kù)進(jìn)行索引或者新增,并獲得位置信息。然后位置信息通過(guò)藍(lán)牙模塊發(fā)送給以STC12C單片機(jī)作為主控中心的下位機(jī)。接著下位機(jī)將接收到的信息進(jìn)行解碼,獲得位置信息,然后通過(guò)位置提示模塊對(duì)相應(yīng)的位置進(jìn)行提示。與此同時(shí),Android終端會(huì)定期對(duì)數(shù)據(jù)庫(kù)里的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,得知用戶的使用物品頻率來(lái)彈出相應(yīng)的廣告。利用互聯(lián)網(wǎng),可以搜索附近是否有人擁有相同物品,并利用開(kāi)發(fā)的借物系統(tǒng)來(lái)發(fā)送請(qǐng)求借用信息。

2 下位機(jī)設(shè)計(jì)

  下位機(jī)的主控芯片選擇STC12C5A60S2,原因主要有兩點(diǎn):

  (1)由于下位機(jī)作為存取物體的主體,必須要實(shí)現(xiàn)位置提示的功能。這里利用LED點(diǎn)陣來(lái)實(shí)現(xiàn)位置的提示,這就需要單片機(jī)具有較快的速度并且I/O口具有較大的驅(qū)動(dòng)電流。而STC12C5A60S2作為一款增強(qiáng)型51單片機(jī)可以設(shè)置為1T模式,具有比通常的51單片機(jī)更快的運(yùn)行速度;另外它的每個(gè)I/O口都具有20 mA的驅(qū)動(dòng)電流,滿足此系統(tǒng)設(shè)計(jì)的需要。

  (2)便攜式的容物箱采取每層分格的樣式,為了可以存放大部分物體,每層的格子可以通過(guò)抽掉兩格之間的擋板將格子進(jìn)行相應(yīng)的合并擴(kuò)大。為了實(shí)現(xiàn)準(zhǔn)確定位,下位機(jī)需要知道格子的大小和相應(yīng)的位置。為了達(dá)到此目的同時(shí)又最大限度地的降低成本,采取了A/D采樣的方式,達(dá)到了一個(gè)A/D可以同時(shí)檢測(cè)多路格子是否合并的目的。這樣STC12C5A60S2自帶的8路10位精度ADC又一次滿足了系統(tǒng)的需要。

  除了以上兩點(diǎn)之外,STC12C5A60S2還具有許多擴(kuò)展功能,并且除了這些擴(kuò)展功能,單片機(jī)本身的使用與通常的51單片機(jī)完全一樣,操作十分便捷。

  2.1 位置提示功能的實(shí)現(xiàn)

  為了提示相應(yīng)存儲(chǔ)位置,需要明確指出格子的位置和編號(hào)。這里采用的方式是在格子底部的四周裝上LED燈,在用戶尋找相應(yīng)物體時(shí),相應(yīng)格子底部的LED燈將會(huì)亮起,以此來(lái)提示物體的存儲(chǔ)位置。同時(shí)由于這需要大量的I/O口來(lái)控制大量的LED亮滅,為了解決I/O口不足的問(wèn)題,本方案采取了點(diǎn)陣屏的思想,構(gòu)成了N×M的LED點(diǎn)陣屏,本方案中設(shè)計(jì)為6×8的LED點(diǎn)陣屏。同時(shí)為了便于以后多層擴(kuò)展和提高驅(qū)動(dòng)能力,進(jìn)一步減少I/O口的使用,采用了串轉(zhuǎn)并芯片74hc595的級(jí)聯(lián)電路來(lái)分別控制點(diǎn)陣屏的行和列,如圖2所示。

002.jpg

  格子的編號(hào)是在下位機(jī)軟件編程時(shí)按照一定的順序進(jìn)行編碼的。這里需要轉(zhuǎn)成相應(yīng)的串口數(shù)據(jù),然后串行輸入到74hc595,并驅(qū)動(dòng)它并行輸出控制信號(hào),從而具體控制一個(gè)或多個(gè)LED格子燈亮起,提示相應(yīng)的位置。

  2.2 規(guī)格檢測(cè)功能的實(shí)現(xiàn)

  規(guī)格檢測(cè)的主要目的是檢測(cè)格子間的隔板是否被抽掉,并判斷被抽掉的隔板分別是哪幾列。將跳帽和隔板進(jìn)行粘合,當(dāng)跳帽安插時(shí)就有部分電路被短路。進(jìn)而設(shè)計(jì)了利用A/D采樣來(lái)獲得規(guī)格數(shù)據(jù)的方案。經(jīng)檢驗(yàn)該方案在容納盒不是很大的情況下,下位機(jī)檢查結(jié)果十分穩(wěn)定、精確,并具有成本低廉、實(shí)現(xiàn)簡(jiǎn)單的優(yōu)點(diǎn)。

  該方案的數(shù)學(xué)原理如下:依據(jù)數(shù)學(xué)集合的知識(shí)可知,假設(shè)有一個(gè)無(wú)窮集合2n(n為非負(fù)整數(shù)),任取集合里面的任意個(gè)數(shù)進(jìn)行相加得到的和是唯一的。也就是說(shuō)對(duì)于任意一個(gè)正整數(shù),此集合中都有且只有唯一一組不重復(fù)的元素相加的和與其相等。

  根據(jù)以上數(shù)學(xué)原理及電阻分壓原理,分別取電阻值為X、2X、4X、 8X...2nX 的電阻串聯(lián),串聯(lián)的阻值記為R',然后再與一個(gè)已知電阻值為R的電阻串聯(lián)分壓并測(cè)量此電阻兩端的電壓。跳帽按下則R'中就有一個(gè)電阻被短路。此時(shí)R'電阻發(fā)生唯一性變化,那么根據(jù)分壓公式電阻R兩端電壓為:V=R/(R+R'),由于R'被唯一確定,因此V也被唯一確定,進(jìn)而測(cè)量V就可以唯一確定哪幾列的隔板被抽出,也就知道了此時(shí)抽屜格子的規(guī)格。

3 Android終端應(yīng)用程序開(kāi)發(fā)

  目前Android設(shè)備普遍流行,Android是一種基于Linux的自由及開(kāi)放源碼的操作系統(tǒng),最常見(jiàn)的Android設(shè)備就是大家使用的Android手機(jī),通過(guò)開(kāi)發(fā)一個(gè)APP來(lái)管理自己的物品,方便日常生活,并且還提供了簡(jiǎn)單的借物交友功能。此APP的主要內(nèi)容是實(shí)現(xiàn)終端手持設(shè)備與STC12C單片機(jī)通過(guò)藍(lán)牙進(jìn)行數(shù)據(jù)交互,得到數(shù)據(jù)之后分析處理并且保存到數(shù)據(jù)庫(kù),還可以通過(guò)接入互聯(lián)網(wǎng)進(jìn)行附近用戶的搜索并向其發(fā)起聊天和借物請(qǐng)求。

  3.1 藍(lán)牙通信

  Android平臺(tái)支持藍(lán)牙網(wǎng)絡(luò)協(xié)議棧,實(shí)現(xiàn)藍(lán)牙設(shè)備之間數(shù)據(jù)的無(wú)線傳輸。STC12C單片機(jī)作為服務(wù)端,通過(guò)串口來(lái)控制藍(lán)牙模塊,Android端則是以客戶端方式連接。Android端使用BlueToothAdapter(本地藍(lán)牙適配器)來(lái)搜索遠(yuǎn)程的服務(wù)端設(shè)備,當(dāng)服務(wù)端和客戶端在同一個(gè)RFCOMM信道上都有一個(gè)BluetoothSocket時(shí),就可以認(rèn)為它們建立了一個(gè)連接,并可以獲得一個(gè)InputStream和OutputStream來(lái)開(kāi)始數(shù)據(jù)傳輸。藍(lán)牙連接成功后就開(kāi)辟一個(gè)線程一直監(jiān)聽(tīng)下位機(jī)是否有數(shù)據(jù)傳過(guò)來(lái)并進(jìn)行相應(yīng)的處理,防止UI線程阻塞并進(jìn)行異步處理以提高程序的效率[4],通過(guò)Handle機(jī)制與主UI線程通信。

  3.2 數(shù)據(jù)庫(kù)與廣告推送

  Google為Android的數(shù)據(jù)保存提供了SQLite,它可以使數(shù)據(jù)存儲(chǔ)、管理、維護(hù)具有輕量級(jí)、獨(dú)立性、安全性等優(yōu)點(diǎn)。SQLite數(shù)據(jù)庫(kù)通過(guò)數(shù)據(jù)庫(kù)級(jí)上的獨(dú)占性和共享鎖來(lái)實(shí)現(xiàn)獨(dú)立事務(wù)處理。本系統(tǒng)具有多層抽屜,每層抽屜需要存放各種物品,因此每一層都建立一張表來(lái)保存。主要字段有:物品名稱、存儲(chǔ)位置、存儲(chǔ)時(shí)間、數(shù)量、類別、使用頻率等。程序運(yùn)行時(shí)則是通過(guò)鏈表作為cache,將數(shù)據(jù)庫(kù)的表導(dǎo)入鏈表里,然后對(duì)鏈表做一些相應(yīng)的操作(如增、刪、改、查等),同時(shí)也會(huì)及時(shí)將鏈表的數(shù)據(jù)保存到SQLite里。定期統(tǒng)計(jì)數(shù)據(jù)庫(kù)的數(shù)據(jù)(如物品使用頻率),對(duì)各類物品的剩余數(shù)量進(jìn)行有針對(duì)性的廣告推送,提醒用戶哪些物品需要購(gòu)買。

  3.3 規(guī)格UI設(shè)計(jì)

  該系統(tǒng)的存儲(chǔ)設(shè)備的規(guī)格可以根據(jù)用戶需求進(jìn)行變更,可以將格子的大小任意合并,Android端則需要時(shí)時(shí)反映出規(guī)格的變化以方便用戶存取物品。因此UI設(shè)計(jì)就是通過(guò)建立一個(gè)Canvas在Bitmap上用Paint來(lái)畫(huà)每一個(gè)格子。STC12C傳過(guò)來(lái)的規(guī)格是一個(gè)0與1的數(shù)組,每一個(gè)數(shù)據(jù)都代表格子的邊,0代表已經(jīng)合并了,1代表有隔板,解析這些數(shù)組并畫(huà)出變化的規(guī)格格子。

  3.4 語(yǔ)音查找

  通過(guò)語(yǔ)音輸入來(lái)代替手動(dòng)輸入可以提高效率。語(yǔ)音識(shí)別是采用Google提供的API來(lái)實(shí)現(xiàn)的,將用戶的聲音轉(zhuǎn)變成聲譜圖,傳送到Google云服務(wù)器上進(jìn)行處理后返回一個(gè)String List,然后遍歷這個(gè)List與本地的SQLite數(shù)據(jù)內(nèi)的詞條目進(jìn)行匹配查找,當(dāng)找到后就獲取存儲(chǔ)位置并通過(guò)藍(lán)牙發(fā)送給STC12C單片機(jī),向用戶提供相應(yīng)物品的聲光提示。

  3.5 借物聊天系統(tǒng)開(kāi)發(fā)

  當(dāng)用戶急需某個(gè)物品時(shí),就可以通過(guò)搜索附近來(lái)發(fā)起請(qǐng)求,用戶通過(guò)互聯(lián)網(wǎng)登錄服務(wù)器,并搜索附近使用同款軟件的用戶,對(duì)其發(fā)起聊天和借物請(qǐng)求。

  3.5.1 簡(jiǎn)易服務(wù)器的搭建

  服務(wù)器通過(guò)JAVA進(jìn)行編寫(xiě),功能比較簡(jiǎn)單。通過(guò)socket套接字在TCP協(xié)議的基礎(chǔ)上進(jìn)行通信,采用accept等待連接,每當(dāng)有客服端連接時(shí)就返回一個(gè)socket對(duì)象實(shí)例并開(kāi)辟一個(gè)線程與其通信。可以實(shí)現(xiàn)用戶登錄驗(yàn)證、注冊(cè)、保存用戶地理位置信息、廣播通信等功能。

  3.5.2 客戶端描述

  當(dāng)用戶查找附近時(shí)會(huì)先向服務(wù)器上傳自己的地理位置信息(經(jīng)緯度),服務(wù)器則會(huì)返回附近其他用戶的地理信息,然后將這些數(shù)據(jù)在地圖上標(biāo)注出來(lái),用戶可以點(diǎn)擊來(lái)發(fā)起聊天與借物請(qǐng)求。

  本文設(shè)計(jì)了一個(gè)基于STC12C單片機(jī)主控板及Android手持終端的智能存取設(shè)備,可以幫助管理那些多而小的DIY器件或者是家里的一些小藥物,設(shè)備有自帶的規(guī)格檢測(cè)模塊和位置提示功能,可以任意合并規(guī)格,同時(shí)還帶有借物聊天系統(tǒng),可與附近的其他用戶進(jìn)行互動(dòng)以借物。較現(xiàn)有的大型存儲(chǔ)設(shè)備而言,本設(shè)計(jì)中的存儲(chǔ)設(shè)備成本低廉,容易上手,具有較高的實(shí)用性與推廣價(jià)值。

參考文獻(xiàn)

  [1] 華祎銘,徐慧欣,馬多玲.智能存取系統(tǒng)對(duì)急診藥房工作效率的影響[J].藥學(xué)服務(wù)與研究,2013,13(5):390-392.

  [2] 黃嬌清.IC生產(chǎn)車間部件存取系統(tǒng)的硬件系統(tǒng)設(shè)計(jì)[J].海峽科學(xué),2012(8):56-64.

  [3] 張華,劉鐵英. Android應(yīng)用軟件發(fā)展趨勢(shì)與關(guān)鍵技術(shù)探索[J].商場(chǎng)現(xiàn)代化,2012(28):7.

  [4] 紀(jì)曉陽(yáng).線程在Android開(kāi)發(fā)中的應(yīng)用[J].軟件,2013(8):


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 欧美激情黄色 | 日韩在线观看网站 | 风流放荡的艳妇小说 | 精品一区二区视频 | 综合久久影院 | 成人免费观看国产高清 | 亚洲日本va中文字幕久久 | 午夜私人影院4480yy毛片 | 欧美日韩一本 | 国产欧美一区二区 | 色天网站 | 黄视频免费在线 | 亚洲一级黄色 | 欧美综合久久 | 成人免费观看高清在线毛片 | 一个人看的www片免费视频中文 | 黄色视屏在线免费看 | 久久精品国产曰本波多野结衣 | 最近2019中文字幕mv免费看 | 色综合久久六月婷婷中文字幕 | 狍和美女一级aa毛片 | 一二三四视频社区在线中文1 | v天堂网| 波多野结衣视频在线观看地址免费 | 羞羞在线| 欧美日韩在线免费 | 色黄三大片免费 | 日本欧美大码aⅴ在线播放 日本欧美成人免费观看 | 国产精品青青 | 玖玖精品 | 成人五月网| 狠狠色噜噜狠狠狠合久 | 特级毛片aaaa免费观看 | 欧美激情视频网 | 亚洲已满18点击进入在线观看 | 九九精品免视看国产成人 | 国产综合第一页在线视频 | 中国性猛交xxxx乱大交 | 午夜看片免费 | 精品h视频 | 日韩免费成人 |