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

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

  關鍵詞: Android ;藍牙;存取設備;STC12C單片機

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

1 系統(tǒng)框架


001.jpg

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

2 下位機設計

  下位機的主控芯片選擇STC12C5A60S2,原因主要有兩點:

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

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

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

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

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

002.jpg

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

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

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

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

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

3 Android終端應用程序開發(fā)

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

  3.1 藍牙通信

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

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

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

  3.3 規(guī)格UI設計

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

  3.4 語音查找

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

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

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

  3.5.1 簡易服務器的搭建

  服務器通過JAVA進行編寫,功能比較簡單。通過socket套接字在TCP協(xié)議的基礎上進行通信,采用accept等待連接,每當有客服端連接時就返回一個socket對象實例并開辟一個線程與其通信。可以實現(xiàn)用戶登錄驗證、注冊、保存用戶地理位置信息、廣播通信等功能。

  3.5.2 客戶端描述

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

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

參考文獻

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

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

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

  [4] 紀曉陽.線程在Android開發(fā)中的應用[J].軟件,2013(8):


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲女人天堂成人av在线| 亚洲激情国产| 亚洲第一精品夜夜躁人人躁| 国产伦精品一区二区三区免费| 欧美日韩视频在线观看一区二区三区| 久久婷婷丁香| 久久成人精品视频| 亚洲欧美变态国产另类| 亚洲一区二区精品视频| 亚洲美女中文字幕| 亚洲黄一区二区| 亚洲国产视频一区二区| 久久国产欧美| 久久精品国产一区二区三区| 欧美一区1区三区3区公司| 香港久久久电影| 午夜在线a亚洲v天堂网2018| 午夜视频在线观看一区| 亚洲制服av| 午夜视频在线观看一区二区三区| 亚洲欧美不卡| 午夜久久福利| 欧美一级网站| 久久精品成人一区二区三区| 亚洲成人在线视频网站| 欧美激情精品久久久久久大尺度 | 国产一区二区欧美| 国产婷婷成人久久av免费高清 | 黄色精品一区二区| 在线免费精品视频| 亚洲欧洲偷拍精品| 99视频精品在线| 亚洲一区二区三区精品动漫| 午夜精品久久久久久久| 欧美中文字幕在线视频| 亚洲大胆av| 99国产精品自拍| 亚洲尤物视频网| 欧美一级欧美一级在线播放| 久久久欧美精品sm网站| 免播放器亚洲一区| 欧美一级理论性理论a| 久久久一区二区| 欧美高清在线视频观看不卡| 欧美日韩精品免费| 国产精品一二三视频| 国产亚洲日本欧美韩国| 在线精品观看| 亚洲精品少妇| 亚洲资源av| 亚洲国内精品| 亚洲一区二区三区四区在线观看| 性欧美超级视频| 免费成人小视频| 国产精品jizz在线观看美国 | 午夜久久久久久久久久一区二区| 久久激情五月激情| 美国十次成人| 欧美午夜一区二区| 国内外成人免费激情在线视频| **欧美日韩vr在线| 亚洲图片激情小说| 久久激情五月婷婷| 一本久久精品一区二区| 欧美中文字幕第一页| 欧美二区在线播放| 国产精品日韩欧美一区二区三区 | 精品999在线播放| 一区二区三区精品| 亚洲国产精品成人一区二区| 一本色道久久综合亚洲二区三区| 欧美伊人久久大香线蕉综合69| 裸体一区二区| 国产精品劲爆视频| 亚洲第一精品电影| 亚洲永久免费观看| 亚洲蜜桃精久久久久久久| 99日韩精品| 久久成人精品电影| 一区二区三区欧美亚洲| 久久久噜噜噜久久中文字幕色伊伊 | 一本大道久久a久久精二百| 欧美一区二区高清| 欧美久久久久| 国产一区二区三区四区五区美女 | 欧美一级视频| 欧美日韩免费| 尤物yw午夜国产精品视频| 亚洲一区二区三区午夜| 亚洲免费播放| 久久夜色精品一区| 国产精品有限公司| 99精品热6080yy久久 | 日韩午夜三级在线| 久久精品在线观看| 国产精品久久久久久亚洲毛片| 亚洲激情偷拍| 久久精品国产清高在天天线| 欧美一区高清| 国产精品久久久久久久久免费桃花| 亚洲二区在线| 久久精品国产第一区二区三区最新章节| 亚洲一区国产一区| 欧美国产视频一区二区| 国产一区二区三区久久精品| 亚洲女人av| 亚洲综合国产激情另类一区| 欧美精品一区二区在线观看| 一区在线播放| 久久国内精品视频| 久久黄色影院| 国产欧美一区二区精品性色| 亚洲一区二区欧美| 亚洲一区二区三区免费视频| 欧美久久99| 亚洲国产视频直播| 亚洲国产欧美不卡在线观看| 久久久久久自在自线| 国产午夜精品一区二区三区欧美 | 免费不卡亚洲欧美| 狠狠色丁香久久综合频道| 午夜视频久久久| 久久国产色av| 国产亚洲一区精品| 欧美在线三区| 久久久久国产精品一区| 国产在线高清精品| 久久精品夜色噜噜亚洲a∨| 久久久欧美精品sm网站| 国产有码在线一区二区视频| 久久超碰97人人做人人爱| 久久亚洲国产成人| 黄色国产精品| 91久久久在线| 欧美精品一区二区三区四区| 亚洲精品女人| 亚洲小视频在线观看| 国产精品jizz在线观看美国| 亚洲天堂av电影| 欧美一区2区三区4区公司二百| 国产农村妇女毛片精品久久莱园子 | 国产美女精品免费电影| 欧美一区二区精品久久911| 久久久午夜精品| 在线日韩av片| 99在线精品免费视频九九视| 欧美日韩在线亚洲一区蜜芽| 亚洲性线免费观看视频成熟| 欧美一区二区三区四区在线观看地址| 国产日产精品一区二区三区四区的观看方式| 午夜精品久久99蜜桃的功能介绍| 久久精品国产一区二区三区免费看 | 毛片一区二区三区| 亚洲精品日韩欧美| 亚洲欧美日韩精品在线| 国产日韩一区二区三区| 久久精品盗摄| 欧美理论电影在线观看| 亚洲色图自拍| 久久久久国产精品午夜一区| 雨宫琴音一区二区在线| 一区二区三区视频观看| 国产欧美综合在线| 亚洲欧洲精品成人久久奇米网| 欧美日韩免费区域视频在线观看| 亚洲已满18点击进入久久| 久久久久久久综合色一本| 亚洲三级影院| 欧美在线一区二区| 在线播放日韩专区| 亚洲女女女同性video| 激情六月综合| 亚洲尤物影院| 伊人成人开心激情综合网| 亚洲一区www| 国产一区二区欧美日韩| 一本一本久久a久久精品牛牛影视| 国产午夜精品久久| 一区二区三区免费观看| 国产一区二区三区观看| 国产精品99久久久久久白浆小说| 韩日成人在线| 午夜精品久久久久| 亚洲高清资源综合久久精品| 午夜精品短视频| 亚洲精品视频免费观看| 久久久久久精| 亚洲桃色在线一区| 欧美国产成人精品| 欧美中文字幕在线视频| 国产精品美女久久久久aⅴ国产馆| 亚洲国产精品久久久久婷婷老年| 国产精品久久久久秋霞鲁丝| 亚洲精品乱码久久久久久久久| 国产美女一区| 亚洲一区二区在线免费观看视频| 亚洲高清av| 久久久无码精品亚洲日韩按摩| 亚洲视频久久| 欧美人与性动交cc0o|