基于安卓操作系統(tǒng)的智能快件箱的制作方法
【專利摘要】基于安卓操作系統(tǒng)的智能快件箱涉及智能快件箱領域,一種智能快件箱,包括控制主板、電源、電子鎖,顯示屏,電源和控制主板、電子鎖、顯示屏相連,控制主板的操作系統(tǒng)為安卓,所述的控制主板的主芯片為ARM架構??刂浦靼宓闹餍酒–PU。控制主板包括串口 、 顯示器接口、USB接口、RTC電池 、 RJ45接口、SIM卡座、電源接口、內(nèi)存。
【專利說明】基于安卓操作系統(tǒng)的智能快件箱
【技術領域】
[0001]本專利涉及智能快件箱。
【背景技術】
[0002]目前,智能快件箱已經(jīng)逐步開始普及,國家郵政局制定了相關標準《Υζ/Τ0133-201智能快件箱國家標準》,智能快件箱是解決快件投遞“最后一公里”問題的有效途徑,近年來,隨著信息技術的發(fā)展和電子商務的繁榮,我國快遞業(yè)發(fā)展保持著高速的增長態(tài)勢??爝f業(yè)務規(guī)模的激增給快遞的末端投遞帶來了挑戰(zhàn)。
[0003]智能快件箱是一種集快件投遞與提取多種功能于一體的全天24小時自助服務設備。智能快件箱,有助于解決投遞成本高、快件安全無法保證、客戶取貨不方便以及派送時間與消費者接貨時間不一致等問題,成為解決快件投遞“最后一公里”問題的有效途徑,其現(xiàn)實意義和社會價值主要表現(xiàn)為:降低人力成本、提高投遞效率、保護個人隱私。
[0004]智能快件箱是快遞末端服務的有益補充,近年來,越來越多國家的郵政企業(yè)和快遞企業(yè)開始應用智能快件箱解決末端投遞問題。截至目前,共有近二十個國家應用智能快件箱。國內(nèi)市場,中國郵政、順豐、圓通、韻達、中通等快遞企業(yè)和京東、亞馬遜等均開始嘗試使用智能快件箱。
[0005]從整體形勢上看,郵政企業(yè)、主要快遞企業(yè)以及第三方公司正在積極探索末端投遞的解決方案,行業(yè)發(fā)展的主流依舊是加強網(wǎng)點建設及末端投遞人力投入,提高末端投遞的服務能力和服務水平。在目前階段,智能快件箱仍為快遞末端投遞的一種有益補充,為用戶提供了一種良好的服務選擇。
[0006]2013年8月21日,國家郵政局組織召開智能快件箱標準研討會議。與會代表展開認真熱烈的討論,并對標準名稱、收寄功能的選取、安全防控措施等問題提出了修改意見和建議。會后,項目組對專家意見進行逐條分析,在此基礎上形成了標準征求意見稿。
[0007]目前,智能快件箱的名稱多種多樣,國內(nèi)外常見名稱有自助包裹箱、自助包裹站、包裹自助系統(tǒng)、自助提貨機、自助快遞箱等十余種,本專利采用了 “智能快件箱”這一名稱。
[0008]國外智能快件箱的安裝地點主要選擇在戶外人員流動密度較高的地帶,如車站、購物中心、大型住宅和住宅群等??紤]到室外環(huán)境的多變性和復雜性,結合我國國情,國內(nèi)智能快件箱在選址上主要放置于社區(qū)內(nèi)、學校內(nèi)、寫字樓內(nèi)、地鐵口等場所,具有一定安全保障性。
[0009]智能快件箱大多采用普通單片機控制。使用普通單片機其功能簡單,開發(fā)較為復雜。如申請?zhí)枮?01320175838.5的專利“一種快遞自提裝置”、申請?zhí)枮?01320892311.4的專利“智能快遞接收裝置”、專利號為201210455432.2的專利“一種自動簽收機及自動簽收應用技術方案”,以上幾個專利均為使用單片機控制,單片機(Single chipmicrocomputer )是一種集成電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O 口和中斷系統(tǒng)、定時器/計數(shù)器等功能(可能還包括顯示驅動電路、脈寬調(diào)制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發(fā)展到現(xiàn)在的300M的高速單片機。但是普通單片機作為控制系統(tǒng),如需開發(fā)成圖形交互等復雜程序時代碼開發(fā)量較大,處理速度也較慢,大部分用于非圖形交互的簡單工業(yè)控制。
【發(fā)明內(nèi)容】
[0010]為解決上述問題,本專利的目的是提供可以圖形界面交互的、使用觸摸屏操作的智能快件箱,程序代碼開發(fā)量較少,處理速度較快的智能快件箱。
[0011]以下給出了本專利的簡要概述以及提供本專利的某些方面的基本理解。該概述并非本專利的詳盡綜述。其并非旨在表示本專利的關鍵性、決定性要素或刻劃本專利的范圍。其唯一目的是以簡要形式給出本專利的某些概念作為對稍后給出的更詳細描述的前序。
[0012]基于安卓操作系統(tǒng)的智能快件箱,一種智能快件箱,包括控制主板、電源、電子鎖,顯示屏,電源和控制主板、電子鎖、顯示屏相連,所述的控制主板的操作系統(tǒng)為安卓??刂浦靼鍍?nèi)包括基于安卓的控制軟件,所述的控制軟件用于控制智能快件箱。安卓即android(Google公司開發(fā)的操作系統(tǒng)),Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領導及開發(fā)。Android操作系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發(fā)商及電信營運商組建開放手機聯(lián)盟共同研發(fā)改良Android系統(tǒng)。隨后Google以Apache開源許可證的授權方式,發(fā)布了 Android的源代碼。第一部Android智能手機發(fā)布于2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數(shù)碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。2013年的第四季度,Android平臺手機的全球市場份額已經(jīng)達到78.1%。2013年09月24日谷歌開發(fā)的操作系統(tǒng)Android在迎來了 5歲生日,全世界采用這款系統(tǒng)的設備數(shù)量已經(jīng)達到10億臺。Android的系統(tǒng)架構和其操作系統(tǒng)一樣,采用了分層的架構。
[0013]從架構圖看,Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統(tǒng)運行庫層和Linux內(nèi)核層。
[0014]應用程序,Android會同一系列核心應用程序包一起發(fā)布,該應用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應用程序都是使用JAVA語言編寫的。
[0015]應用程序框架,開發(fā)人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發(fā)布它的功能塊并且任何其它的應用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
[0016]隱藏在每個應用后面的是一系列的服務和系統(tǒng),其中包括;
豐富而又可擴展的視圖(Views),可以用來構建應用程序,它包括列表(Lists),網(wǎng)格(Grids),文本框(Text boxes),按鈕(Buttons),甚至可嵌入的web瀏覽器。
[0017]內(nèi)容提供器(Content Providers)使得應用程序可以訪問另一個應用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù)。
[0018]資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字符串,圖形,和布局文件(Layout files )。
[0019]通知管理器(Notificat1n Manager)使得應用程序可以在狀態(tài)欄中顯不自定義的提示信息。
[0020]活動管理器(Activity Manager)用來管理應用程序生命周期并提供常用的導航回退功能。
[0021]系統(tǒng)運行庫,Android包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過Android應用程序框架為開發(fā)者提供服務。以下是一些核心庫:
*系統(tǒng)C庫-一個從BSD繼承來的標準C系統(tǒng)函數(shù)庫Libc ),它是專門為基于Embedded Iinux的設備定制的。
[0022]*媒體庫-基于PacketVideo OpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態(tài)圖像文件。編碼格式包括MPEG4,H.264, MP3, AAC, AMR, JPG,PNG。
[0023]* Surface Manager -對顯示子系統(tǒng)的管理,并且為多個應用程序提供了 2D和3D圖層的無縫融合。
[0024]* LibffebCore - 一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖。
[0025]Android是運行于Linux kernel之上,但并不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持,包括 Cairo、XI1、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以B1nic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。Android為了達到商業(yè)應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到Userspace,使得Linux driver與Linux kernel徹底分開。B1nic/Libc/Kernel/ 并非標準的 Kernel header files。Android 的 Kernelheader是利用工具由Linux Kernel header所產(chǎn)生的,這樣做是為了保留常數(shù)、數(shù)據(jù)結構與宏。
[0026]Android 的 Linux kernel 控制包括安全(Security),存儲器管理(MemoryManagement),程序管理(Process Management),網(wǎng)絡堆棧(Network Stack),驅動程序模型(Driver Model)等。下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo是Android用來輔助Git工作的一個工具。
[0027]APK是安卓應用的后綴,是AndroidPackage的縮寫,即Android安裝包(apk)。APK是類似Symbian Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執(zhí)行即可安裝。apk文件和sis—樣,把android sdk編譯的工程打包成一個安裝程序文件,格式為apk。APK文件其實是zip格式,但后綴名被修改為apk,通過UnZip 解壓后,可以看到 Dex 文件,Dex 是 Dalvik VM executes 的全稱,即 Android Dalvik執(zhí)行程序,并非Java ME的字節(jié)碼而是Dalvik字節(jié)碼。
[0028]APK文件結構一個APK文件結構為:
1.META-1NF\ (注:Jar文件中??梢钥吹?;
2.res\ (注:存放資源文件的目錄); 3.AndroidManifest.xml (注:程序全局配置文件);
4.classes, dex (注:Dalvik 字節(jié)碼);
5.resources, arse (注:編譯后的二進制資源文件)。
[0029]總結下我們發(fā)現(xiàn)Android在運行一個程序時首先需要UnZip,然后類似Symbian那樣直接執(zhí)行安裝,和Windows Mobile中的PE文件有區(qū)別,這樣做對于程序的保密性和可靠性不是很高,通過dexdump命令可以反編譯,但這樣做符合發(fā)展規(guī)律,微軟的WindowsGadgets或者說WPF也采用了這種構架方式。
[0030]在Android平臺中dalvik vm的執(zhí)行文件被打包為apk格式,最終運行時加載器會解壓然后獲取編譯后androidmanifest.xml文件中的permiss1n分支相關的安全訪問,但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下會發(fā)現(xiàn)執(zhí)行是不受限制的。
[0031]最終我們平時安裝的文件可能不是這個文件夾,而在android rom中系統(tǒng)的apk文件默認會放入這個文件夾,它們擁有著root權限。
[0032]硬件抽像層,Android的HAL (硬件抽像層)是能以封閉源碼形式提供硬件驅動模塊。HAL 的目的是為了把 Android framework 與 Linux kernel 隔開,讓 Android 不至過度依賴 Linux kernel,以達成 Kernel independent 的概念,也讓 Android framework的開發(fā)能在不考量驅動程序實現(xiàn)的前提下進行發(fā)展。
[0033]HAL stub是一種代理人(Proxy)的概念,Stub是以*.so檔的形式存在。Stub向HAL “提供”操作函數(shù)(Operat1ns),并由Android runtime向HAL取得Stub的Operat1ns,再Callback這些操作函數(shù)。HAL里包含了許多的Stub (代理人)。Runtime只要說明“類型”,即Module ID,就可以取得操作函數(shù)。
[0034]中介軟件,操作系統(tǒng)與應用程序的溝通橋梁,應用分為兩層:函數(shù)層(Library)和虛擬機(Virtual Machine)。B1nic 是 Android 改良 Iibc 的版本。Android 同時包含了 Webkit,所謂的Webkit就是Apple Safari瀏覽器背后的引擎。Surface flinger是就2D或3D的內(nèi)容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自制的B1nicLibc0
[0035]Android采用OpenCORE作為基礎多媒體框架。Open CORE可分7大塊:PVPlayer、PVAuthor、 Codec、PacketVideo Multimedia Framework (PVMF)、 Operating SystemCompatibility Library (OSCL)、Common、OpenMAX0
[0036]Android 使用 skia 為核心圖形引擎,搭配 0penGL/ES。skia 與 Linux Cairo 功能相當,但相較于Linux Cairo, skia功能還只是雛形的。2005年Skia公司被Google收購,2007年初,Skia GL源碼被公開,Skia也是Google Chrome的圖形引擎。
[0037]Android的多媒體數(shù)據(jù)庫采用SQLite數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫又分為共用數(shù)據(jù)庫及私用數(shù)據(jù)庫。用戶可通過ContentResolver類(Column)取得共用數(shù)據(jù)庫。
[0038]Android的中間層多以Java實現(xiàn),并且采用特殊的Dalvik虛擬機(DalvikVirtual Machine)。Dalvik 虛擬機是一種“暫存器型態(tài)”(Register Based)的 Java 虛擬機,變量皆存放于暫存器中,虛擬機的指令相對減少。
[0039]Dalvik虛擬機可以有多個實例(Instance),每個Android應用程序都用一個自屬的Dalvik虛擬機來運行,讓系統(tǒng)在運行程序時可達到優(yōu)化。Dalvik虛擬機并非運行Java字節(jié)碼(Bytecode),而是運行一種稱為.dex格式的文件。
[0040]安全權限機制,Android本身是一個權限分立的操作系統(tǒng)。在這類操作系統(tǒng)中,每個應用都以唯一的一個系統(tǒng)識別身份運行(Linux用戶ID與群組ID)。系統(tǒng)的各部分也分別使用各自獨立的識別方式。Linux就是這樣將應用與應用,應用與系統(tǒng)隔離開。
[0041]系統(tǒng)更多的安全功能通過權限機制提供。權限可以限制某個特定進程的特定操作,也可以限制每個URI權限對特定數(shù)據(jù)段的訪問。
[0042]Android安全架構的核心設計思想是,在默認設置下,所有應用都沒有權限對其他應用、系統(tǒng)或用戶進行較大影響的操作。這其中包括讀寫用戶隱私數(shù)據(jù)(聯(lián)系人或電子郵件),讀寫其他應用文件,訪問網(wǎng)絡或阻止設備待機等。
[0043]安裝應用時,在檢查程序簽名提及的權限,且經(jīng)過用戶確認后,軟件包安裝器會給予應用權限。從用戶角度看,一款Android應用通常會要求如下的權限:
撥打電話、發(fā)送短信或彩信、修改/刪除SD卡上的內(nèi)容、讀取聯(lián)系人的信息、讀取日程信的息,寫入日程數(shù)據(jù)、讀取電話狀態(tài)或識別碼、精確的(基于GPS )地理位置、模糊的(基于網(wǎng)絡獲取)地理位置、創(chuàng)建藍牙連接、對互聯(lián)網(wǎng)的完全訪問、查看網(wǎng)絡狀態(tài),查看WiFi狀態(tài)、避免手機待機、修改系統(tǒng)全局設置、讀取同步設定、開機自啟動、重啟其他應用、終止運行中的應用、設定偏好應用、震動控制、拍攝圖片等。
[0044]一款應用應該根據(jù)自身提供的功能,要求合理的權限。用戶也可以分析一款應用所需權限,從而簡單判定這款應用是否安全。如一款應用是不帶廣告的單機版,也沒有任何附加的內(nèi)容需要下載,那么它要求訪問網(wǎng)絡的權限就比較可疑。
[0045]Android開發(fā)四大組件分別是:活動(Activity):用于表現(xiàn)功能。服務(Service):后臺運行服務,不提供界面呈現(xiàn)。廣播接收器(BroadcastReceiver):用于接收廣播。內(nèi)容提供商(Content Provider):支持在多個應用中存儲和讀取數(shù)據(jù),相當于數(shù)據(jù)庫。
[0046]活動,Android中,Activity是所有程序的根本,所有程序的流程都運行在Activity之中,Activity可以算是開發(fā)者遇到的最頻繁,也是Android當中最基本的模塊之一。在Android的程序當中,Activity —般代表手機屏幕的一屏。如果把手機比作一個瀏覽器,那么Activity就相當于一個網(wǎng)頁。在Activity當中可以添加一些Button、Check box等控件。可以看到Activity概念和網(wǎng)頁的概念相當類似。
[0047]一般一個Android應用是由多個Activity組成的。這多個Activity之間可以進行相互跳轉,例如,按下一個Button按鈕后,可能會跳轉到其他的Activity。和網(wǎng)頁跳轉稍微有些不一樣的是,Activity之間的跳轉有可能返回值,例如,從Activity A跳轉到Activity B,那么當Activity B運行結束的時候,有可能會給Activity A 一個返回值。這樣做在很多時候是相當方便的。
[0048]當打開一個新的屏幕時,之前一個屏幕會被置為暫停狀態(tài),并且壓入歷史堆棧中。用戶可以通過回退操作返回到以前打開過的屏幕??梢赃x擇性的移除一些沒有必要保留的屏幕,因為Android會把每個應用的開始到當前的每個屏幕保存在堆棧中。
[0049]Service是android系統(tǒng)中的一種組件,
它跟Activity的級別差不多,但是他不能自己運行,只能后臺運行,并且可以和其他組件進行交互。Service是沒有界面的長生命周期的代碼。Service是一種程序,它可以運行很長時間,但是它卻沒有用戶界面。這么說有點枯燥,來看個例子。打開一個音樂播放器的程序,這個時候若想上網(wǎng)了,那么,打開Android瀏覽器,這個時候雖然已經(jīng)進入了瀏覽器這個程序,但是,歌曲播放并沒有停止,而是在后臺繼續(xù)一首接著一首的播放。其實這個播放就是由播放音樂的Service進行控制。當然這個播放音樂的Service也可以停止,例如,當播放列表里邊的歌曲都結束,或者用戶按下了停止音樂播放的快捷鍵等。Service可以在和多場合的應用中使用,比如播放多媒體的時候用戶啟動了其他Activity這個時候程序要在后臺繼續(xù)播放,比如檢測SD卡上文件的變化,再或者在后臺記錄地理信息位置的改變等等,總之服務嘛,總是臧在后頭的。
[0050]開啟Service有兩種方式:
(I) Context.startService( ):Service會經(jīng)歷onCreate -> onStart(如果Service還沒有運行,則android先調(diào)用onCreate ()然后調(diào)用onStart ();如果Service已經(jīng)運行,則只調(diào)用onStart(),所以一個Service的onStart方法可能會重復調(diào)用多次);StopService的時候直接onDestroy,如果是調(diào)用者自己直接退出而沒有調(diào)用StopService的話,Service會一直在后臺運行。該Service的調(diào)用者再啟動起來后可以通過stopService關閉Service。注意,多次調(diào)用Context, startservice ()不會嵌套(即使會有相應的onStart()方法被調(diào)用),所以無論同一個服務被啟動了多少次,一旦調(diào)用Context.stopService ()或者StopSelf (),他都會被停止。補充說明:傳遞給StartService (O的Intent對象會傳遞給onStart()方法。調(diào)用順序為:onCreate —> onStart(可多次調(diào)用)一> onDestroy。
[0051](2) Context.bindService ():Service 會經(jīng)歷 onCreate () —>onBind (),onBind將返回給客戶端一個IBind接口實例,IBind允許客戶端回調(diào)服務的方法,比如得到Service運行的狀態(tài)或其他操作。這個時候把調(diào)用者(Context,例如Activity)會和Service 綁定在一起,Context 退出了,Srevice 就會調(diào)用 onUnbind —> onDestroyed 相應退出,所謂綁定在一起就共存亡了。
[0052]在Android中,Broadcast是一種廣泛運用的在應用程序之間傳輸信息的機制。而BroadcastReceiver是對發(fā)送出來的Broadcast進行過濾接受并響應的一類組件。可以使用BroadcastReceiver來讓應用對一個外部的事件做出響應。這是非常有意思的,例如,當電話呼入這個外部事件到來的時候,可以利用BroadcastReceiver進行處理。例如,當下載一個程序成功完成的時候,仍然可以利用BroadcastReceiver進行處理。BroadcastReceiver不能生成UI,也就是說對于用戶來說不是透明的,用戶是看不到的。BroadcastReceiver通過Notificat1nManager來通知用戶這些事情發(fā)生了。BroadcastReceiver既可以在AndroidManifest.xml中注冊,也可以在運行時的代碼中使用Context.registerReceiver O進行注冊。只要是注冊了,當事件來臨的時候,即使程序沒有啟動,系統(tǒng)也在需要的時候啟動程序。各種應用還可以通過使用Context.sendBroadcast ()將它們自己的Intent Broadcasts廣播給其他應用程序。
[0053]Content Provider是Android提供的第三方應用數(shù)據(jù)的訪問方案。
[0054]在Android中,對數(shù)據(jù)的保護是很嚴密的,除了放在SD卡中的數(shù)據(jù),一個應用所持有的數(shù)據(jù)庫、文件等內(nèi)容,都是不允許其他直接訪問的。Andorid當然不會真的把每個應用都做成一座孤島,它為所有應用都準備了一扇窗,這就是Content Provider。應用想對外提供的數(shù)據(jù),可以通過派生Content Provider類,封裝成一枚Content Provider,每個Content Provider都用一個uri作為獨立的標識,形如:content://com.xxxxx。所有東西看著像REST的樣子,但實際上,它比REST更為靈活。和REST類似,uri也可以有兩種類型,一種是帶id的,另一種是列表的,但實現(xiàn)者不需要按照這個模式來做,給id的uri也可以返回列表類型的數(shù)據(jù),只要調(diào)用者明白,就無妨,不用苛求所謂的REST。
[0055]在優(yōu)勢方面,Android平臺首先就是其開發(fā)性,開發(fā)的平臺允許任何移動終端廠商加入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。
[0056]開發(fā)性對于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費者和廠商,而對于消費者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。
[0057]豐富的硬件,這一點還是與Android平臺的開放性相關,由于Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會影響到數(shù)據(jù)同步、甚至軟件的兼容,如同從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)系人等資料更是可以方便地轉移。
[0058]方便開發(fā),Android平臺提供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境,不會受到各種條條框框的阻擾,可想而知,會有多少新穎別致的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。
[0059]另有基于安卓系統(tǒng)的控制軟件用于控制快件箱
所述的控制主板的主芯片為ARM架構。ARM架構,過去稱作高級精簡指令集機器(Advanced RISC Machine,更早稱作:Acorn RISC Machine),是一個 32 位精簡指令集(RISC)處理器架構,其廣泛地使用在許多嵌入式系統(tǒng)設計。由于節(jié)能的特點,ARM處理器非常適用于移動通信領域,符合其主要設計目標為低成本、高性能、低耗電的特性。至2009年為止,ARM架構處理器占了市面上所有32位嵌入式RISC處理器90%的比例,使它成為占全世界最多數(shù)的32位架構之一。ARM處理器可以在很多消費性電子產(chǎn)品上看到,從便攜式設備(PDA、移動電話、多媒體播放器、掌上型電子游戲,和計算機)到電腦外設(硬盤、桌面型路由器),甚至在導彈的彈載計算機等軍用設施中都有他的存在。在此還有一些基于ARM設計的派生產(chǎn)品,重要產(chǎn)品還包括Marvell的XScale架構和德州儀器的OMAP系列。2011年,ARM的客戶報告了 79億ARM處理器出貨量,占有95%的智能手機、90%的硬盤驅動器、40%的數(shù)字電視和機上盒、15 %的單片機、和20 %的移動電腦。在2012年,微軟與ARM科技生產(chǎn)了新的Surface平板電腦,AMD宣布它將于2014年開始生產(chǎn)基于ARM核心的64位服務器
-H-* I I
心/T O
[0060]自2005年,每年超過一億的手機銷售約98%至少使用了一個ARM處理器。截至2009年,占大約90%的所有嵌入式32位RISC處理器和ARM處理器被廣泛使用在消費性電子產(chǎn)品,包括個人數(shù)字助理(PDA)、平板電腦、移動電話、數(shù)字媒體和音樂播放器、手持式游戲游戲機、計算器和計算機外圍設備(如硬盤驅動器和路由器)。
[0061]ARM架構包含了以下精簡指令集處理器的特性:讀取/存儲架構、不支持地址不對齊存儲器訪問(ARMv6內(nèi)核現(xiàn)已支持)、正交指令集(任意訪問指令可以任意的尋址方式訪問數(shù)據(jù) Orthogonal instruct1n set)、大量的 16 X 32-bit 寄存器陣列(register file)、固定的32 bits操作碼(opcode)長度,降低編碼數(shù)量所產(chǎn)生的耗費,減輕解碼和流水線化的負擔。大多均為一個CPU周期運行。為了補強這種簡單的設計方式,相較于同時期的處理器如Intel 80286和Motorola 68020,還多加了一些特殊設計:大部分指令可以條件式地運行,降低在分支時產(chǎn)生的負重,彌補分支預測器(branch predictor)的不足。算數(shù)指令只會在要求時更改條件編碼(condit1n code), 32-bit筒型位移器(barrel shifter)可用來運行大部分的算數(shù)指令和尋址計算而不會損失性能,強大的索引尋址模式(addressingmode),精簡但快速的雙優(yōu)先級中斷子系統(tǒng),具有可切換的暫存器組。
[0062]寄存器R0-R7對于所有CPU模式都是相同的,它們不會被分塊。對于所有的特權CPU模式,除了系統(tǒng)CPU模式之外,R13和R14都是分塊的。也就是說,每個因為一個異常(exc印t1n)而可以進入模式,有其自己的R13和R14。這些寄存器通常分別包含堆棧指針和函數(shù)調(diào)用的返回地址。有個附加在ARM設計中好玩的東西,就是使用一個4-bit條件編碼在每個指令前頭,表示每支指令的運行是否為有條件式的這大大的減低了在存儲器訪問指令時用到的編碼位,換句話說,它避免在對小型敘述如if做分支指令。有個標準的示例引用歐幾里得的最大公因子算法:
在C編程語言中,循環(huán)為: int gcd (int i, int j)
{
while (i != j)
if (i > j)
1-= j;
else
j -= i;
return i;
}
在ARM匯編語言中,循環(huán)為:
loop: CMP Ri, Rj;設置條件為〃NE〃(不等于)if (i != j)
;〃GT〃(大于)if (i > j),
;或〃LT〃(小于)if (i < j)
SUBGT Ri, Ri, Rj 丨若飛丁^大于),i = 1-j;
SUBLT Rj, Rj, Ri ;若〃LT〃(小于),j = j-1;
BNE loop;若〃NE〃 (不等于),則繼續(xù)循環(huán)
這避開了 then和else子句之間的分支。
[0063]另一項指令集的特色是,能將位移(shift)和回轉(rotate)等功能并成〃數(shù)據(jù)處理〃型的指令(算數(shù)、邏輯、和暫存器之間的搬移),因此舉例來說,一個C語言的敘述
a += (j ? 2);
在ARM之下,可簡化成只需一個word和一個cycle即可完成的指令 ADD Ra, Ra, Rj, LSL #2
這結果可讓一般的ARM程序變得更加緊密,而不需經(jīng)常使用存儲器訪問,流水線也可以更有效地使用。即使在ARM以一般認定為慢速的速度下運行,與更復雜的CPU設計相比它仍能運行得不錯。
[0064]ARM處理器還有一些在其他RISC的架構所不常見到的特色,例如程序計數(shù)器-相對尋址(的確在ARM上程序計數(shù)器為16個暫存器的其中一個)以及前遞加或后遞加的尋址模式。
[0065]另外值得注意的是ARM處理器會隨著時間不斷地增加它的指令集。譬如某些早期的ARM處理器(比ARM7TDMI更早),可能并未具備指令可以讀取2 Bytes的數(shù)量;因此嚴格來講,對這些處理器產(chǎn)生代碼時,就不可能處理如C語言對象中使用“volatile short”的數(shù)據(jù)型態(tài)。
[0066]流水線
ARM7和大多數(shù)較早的設計具備三階段的流水線:提取指令、解碼,并運行。較高性能的設計,如ARM9,則有更深階段的流水線:Cortex-AS有13階段的流水線。提高性能的額外方式,包含一顆較快的加法器,和更廣的分支預測邏輯線路。例如,在ARM7DI核與ARM7DMI核之間的差異,是一種改進的乘法器(因此添加的“M”)。
[0067]協(xié)處理器
這個架構使用“協(xié)處理器”提供一種非侵入式的方法來延伸指令集,可通過軟件下MCR、MRC、MRRC和MCRR等指令來對協(xié)處理器尋址。協(xié)處理器空間邏輯上通常分成16個協(xié)處理器,編號分別從O至15 ;而第15號協(xié)處理器是保留用作某些常用的控制功能,像是使用高速緩存和記憶管理單元運算(若包含于處理器時)。
[0068]在ARM架構的機器中,周邊設備連接處理器的方式,通常通過將設備的實體暫存器對應到ARM的存儲器空間、協(xié)處理器空間,或是連接到另外依序接上處理器的設備(如總線)。協(xié)處理器的訪問延遲較低,所以有些周邊設備(例如XScale中斷控制器)會設計成可通過不同方式訪問(通過存儲器和協(xié)處理器)。
[0069]較新的ARM處理器有一種16-bit指令模式,叫做Thumb,也許跟每個條件式運行指令均耗用4位的情形有關。在Thumb模式下,較小的opcode有更少的功能性。例如,只有分支可以是條件式的,且許多opcode無法訪問所有CPU的暫存器。然而,較短的opcode提供整體更佳的編碼密度(注:意指代碼在存儲器中占的空間),即使有些運算需要更多的指令。特別在存儲器端口或總線寬度限制在32以下的情形時,更短的Thumb opcode能更有效地使用有限的存儲器帶寬,因而提供比32位代碼更佳的性能。典型的嵌入式硬件僅具有較小的32-bit datapath尋址范圍以及其他更窄的16 bits尋址(例如Game Boy Advance)。在這種情形下,通常可行的方案是編譯成Thumb代碼,并自行優(yōu)化一些使用(非Thumb)32位指令集的CPU相關程序區(qū),因而能將它們置入受限的32-bit總線寬度的存儲器中。
[0070]首顆具備Thumb技術的處理器是ARM7TDMI。所有ARM9和后來的家族,包括XScale,都納入了 Thumb技術。
[0071]ARM 還開發(fā)出一項技術,Jazelle DBX (Direct Bytecode eXecut1n),允許它們在某些架構的硬件上加速運行Java bytecode,就如其他運行模式般,當調(diào)用一些無法支持bytecodes的特殊軟件時,能提供某些bytecodes的加速運行。它能在現(xiàn)存的ARM與Thumb模式之間互相運行。
[0072]首顆具備Jazelle技術的處理器是“ARM7EJ-S” Jazelle以一個英文字母’ J’標示于CPU名稱中。它用來讓手機制造商能夠加速運行Java ME的游戲和應用程序,也因此促使了這項技術不斷地開發(fā)。
[0073]Thumb-2技術首見于“ARM1156核心”,并于2003年發(fā)表。Thumb-2擴充了受限的16位Thumb指令集,以額外的32位指令讓指令集的使用更廣泛。因此Thumb-2的預期目標是要達到近乎Thumb的編碼密度,但能表現(xiàn)出近乎ARM指令集在32位存儲器下的性能。
[0074]Thumb-2至今也從ARM和Thumb指令集中派生出多種指令,包含位欄操作、分支建表和條件運行等功能。
[0075]ThumbEE,也就是所謂的Thumb_2EE,業(yè)界稱為Jazelle RCT技術,于2005年發(fā)表,首見于“Cortex-A8”處理器。ThumbEE提供從Thumb-2而來的一些擴充性,在所處的運行環(huán)境下,使得指令集能特別適用于運行階段的編碼產(chǎn)生(例如實時編譯XThumbIEE是專為一些語言如Limbo、Java、C#、Perl和Python,并能讓實時編譯器能夠輸出更小的編譯碼卻不會影響到性能。ThumbEE所提供的新功能,包括在每次訪問指令時自動檢查是否有無效指針,以及一種可以運行數(shù)組范圍檢查的指令,并能夠分支到分類器,其包含一小部份經(jīng)常調(diào)用的編碼,通常用于高級語言功能的實作,例如對一個新對象做存儲器配置。
[0076]高級SMD延伸集,業(yè)界稱為“NEON”技術,它是一個結合64位和128位的單指令多重數(shù)指令集(SMD),其針對多媒體和信號處理程序具備標準化加速的能力。NEON可以在10 MHz的處理器上運行MP3音效解碼,且可以運行13 MHz以下的自適應多速率音頻壓縮編碼。NEON具有一組廣泛的指令集、各自的寄存器陣列,以及獨立運行的硬件。NEON支持8、16、32和64位的整數(shù)及單精度浮點數(shù)據(jù),并以單指令多重數(shù)的方式運算,運行圖形和游戲處理中關于語音及視頻的部分。單指令多重指令集在矢量超級處理機中是個決定性的要素,它具備同時多項處理功能。在NEON技術中,SMD最高可同時做16個運算。
[0077]VFP (矢量浮點)是在協(xié)同處理器針對ARM架構的派生技術。它提供低成本的單精度和倍精度浮點運算能力,并完全兼容于ANSI/IEEE Std 754-1985 二進制浮點算數(shù)標準。VFP提供大多數(shù)適用于浮點運算的應用,例如PDA、智慧手機、語音壓縮與解壓、3D圖像以及數(shù)字音效、打印機、機上盒,和汽車應用等。VFP架構也支持SMD平行化的短矢量指令運行。這在圖像和信號處理等應用上,非常有助于降低編碼大小并增加輸出效率。
[0078]在ARM為基礎的處理器中,其他可見的浮點、或SMD的協(xié)同處理器還包括了 FPA、FPE、IwMMXt0他們提供類似VFP的功能,但在opcode層面上來說并不具有兼容性。
[0079]TrustZone技術出現(xiàn)在ARMv6KZ以及較晚期的應用核心架構中。它提供了一種低成本的方案,針對系統(tǒng)單芯片內(nèi)加入專屬的安全核心,由硬件建構的訪問控制方式支持兩顆虛擬的處理器。這個方式可使得應用程序核心能夠在兩個狀態(tài)(領域)之間切換,在此架構下可以避免信息從較可信的核心領域泄漏至較不安全的領域。這種內(nèi)核領域之間的切換通常是與處理器其他功能完全無關系性,因此各個領域可以各自獨立運作但卻仍能使用同一顆內(nèi)核。存儲器和周邊設備也可因此得知目前內(nèi)核運作的領域為何,并能針對這個方式來提供對設備的機密和編碼進行訪問控制。典型的TrustZone技術應用是要能在一個缺乏安全性的環(huán)境下完整地運行操作系統(tǒng),并在可信的環(huán)境下能有更少的安全性的編碼。T6[ll]是國內(nèi)第一個開源的TrustZone安全內(nèi)核。
[0080]ARM公司本身并不靠自有的設計來制造或出售CPU,而是將處理器架構授權給有興趣的廠家。ARM提供了多樣的授權條款,包括售價與散播性等項目。對于授權方來說,ARM提供了 ARM內(nèi)核的集成硬件敘述,包含完整的軟件開發(fā)工具(編譯器、debugger、SDK),以及針對內(nèi)含ARM CPU硅芯片的銷售權。對于無晶圓廠的授權方來說,其希望能將ARM內(nèi)核集成到他們自行研發(fā)的芯片設計中,通常就僅針對獲取一份生產(chǎn)就緒的智財核心技術(IPCore)認證。對這些客戶來說,ARM會發(fā)布所選的ARM核心的閘極電路圖,連同抽象模擬模型和測試程序,以協(xié)助設計集成和驗證。需求更多的客戶,包括集成組件制造商(IDM)和晶圓廠家,就選擇可合成的RTL (寄存器傳輸級,如Verilog)形式來獲取處理器的智財權(IP)。借著可集成的RTL,客戶就有能力能進行架構上的優(yōu)化與加強。這個方式能讓設計者完成額外的設計目標(如高震蕩頻率、低能量耗損、指令集延伸等)而不會受限于無法更動的電路圖。雖然ARM并不授予授權方再次出售ARM架構本身,但授權方可以任意地出售制品(如芯片組件、評估板、完整系統(tǒng)等)。商用晶圓廠是特殊例子,因為他們不僅授予能出售包含ARM內(nèi)核的硅晶成品,對其它客戶來講,他們通常也保留重制ARM內(nèi)核的權利。
[0081]就像大多數(shù)IP出售方,ARM依照使用價值來決定IP的售價。在架構上而言,更低性能的ARM內(nèi)核比更高性能的內(nèi)核擁有較低的授權費。以硅芯片實作而言,一顆可集成的內(nèi)核要比一顆硬件宏(黑箱)內(nèi)核要來得貴。更復雜的價位問題來講,持有ARM授權的商用晶圓廠(例如韓國三星和日本富士通)可以提供更低的授權價格給他們的晶圓廠客戶。通過晶圓廠自有的設計技術,客戶可以更低或是免費的ARM預付授權費來獲取ARM內(nèi)核。相較于不具備自有設計技術的專門半導體晶圓廠(如臺積電和聯(lián)電),富士通/三星對每片晶圓多收取了兩至三倍的費用。對中少量的應用而言,具備設計部門的晶圓廠提供較低的整體價格(通過授權費用的補助)。對于量產(chǎn)而言,由于長期的成本縮減可借由更低的晶圓價格,減少ARM的NRE成本,使得專門的晶圓廠也成了一個更好的選擇。
[0082]許多半導體公司持有ARM 授權:Atmel、Broadcom、Cirrus Logic、Freescale(于2004從摩托羅拉公司獨立出來)、富士通、英特爾(借由和Digital的控訴調(diào)停)、IBM、NVIDIA、臺灣新唐科技(Nuvoton Technology)、英飛凌、任天堂、恩智浦半導體(于2006年從飛利浦獨立出來)、OKI電氣工業(yè)、三星電子、Sharp、STMicroelectronics、德州儀器和VLSI等許多這些公司均擁有各個不同形式的ARM授權。雖然ARM的授權項目由保密合約所涵蓋,在知識產(chǎn)權工業(yè),ARM是廣為人知最昂貴的CPU內(nèi)核之一。單一的客戶產(chǎn)品包含一個基本的ARM內(nèi)核可能就需索取一次高達美金20萬的授權費用。而若是牽涉到大量架構上修改,則費用就可能超過千萬美元。
[0083]所述的控制主板包括串口。串口即串行接口(Serial Interface)是指數(shù)據(jù)一位一位地順序傳送,其特點是通信線路簡單,只要一對傳輸線就可以實現(xiàn)雙向通信(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用于遠距離通信,但傳送速度較慢。一條信息的各位數(shù)據(jù)被逐位按順序傳送的通訊方式稱為串行通訊。串行通訊的特點是:數(shù)據(jù)位的傳送,按位順序進行,最少只需一根傳輸線即可完成;成本低但傳送速度慢。串行通訊的距離可以從幾米到幾千米;根據(jù)信息的傳送方向,串行通訊可以進一步分為單工、半雙工和全雙工三種。
[0084]所述的控制主板的包括顯示器接口。
[0085]所述的控制主板的包括USB接口。USB,是英文Universal Serial Bus (通用串行總線)的縮寫,而其中文簡稱為“通串線”,是一個外部總線標準,用于規(guī)范電腦與外部設備的連接和通訊。是應用在PC領域的接口技術。USB接口支持設備的即插即用和熱插拔功能。USB是在1994年底由英特爾、康柏、IBM,Microsoft等多家公司聯(lián)合提出的。
[0086]所述的控制主板的包括RTC電池。
[0087]所述的控制主板的包括RJ45接口。RJ45通常用于計算機網(wǎng)絡數(shù)據(jù)傳輸,接頭的線有直通線(12345678對應12345678)、交叉線(12345678對應36145278)兩種。
[0088]所述的控制主板包括SIM卡座。SIM卡是(Subscriber Identity Module客戶識別模塊)的縮寫,也稱為用戶身份識別卡、智能卡,GSM數(shù)字移動電話機必須裝上此卡方能使用。
[0089]它在一電腦芯片上存儲了數(shù)字移動電話客戶的信息,加密的密鑰以及用戶的電話簿等內(nèi)容,可供GSM網(wǎng)絡客戶身份進行鑒別,并對客戶通話時的語音信息進行加密。
[0090]所述的控制主板包括CPU。
[0091]所述的控制主板包括內(nèi)存。
[0092]為了實現(xiàn)前述及相關目標,本文聯(lián)系一下描述和附圖描述了某些【具體實施方式】。然而這些方面僅表示其中可以采用本專利原理的各種方式中的少數(shù)幾個,并且本專利的主題旨在包括所有這些方面及其等效方案。根據(jù)以下結合附圖考慮的詳細描述,本發(fā)明的優(yōu)點和新穎性特征顯而易見。
【專利附圖】
【附圖說明】
[0093]附圖1基于安卓操作系統(tǒng)的智能快件箱的外觀圖。
[0094]附圖2是基于安卓操作系統(tǒng)的智能快件箱的控制主板正面示意圖。
[0095]附圖3是基于安卓操作系統(tǒng)的智能快件箱的控制主板反面示意圖。
【具體實施方式】
[0096]實施方式1:基于安卓操作系統(tǒng)的智能快件箱,一種智能快件箱,包括控制主板、電源、電子鎖,顯示屏,電源和控制主板、電子鎖、顯示屏相連,控制主板的操作系統(tǒng)為安卓,另有基于安卓系統(tǒng)的控制軟件用于控制快件箱,控制主板的主芯片為ARM架構,控制主板內(nèi)包括基于安卓的控制軟件,所述的控制軟件用于控制智能快件箱。控制主板的主芯片包括CPU??刂浦靼灏ù凇o@示器接口、USB接口、RTC電池。、RJ45接口、SM卡座、電源接口、內(nèi)存。
【權利要求】
1.基于安卓操作系統(tǒng)的智能快件箱,一種智能快件箱,包括控制主板、電源、電子鎖,顯示屏,電源和控制主板、電子鎖、顯示屏相連,其特征在于,所述的控制主板的操作系統(tǒng)為安卓,所述的控制主板的主芯片為ARM架構,所述的控制主板內(nèi)包括基于安卓的控制軟件,所述的控制軟件用于控制智能快件箱。
2.根據(jù)權利要求1所述的基于安卓操作系統(tǒng)的智能快件箱,其特征在于,所述的控制主板包括CPU。
3.根據(jù)權利要求2所述的基于安卓操作系統(tǒng)的智能快件箱,其特征在于,所述的控制主板包括串口。
4.根據(jù)權利要求2所述的基于安卓操作系統(tǒng)的智能快件箱,其特征在于,所述的控制主板的包括顯示器接口。
5.根據(jù)權利要求2所述的基于安卓操作系統(tǒng)的智能快件箱,其特征在于,所述的控制主板的包括USB接口。
6.根據(jù)權利要求2所述的基于安卓操作系統(tǒng)的智能快件箱,其特征在于,所述的控制主板的包括RTC電池。
7.根據(jù)權利要求2所述的基于安卓操作系統(tǒng)的智能快件箱,其特征在于,所述的控制主板的包括RJ45接口。
8.根據(jù)權利要求2所述的基于安卓操作系統(tǒng)的智能快件箱,其特征在于,所述的控制主板包括SM卡座。
9.根據(jù)權利要求2所述的基于安卓操作系統(tǒng)的智能快件箱,其特征在于,所述的控制主板包括電源接口。
10.根據(jù)權利要求2所述的基于安卓操作系統(tǒng)的智能快件箱,其特征在于,所述的控制主板包括內(nèi)存。
【文檔編號】G06F9/44GK104461523SQ201410697040
【公開日】2015年3月25日 申請日期:2014年11月27日 優(yōu)先權日:2014年11月27日
【發(fā)明者】章璽 申請人:章璽