陳樂庚,洪志鵬,崔更申
(桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林541004)
嵌入式物聯(lián)網(wǎng)智能網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)*
陳樂庚,洪志鵬,崔更申
(桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林541004)
物聯(lián)網(wǎng)網(wǎng)關(guān)發(fā)揮著連接傳統(tǒng)信息網(wǎng)絡(luò)與感知網(wǎng)絡(luò)的重要作用,針對(duì)目前人們研究的物聯(lián)網(wǎng)網(wǎng)關(guān)功能單一和應(yīng)用場(chǎng)景固定的不足,本設(shè)計(jì)提出了一種嵌入式智能網(wǎng)關(guān)的實(shí)現(xiàn)方案。該網(wǎng)關(guān)硬件上集成了多種協(xié)議的數(shù)據(jù)收發(fā)模塊,在軟件的控制下能夠?qū)崿F(xiàn)不同類型感知網(wǎng)絡(luò)的同時(shí)接入,可應(yīng)用于多種場(chǎng)合;另外網(wǎng)關(guān)設(shè)計(jì)了Web網(wǎng)頁服務(wù)功能,遠(yuǎn)程終端通過互聯(lián)網(wǎng)能夠查詢出感知網(wǎng)絡(luò)里各節(jié)點(diǎn)設(shè)備的狀態(tài),也可以對(duì)這些設(shè)備發(fā)出控制信令實(shí)現(xiàn)遠(yuǎn)程控制等功能。此外,設(shè)計(jì)中就物聯(lián)網(wǎng)網(wǎng)關(guān)的安全問題提出了用戶登錄和密匙驗(yàn)證的機(jī)制,保障物聯(lián)網(wǎng)網(wǎng)關(guān)的安全通信。
物聯(lián)網(wǎng) 網(wǎng)關(guān) 嵌入式 多協(xié)議通信 遠(yuǎn)程控制 安全通信
物聯(lián)網(wǎng)(Internet of Things,IOT)是一種通過感應(yīng)器、全球定位系統(tǒng)等傳感設(shè)備,把世界上任何物品聯(lián)入到互聯(lián)網(wǎng)中,使人與物,物與物之間能進(jìn)行無障礙的信息通信,從而實(shí)現(xiàn)智能化的控制、查詢、定位、配置等功能的網(wǎng)絡(luò)。物聯(lián)網(wǎng)的出現(xiàn),為現(xiàn)代化的工業(yè)生產(chǎn),農(nóng)業(yè)生產(chǎn),環(huán)境監(jiān)測(cè)[1],日常住行提供了新的模式,有效降低勞動(dòng)成本,提高經(jīng)濟(jì)效益,方便人們的生活。
物聯(lián)網(wǎng)網(wǎng)絡(luò)架構(gòu)可分為三層,分別是應(yīng)用層、傳輸層和感知層[2]。處于感知層中的感知對(duì)象,一般都從屬于某個(gè)傳感網(wǎng)絡(luò)之中,物理位置上會(huì)存在于各個(gè)地方。同時(shí)互聯(lián)網(wǎng)即傳輸層通信網(wǎng)絡(luò)與傳感網(wǎng)的傳輸協(xié)議并不相同,不同的傳感網(wǎng)之間的協(xié)議也會(huì)有較大的差別,這些差異使傳感網(wǎng)的各感知對(duì)象不能直接聯(lián)入互聯(lián)網(wǎng),他們需要一個(gè)能夠屏蔽這些
差異的設(shè)備,而這正是物聯(lián)網(wǎng)網(wǎng)關(guān)。
物聯(lián)網(wǎng)的廣泛應(yīng)用也使得物聯(lián)網(wǎng)網(wǎng)關(guān)將會(huì)存在于各行各業(yè)之中,可將它用于工業(yè)生產(chǎn)中作為工業(yè)控制網(wǎng)關(guān),用于環(huán)境監(jiān)測(cè)中作為環(huán)境監(jiān)測(cè)網(wǎng)關(guān),用于房屋居室中作為智能家居網(wǎng)關(guān)[3]。物聯(lián)網(wǎng)網(wǎng)關(guān)是物聯(lián)網(wǎng)中連接傳輸層通信網(wǎng)絡(luò)和感知層傳感網(wǎng)的核心設(shè)備,實(shí)現(xiàn)把傳感網(wǎng)節(jié)點(diǎn)采集到的數(shù)據(jù)進(jìn)行匯聚存儲(chǔ)、數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)加密傳輸?shù)榷喾N功能。
目前部分智能傳感器設(shè)計(jì)在一定程度上借助互聯(lián)網(wǎng)或無線蜂窩網(wǎng),把小范圍內(nèi)的傳感網(wǎng)信息通過匯聚節(jié)點(diǎn)接入互聯(lián)網(wǎng),這實(shí)際上完成的就是物聯(lián)網(wǎng)網(wǎng)關(guān)的基本功能。作為感知層與傳輸層的紐帶,物聯(lián)網(wǎng)網(wǎng)關(guān)需要滿足以下功能需求[4]:
1)數(shù)據(jù)匯聚功能:物聯(lián)網(wǎng)網(wǎng)關(guān)能夠作為匯聚節(jié)點(diǎn),接收傳感網(wǎng)各子節(jié)點(diǎn)傳來的數(shù)據(jù)。
2)數(shù)據(jù)存儲(chǔ)功能:物聯(lián)網(wǎng)網(wǎng)關(guān)對(duì)接收到的數(shù)據(jù)能夠臨時(shí)或永久性的存儲(chǔ)。
3)數(shù)據(jù)傳輸功能:物聯(lián)網(wǎng)網(wǎng)關(guān)不僅向下能作為匯聚節(jié)點(diǎn)與傳感網(wǎng)節(jié)點(diǎn)通信,還需要有通過傳輸層網(wǎng)絡(luò)與遠(yuǎn)程數(shù)據(jù)應(yīng)用平臺(tái)交互的能力。
4)協(xié)議適配功能:物聯(lián)網(wǎng)網(wǎng)關(guān)是一個(gè)多協(xié)議的轉(zhuǎn)換裝置,能夠處理各類傳感網(wǎng)的數(shù)據(jù)協(xié)議。通過物聯(lián)網(wǎng)網(wǎng)關(guān),遠(yuǎn)程應(yīng)用平臺(tái)有效的屏蔽各傳感網(wǎng)的異構(gòu)性,與傳感網(wǎng)節(jié)點(diǎn)實(shí)現(xiàn)互聯(lián)互通。
5)設(shè)備管理功能:傳感網(wǎng)的節(jié)點(diǎn)數(shù)量眾多,分布廣泛,不便于直接對(duì)節(jié)點(diǎn)終端進(jìn)行管理,因此需要通過物聯(lián)網(wǎng)網(wǎng)關(guān)實(shí)現(xiàn)節(jié)點(diǎn)設(shè)備的狀態(tài)查詢、監(jiān)控、配置等的功能。
6)安全防護(hù)功能:通過網(wǎng)絡(luò)遠(yuǎn)程與物聯(lián)網(wǎng)網(wǎng)關(guān)建立通信需要先對(duì)用戶身份進(jìn)行驗(yàn)證和授權(quán);支持?jǐn)?shù)據(jù)加密等安全措施。
網(wǎng)關(guān)總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。各類協(xié)議的傳感網(wǎng)節(jié)點(diǎn)與物聯(lián)網(wǎng)網(wǎng)關(guān)間有專門的數(shù)據(jù)通道,網(wǎng)關(guān)可以接收傳感網(wǎng)節(jié)點(diǎn)的上報(bào)數(shù)據(jù),同時(shí)可以向這些節(jié)點(diǎn)傳輸控制終端發(fā)送來的狀態(tài)查詢和控制命令。網(wǎng)關(guān)內(nèi)部分為兩部分,一部分是傳感網(wǎng)服務(wù)器,負(fù)責(zé)接收、處理和存儲(chǔ)傳感網(wǎng)傳來的數(shù)據(jù),向傳感網(wǎng)節(jié)點(diǎn)設(shè)備發(fā)送控制信令,同時(shí)接收Web服務(wù)器或客戶端軟件平臺(tái)發(fā)出的數(shù)據(jù)請(qǐng)求或其他命令,提供請(qǐng)求數(shù)據(jù)等;網(wǎng)關(guān)另一部分是Web服務(wù)器部分,為互聯(lián)網(wǎng)遠(yuǎn)程終端或應(yīng)用平臺(tái)對(duì)物聯(lián)網(wǎng)網(wǎng)關(guān)的訪問提供良好的交互界面,該界面用Web網(wǎng)頁實(shí)現(xiàn),避免了遠(yuǎn)程智能終端下載安裝客戶端軟件的繁瑣步驟。通過互聯(lián)網(wǎng)訪問網(wǎng)關(guān)Web界面,可對(duì)物聯(lián)網(wǎng)的傳感網(wǎng)節(jié)點(diǎn)進(jìn)行狀態(tài)查詢和控制等操作。
圖1 系統(tǒng)總體結(jié)構(gòu)Fig.1 Overall system architecture
為實(shí)現(xiàn)上述物聯(lián)網(wǎng)網(wǎng)關(guān)的基本功能,需要先構(gòu)建一個(gè)嵌入式的最小系統(tǒng),在此系統(tǒng)上運(yùn)行嵌入式操作系統(tǒng)作為實(shí)現(xiàn)上層功能的基礎(chǔ),然后擴(kuò)展出各通信協(xié)議對(duì)應(yīng)的硬件通信模塊,實(shí)現(xiàn)網(wǎng)關(guān)與互聯(lián)網(wǎng)和傳感網(wǎng)的數(shù)據(jù)信息交互。
在本智能網(wǎng)關(guān)的設(shè)計(jì)中,采用AT91SAM9X35微處理器,DDRAM、時(shí)鐘電路、NANDFLASH構(gòu)建核心最小系統(tǒng)處理電路,其中AT91SAM9X35是基于ARM926EJ-STM的微處理器,內(nèi)部集成了UART控制器,Can控制器,以太網(wǎng)適配器和RS485等控制器的功能,具有較好的處理能力。在外圍電路中,擴(kuò)展接入了各協(xié)議的數(shù)據(jù)收發(fā)芯片,從而在微處理器的控制下進(jìn)行各類信號(hào)的傳輸工作。設(shè)計(jì)中采用DM9161A芯片實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)通信,通過串口接入CC2430模塊,實(shí)現(xiàn)Zigbee通信,通過TJA1050收發(fā)芯片和ADM2483收發(fā)芯片分別實(shí)現(xiàn)Can和RS485的數(shù)據(jù)通信。硬件結(jié)構(gòu)如圖2所示。
圖2 硬件結(jié)構(gòu)Fig.2 Hardware structure
網(wǎng)關(guān)系統(tǒng)軟件除了協(xié)調(diào)硬件實(shí)現(xiàn)數(shù)據(jù)的收發(fā)功能外,還要實(shí)現(xiàn)數(shù)據(jù)的解析和處理,轉(zhuǎn)發(fā)和存儲(chǔ),遠(yuǎn)程交互和安全訪問控制等功能。為了更好的分塊實(shí)現(xiàn)這些功能,本設(shè)計(jì)將網(wǎng)關(guān)分為Web服務(wù)器部分和傳感網(wǎng)服務(wù)器部分,這兩大部分都屬于應(yīng)用層軟件的范疇,建立在嵌入式Linux操作系統(tǒng)之上。
3.1 操作系統(tǒng)層軟件
選用嵌入式Linux系統(tǒng),其特點(diǎn)是代碼開放,性能優(yōu)異,軟件易于移植。將Linux操作系統(tǒng)移植到網(wǎng)關(guān)硬件電路的關(guān)鍵步驟,就是對(duì)各硬件設(shè)備的驅(qū)動(dòng)進(jìn)行相應(yīng)的移植[5]。物聯(lián)網(wǎng)網(wǎng)關(guān)中用到的設(shè)備驅(qū)動(dòng)主要有以太網(wǎng)驅(qū)動(dòng),串口驅(qū)動(dòng)以及Can和485總線驅(qū)動(dòng)等,這些驅(qū)動(dòng)程序?yàn)樯蠈討?yīng)用軟件對(duì)硬件收發(fā)器的控制提供了良好的支持。嵌入式Linux下開發(fā)的應(yīng)用程序可以比較容易的移植到運(yùn)行Linux的其他嵌入式系統(tǒng)中,這非常利于物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備的推廣。
3.2 應(yīng)用層軟件
(1)Web服務(wù)器
Web服務(wù)器部分實(shí)現(xiàn)網(wǎng)關(guān)與上層傳輸網(wǎng)絡(luò)的通信,為遠(yuǎn)程應(yīng)用終端監(jiān)控傳感網(wǎng)節(jié)點(diǎn)設(shè)備提供良好的交互界面?;ヂ?lián)網(wǎng)遠(yuǎn)程終端通過Web網(wǎng)頁可以查詢傳感網(wǎng)節(jié)點(diǎn)設(shè)備的狀態(tài)信息,對(duì)該節(jié)點(diǎn)發(fā)出控制命令,也可以通過Web網(wǎng)頁查看設(shè)備列表并管理設(shè)備。程序流程如圖3所示,接收終端通過瀏覽器發(fā)來的8080端口請(qǐng)求,該請(qǐng)求通過TCP協(xié)議傳輸,調(diào)用CGI模塊,該模塊進(jìn)程是Web服務(wù)器的子進(jìn)程,通過環(huán)境變量獲取瀏覽器請(qǐng)求中的相關(guān)信息,然后與傳感網(wǎng)服務(wù)器通信,獲取相應(yīng)數(shù)據(jù),再將結(jié)果處理成HTML網(wǎng)頁格式的數(shù)據(jù)發(fā)回給瀏覽器。在CGI模塊中,設(shè)置了用戶登陸認(rèn)證模塊,該模塊使得只有網(wǎng)關(guān)認(rèn)可的用戶才有資格對(duì)傳感網(wǎng)的結(jié)點(diǎn)設(shè)備進(jìn)行查詢和控制操作,從而提高了網(wǎng)關(guān)的安全性。
圖3 Web服務(wù)器程序流程Fig.3 Program flowchartofWeb server
(2)傳感網(wǎng)服務(wù)器
傳感網(wǎng)服務(wù)器是實(shí)現(xiàn)網(wǎng)關(guān)與傳感網(wǎng)通信功能的部分,各傳感網(wǎng)網(wǎng)絡(luò)的數(shù)據(jù)在此處匯聚。其結(jié)構(gòu)如圖4所示,數(shù)據(jù)傳輸功能由多線程程序?qū)崿F(xiàn),一個(gè)線程負(fù)責(zé)一種傳輸協(xié)議。Web服務(wù)器或?qū)iT編寫的客戶端程序可以通過TCP協(xié)議與傳感網(wǎng)服務(wù)器通信,通信端口設(shè)為8088端口。傳感網(wǎng)服務(wù)器在接收到命令請(qǐng)求后,會(huì)將接收的命令先放入命令緩沖池排隊(duì)等待處理,命令緩沖池中命令的存入和提取處理通過生產(chǎn)消費(fèi)者原理模型實(shí)現(xiàn)。傳感網(wǎng)節(jié)點(diǎn)上傳的數(shù)據(jù)存儲(chǔ)在設(shè)備信息表的數(shù)據(jù)數(shù)組中,供其它程序調(diào)取處理。
圖4 傳感網(wǎng)服務(wù)器結(jié)構(gòu)Fig.4 Server architecture of sensor network
傳感網(wǎng)服務(wù)器的程序流程如圖5所示,開始初始化數(shù)據(jù)庫(kù)服務(wù),獲得傳感網(wǎng)的各設(shè)備信息,初始化命令緩沖池,準(zhǔn)備接收命令,初始化各服務(wù)線程,準(zhǔn)備與傳感網(wǎng)和Web服務(wù)器的通信,然后一方面與傳感網(wǎng)傳輸數(shù)據(jù),一方面等待互聯(lián)網(wǎng)終端通過Web服務(wù)器或客戶端發(fā)來的命令請(qǐng)求。一旦檢測(cè)到命令進(jìn)入命令緩沖池,則開始執(zhí)行相應(yīng)的命令請(qǐng)求,完成后
提取或等待下一條命令。
圖5 傳感網(wǎng)服務(wù)器程序流程Fig.5 Program flowchart of sensor network server
3.3 數(shù)據(jù)包格式
為方便物聯(lián)網(wǎng)網(wǎng)關(guān)處理接收到的傳感網(wǎng)數(shù)據(jù),對(duì)傳感網(wǎng)的數(shù)據(jù)包內(nèi)容格式做如下規(guī)定,自定義數(shù)據(jù)格式如圖6所示。
圖6 自定義傳感網(wǎng)數(shù)據(jù)格式Fig.6 Data format of self-defined sensor network
在自定義的數(shù)據(jù)格式中,傳感網(wǎng)節(jié)點(diǎn)的地址占用2字節(jié),標(biāo)識(shí)節(jié)點(diǎn)在傳感網(wǎng)中的地址;設(shè)備地址占1字節(jié),標(biāo)識(shí)處于該傳感網(wǎng)節(jié)點(diǎn)上的某個(gè)設(shè)備的地址;數(shù)據(jù)(信令)長(zhǎng)度占1字節(jié),標(biāo)識(shí)發(fā)送的有效數(shù)據(jù)長(zhǎng)度;數(shù)據(jù)占16字節(jié),用于存儲(chǔ)發(fā)送的數(shù)據(jù)或信令。例如發(fā)送數(shù)據(jù)包的傳感網(wǎng)設(shè)備在地址為0x1001的傳感網(wǎng)節(jié)點(diǎn)處,并且是該結(jié)點(diǎn)的2號(hào)設(shè)備,地址為0x02,發(fā)送了兩個(gè)字節(jié)的數(shù)據(jù)0x01, 0x01,那么數(shù)據(jù)長(zhǎng)度為0x02,因此該數(shù)據(jù)包發(fā)送的是: 0x1001020201010000000000000000000000000000,數(shù)據(jù)部分只有前兩字節(jié)的0101有效,后面的字節(jié)無效,只是補(bǔ)滿16字節(jié)的數(shù)據(jù)長(zhǎng)度,方便其他程序的接收處理。
3.4 安全防護(hù)措施
Web服務(wù)器部分設(shè)置了用戶認(rèn)證模塊,可有效的防止非法用戶通過物聯(lián)網(wǎng)網(wǎng)關(guān)對(duì)傳感網(wǎng)節(jié)點(diǎn)的操作。傳感網(wǎng)服務(wù)器工作中會(huì)接收Web服務(wù)器或客戶端軟件的命令,為防止他人非法向傳感網(wǎng)服務(wù)器發(fā)送命令請(qǐng)求,特別設(shè)置安全密匙KEY機(jī)制,Web服務(wù)器和客戶端軟件內(nèi)設(shè)置了與傳感網(wǎng)服務(wù)器相同的KEY信息,每次命令的收發(fā)都要驗(yàn)證KEY值,驗(yàn)證失敗時(shí)傳感網(wǎng)服務(wù)器將拒絕接受命令,從而在高效數(shù)據(jù)通信的同時(shí)也保證了網(wǎng)關(guān)的安全性。
文中采用AT91SAM9X35等芯片模塊設(shè)計(jì)了簡(jiǎn)易實(shí)用、價(jià)格低廉的嵌入式物聯(lián)網(wǎng)智能網(wǎng)關(guān),功能上實(shí)現(xiàn)了物聯(lián)網(wǎng)三層結(jié)構(gòu)中感知層與傳輸層的紐帶作用[6]。向上與互聯(lián)網(wǎng)即傳輸層網(wǎng)絡(luò)實(shí)現(xiàn)TCP協(xié)議的可靠通信,并通過Web頁面提供了傳感網(wǎng)設(shè)備查詢、控制的良好界面,向下滿足了與傳感網(wǎng)的多協(xié)議通信需求。隨著物聯(lián)網(wǎng)的發(fā)展,這種低成本的嵌入式物聯(lián)網(wǎng)網(wǎng)關(guān)有望得到推廣,從而實(shí)現(xiàn)生活中人與人,人與物以及物與物之間隨時(shí)隨地的交流。
[1] 張洋洋,趙建平,徐娟娟.基于物聯(lián)網(wǎng)技術(shù)的水文監(jiān)測(cè)系統(tǒng)研究[J].通信技術(shù),2012,45(04):108-111.
ZHANG Yang-yang,ZHAO Jian-ping,XU Juan-juan. Research of IoT-based Hydrology Monitoring System[J]. Communications Technology.2012,45(04):108-111.
[2] 鄭樹泉,韓元杰,張泉.物聯(lián)網(wǎng)架構(gòu)與應(yīng)用[J].軟件產(chǎn)業(yè)與工程,2010(06):27-30,48.
ZHENG Shu-quan,HAN Yuan-jie,ZHANG Quan.Architecture and Application of the Internet of Things[J].Software Industry and Engineering.2010,1(06):27-30,48.
[3] 鐘科,陳向東.基于物聯(lián)網(wǎng)的智能家居服務(wù)網(wǎng)關(guān)的設(shè)計(jì)[J].通信技術(shù),2012,45(08):65-67.
ZHONG Ke,CHEN Xiang-dong.Design on Smart Home Service Gateway based on IoT[J].Communications Technology.2012,45(08):65-67.
[4] 趙炳弟.物聯(lián)網(wǎng)m2m網(wǎng)關(guān)剖析[J].電信技術(shù),2013, (12):73-76.
ZHAO Bing-di,Internet of Things m2m gateway analysis [J].Telecommunications Technology.2013,(12):73-76.
[5] 王森,何建忠.基于linux系統(tǒng)的字符設(shè)備驅(qū)動(dòng)研究與設(shè)計(jì)[J].微計(jì)算機(jī)信息,2012,28(03):173-175.
WANG Sen,HE Jian-zhong.The Research and Design of The Character Device Driver on Linux[J].Microcomputer Information.2012,28(03):173-175.
[6] 劉強(qiáng),崔莉,陳海明.物聯(lián)網(wǎng)關(guān)鍵技術(shù)與應(yīng)用[J].計(jì)算機(jī)科學(xué),2010,37(06):1-4,10.
LIU Qiang,CUILi,CHEN Hai-ming.Key Technologies and Applications of Internet of Things[J].Computer Science.2010,37(06):1-4,10.
陳樂庚(1963—),男,副教授/高級(jí)工程師,主要研究方向?yàn)楣I(yè)智能控制,計(jì)算機(jī)控制;
CHEN Le-geng(1963-),male,associate professor/senior engineer,maily working at industrial intelligent control and computer control.
洪志鵬(1988—),男,碩士,主要研究方向?yàn)槲锫?lián)網(wǎng)網(wǎng)關(guān);
HONG Zhi-peng(1988-),male,M.Sci., maily working at industrial intelligent control and IoT gateway.
崔更申(1970—),男,碩士,副教授,主要研究方向?yàn)榍度胧较到y(tǒng)及應(yīng)用,物聯(lián)網(wǎng),計(jì)算機(jī)視覺。
CUIGeng-shen(1970-),male,M.Sci.,associate professor,maily working at embedded systems and applications, IoT and computer vision.
Design and Im p lem entation of Embedded Intelligent IoT Gateway
CHEN Le-geng,HONG Zhi-peng,CUIGeng-shen
(School of Electronic Engineering and Automation,Guilin University of Electronic Technology,Guilin Guangxi541004,China)
IoT(Internet of things)gateway plays an important role in connecting traditional information networks and sensor networks,and aming at the single function and fixed application scenario of the existing IoT gateways,an embedded implementation of intelligent IoT gateway is proposed.This gateway hardware integratesmulti-protocol data transceivermodule.It could realize different types of network access at the same time and be applied in various occasions.Meanwhile,aweb service function is also designed in the gateway.Remote terminal can check the status of sensor network devices via the Internet,and also send control signaling to these devices.In addition,aiming at accout of the security problems of IoT gateway,the login and key authentication mechanism in the design is also proposed for the purpose to ensure secure communications.
IOT;gateway;embedded;multi-protocol communication;remote control;secure communication
TP393
A
1002-0802(2014)12-1455-04
10.3969/j.issn.1002-0802.2014.12.022
2014-09-25;
2014-10-25 Received date:2014-09-25;Revised date:2014-10-25
廣西可信軟件重點(diǎn)實(shí)驗(yàn)室項(xiàng)目(No.KX201318)
Foundation Item:Guangxi Key Lab of Trusted Software Project(KX201318)