王子
摘 要:隨著智能化技術(shù)的不斷發(fā)展,智控系統(tǒng)在電器行業(yè)中得到廣泛應(yīng)用。智控冰箱實現(xiàn)了智能控制、遠程控制以及自動報警等功能。文章通過系統(tǒng)的剖析智控冰箱的性能等,提出智控冰箱軟件系統(tǒng)設(shè)計的具體方案,以此設(shè)計性能更完善的智控操作系統(tǒng)。
關(guān)鍵詞:智控冰箱;軟件系統(tǒng);設(shè)計;CGI;web服務(wù)器
中圖分類號:TM925.21 文獻標(biāo)志碼:A 文章編號:2095-2945(2019)21-0031-02
Abstract: With the continuous development of intelligent technology, intelligent control system has been widely used in the electrical industry. Intelligent control refrigerator realizes the functions of intelligent control, remote control and automatic alarm. Through the systematic analysis of the performance of the intelligent control refrigerator, this paper puts forward the concrete scheme of the software system design of the intelligent control refrigerator, so as to design the intelligent control operating system with more perfect performance.
Keywords: intelligent control refrigerator; software system; design; CGI; web; server
隨著科學(xué)技術(shù)的不斷進步,信息化程度的提高以及人們對于智能家電的需求,智能化仍將為家電產(chǎn)品的主要形態(tài),智能家電依舊是家電行業(yè)未來的主要發(fā)展熱點?;跀?shù)字化、三網(wǎng)融合、物聯(lián)網(wǎng)、大數(shù)據(jù)、云計算等應(yīng)用技術(shù)的智能家電將是信息消費的中堅力量。建立一套有效的智能冰箱控制系統(tǒng),不僅方便家用電器的智能化管理,更能在很大程度上提高生活品質(zhì),改善生活質(zhì)量。
1 智控冰箱的功能概述
智控冰箱是依托大數(shù)據(jù)技術(shù)、遠程操作控制技術(shù)等對冰箱設(shè)備進行控制的電器設(shè)備。通過嵌入式Linux系統(tǒng)來實現(xiàn)控制冰箱自動監(jiān)測、維護、管理的功能。對硬件系統(tǒng)仿真,同時軟件功能能夠得到支持,通過硬件和軟件上的結(jié)合最終形成穩(wěn)定的智能控制系統(tǒng)。該系統(tǒng)設(shè)計采用ARM核的MC9328MX1微處理器。MC9328MX1是Motorola公司基于ARM920T的龍珠(Dragon Ball)MX1處理器,MC9328MX1內(nèi)含ARM公司設(shè)計的16/32bit ARM920T微處理器內(nèi)核,此種微處理器具有體積小、功耗低的優(yōu)勢,尤其是現(xiàn)代工業(yè)技術(shù)的發(fā)展,使得此種微處理設(shè)備在現(xiàn)代智能領(lǐng)域具有廣泛的應(yīng)用價值。
其主要包括智能查詢冰箱內(nèi)食物的基本信息;根據(jù)食材的不同自動調(diào)控溫度;食材缺損時能夠給出相應(yīng)的溫馨提示;根據(jù)存儲時間計算最大保存期限,當(dāng)食物發(fā)生變質(zhì)時能警告提醒;能夠連網(wǎng)上購買食材;根據(jù)冰箱內(nèi)現(xiàn)有食材做出對應(yīng)的食譜推薦;冰箱正常運作的監(jiān)測與管理。
整個控制系統(tǒng)主要分為三大層面:應(yīng)用層、中間層、設(shè)備層。設(shè)備層主要是能夠?qū)崿F(xiàn)各類協(xié)議的轉(zhuǎn)換,同時又能夠驅(qū)動中間層為暫時停滯的設(shè)備提供掛起。為了能使應(yīng)用層方便用戶需求開發(fā),設(shè)備層還向應(yīng)用層提供了開放接口。采取這種結(jié)構(gòu)體系的目的在于既能實現(xiàn)家庭內(nèi)的控制,又能實現(xiàn)遠程的控制,在很大程度上提高了運行速度和傳輸效率。在此基礎(chǔ)之上又搭建了一個Web服務(wù)器,在該服務(wù)器上能夠運行CGI動態(tài)頁面,當(dāng)用戶通過瀏覽器對系統(tǒng)進行訪問時能夠起到信息交互、數(shù)據(jù)交換的作用。它主要是以ARM+Linux操作系統(tǒng)為依托,在網(wǎng)絡(luò)和冰箱控制管理上進行有效的數(shù)據(jù)傳播。由于嵌入式Web技術(shù)具有良好的用戶界面、強大而又方便的近程與遠程交互能力、一致的客戶端軟件,所以更能成為系統(tǒng)信息化、網(wǎng)絡(luò)化、集成化的重要途徑和手段。嵌入式Web服務(wù)器在系統(tǒng)中起到的關(guān)鍵作用就是分析用戶請求,只有分析明確后才能對該請求做出相應(yīng)的處理,即調(diào)用出該請求相對應(yīng)的功能模塊,實現(xiàn)功能的操作,完成用戶對于網(wǎng)絡(luò)冰箱的遠程控制。
2 智控冰箱軟件系統(tǒng)設(shè)計
軟件系統(tǒng)是智控冰箱控制系統(tǒng)的核心,智控冰箱軟件系統(tǒng)的設(shè)計主要包括:
2.1 Linux內(nèi)核的配置
(1)進入linux內(nèi)核配置菜單:在linux內(nèi)核文件夾中點擊終端進入:輸入make menuconfig后進入。
(2)將配置文件范例加載到配置菜單中。點擊load an Alternate Configuration File進入后輸入:config_mini2440_t35將針對開發(fā)板的linux配置例子導(dǎo)入,在其基礎(chǔ)上新建linux配置。
(3)版本配置:點擊General setup目錄下。xyd118是自己定義的版本號,名字是自己定義的,如果使用其它內(nèi)核編譯的驅(qū)動,不能加載到該版本內(nèi)核中。驅(qū)動的編譯必須依賴于內(nèi)核。自己定義的版本號為在linux內(nèi)核的版本號后加了一個自己定義的版本號。是linux內(nèi)核版本子集。
(4)設(shè)備驅(qū)動程序配置:點擊Device Drivers后按enter進入菜單。配置Network device support:根據(jù)開發(fā)板支持的網(wǎng)絡(luò)而選擇(配置網(wǎng)卡)。不可以全選,否則會報錯。點擊input device support:配置LCD屏的像素即點陣類型;鍵盤配置:選中keyboards后進入選擇AT keyboard(標(biāo)準(zhǔn)鍵盤);觸摸屏配置:Touchscreens;一定要選中input子系統(tǒng),相當(dāng)于為所有輸入型驅(qū)動提供了統(tǒng)一的接口。例如輸入一個鍵值,那么就可以調(diào)用該統(tǒng)一接口將該鍵值報告給內(nèi)核。至于在內(nèi)核中怎么處理,這個不用管。這些是有系統(tǒng)來完成的。配置字符設(shè)備:Character devices;配置IIC support:IIC上層協(xié)議;配置:SPI support(SPI主的上層協(xié)議、SPI底層驅(qū)動)
(5)配置文件系統(tǒng):File systems。文件系統(tǒng)里面:選擇NFS文件系統(tǒng)(如果通過網(wǎng)絡(luò)掛載文件系統(tǒng)就需要選中)。
(6)首先保存?zhèn)浞荩ㄝ斎朊?,備份以便下一次用類似的就可以直接在備份基礎(chǔ)上進行配置,減少工作量),然后退出保存即可。
(7)make(將配置好的內(nèi)核編譯成zImage),根據(jù)電腦系統(tǒng),一般需要10-30分鐘。如果編譯通過就會在:linux-2.6.32.2目錄下生成vmlinux文件(二進制代碼),linux-2.6.32.2/arch/boot目錄下生成zImage。
(8)生成make uImage(編譯成u-boot也能識別的內(nèi)核,相當(dāng)在zImage前加了一個u-boot能夠識別的頭文件)。
首先將:U-boot-1.3.4/tools下的mkImage即制作uImage的工具copy到linux系統(tǒng)下的use/bin目錄下。然后敲make uImage如果編譯通過就會在:linux-2.6.32.2/arch/boot下面生成uImage。
(9)然后燒寫即可。通過jlink燒寫vivi到norflash:通過dnw下載工具軟件將vivi,內(nèi)核,根文件系統(tǒng)依次燒寫進nandflash;開機即可運行。(將led驅(qū)動編譯進內(nèi)核,重啟不丟失)
2.2 文件系統(tǒng)的制作
和Windows的C,D,E等盤符相似,Linux操作系統(tǒng)也可以將磁盤,F(xiàn)lash等存儲設(shè)備劃分為若干個區(qū),在不同分區(qū)下存放不同類型的文件。比如Windows的C盤中就存放著啟動系統(tǒng)所必須的一系列文件,而在Linux系統(tǒng)中,內(nèi)核映像文件(在嵌入式系統(tǒng)眾,內(nèi)核一般單獨存放在一個分區(qū)中),內(nèi)核啟動后運行的第一個程序,給用戶提供操作界面的shell程序,應(yīng)用程序所依賴的庫等。這些必需的基本的文件集合就被稱為根文件系統(tǒng)。它們都放在一個分區(qū)中,在系統(tǒng)啟動后就會首先掛載這個分區(qū),也就是掛載根文件系統(tǒng)。
(1)創(chuàng)建根目錄。在home目錄下創(chuàng)建/home/rootfs文件夾,用作新構(gòu)建的根文件系統(tǒng)的根目錄。
(2)構(gòu)建 /bin、 /sbin、 linuxrc:解壓并進入busybox-1.16.1目錄,執(zhí)行以下代碼操作:
# make defconfig
# make menuconfig
Busybox Setting
Build Options
[*]Build BusyBox as a static binary (no shared libs) //靜態(tài)編譯busybox
指定交叉編譯器為:
(/usr/local/arm/4.3.2/bin/arm-linux-) Cross Compiler prefix
Installation Options
Don't use /usr
Busybox Library Tuning
[*]Username shell prompts
[*]Query cursor position from terminal
[*]Fancy shell prompts
編譯出的busybox的shell命令解釋器支持顯示當(dāng)前路徑及主機信息
保存退出
# make
# make install
在busybox目錄下有 _install目錄,里面有/bin /sbin linuxrc三個文件
3 測試結(jié)果
完成上述操作之后,需要對系統(tǒng)進行整體測試,如果異常是與程序的執(zhí)行相同步的,則這往往是一種不當(dāng)?shù)牟僮鞯慕Y(jié)果。智控冰箱軟件系統(tǒng)的設(shè)計必須要結(jié)合智控冰箱的性能,因此隨著智能控制技術(shù)的不斷發(fā)展,優(yōu)化軟件設(shè)計將成為智能電器設(shè)備發(fā)展的核心。
參考文獻:
[1]陳映村,程鵬飛.試析物聯(lián)網(wǎng)在人工智能生活中的實際應(yīng)用[J].中國新通信,2019(04).
[2]劉琦,王峰.基于Arduino的智能燈光與冰箱溫度控制系統(tǒng)設(shè)計[J].科技創(chuàng)新與生產(chǎn)力,2018(12).
[3]劉志國.練就Linux系統(tǒng)高手教程[M].延邊出版社,2006,1.
[4]李俊.基于用戶體驗的家用智能冰箱信息交互設(shè)計研究[D].安徽工業(yè)大學(xué),2018.
[5]俞志祥.關(guān)于物聯(lián)網(wǎng)概念的智能冰箱設(shè)計分析[J].電子測試,2018(05).