• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于物聯(lián)網(wǎng)技術(shù)的實(shí)驗(yàn)儀器智能管理平臺(tái)設(shè)計(jì)

      2015-06-16 22:01:22湯莉莉王紅心張卓王泉濤劉進(jìn)
      科技創(chuàng)新導(dǎo)報(bào) 2015年36期
      關(guān)鍵詞:串口通信數(shù)據(jù)結(jié)構(gòu)嵌入式

      湯莉莉 王紅心 張卓 王泉濤 劉進(jìn)

      摘 要:隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,它逐漸被應(yīng)用于各行各業(yè),甚至人們的生活中。本設(shè)計(jì)是把物聯(lián)網(wǎng)技術(shù)應(yīng)用于實(shí)驗(yàn)儀器智能化管理上,以移植了嵌入式Linux系統(tǒng)的主板為管理平臺(tái);向下通過(guò)RS232、485、USB、WLAN等接口,連接到各種電子實(shí)驗(yàn)儀器,根據(jù)儀器廠家提供的通信協(xié)議與儀器通信,操作和控制儀器;向上由局域網(wǎng)或無(wú)線傳輸模塊,根據(jù)定義的通信協(xié)議,與PC客戶端交互,實(shí)施授權(quán)管理和狀態(tài)檢測(cè)。該設(shè)計(jì)提出了一種新的思路,或?yàn)榻窈髮?shí)驗(yàn)室儀器智能化管理提供一定的參考價(jià)值。

      關(guān)鍵詞:嵌入式 ARM Linux操作系統(tǒng) 數(shù)據(jù)結(jié)構(gòu) Linux網(wǎng)絡(luò)編程 串口通信

      中圖分類(lèi)號(hào):TP399;TN91 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2015)12(c)-0018-02

      “物聯(lián)網(wǎng)概念”是在“互聯(lián)網(wǎng)概念”的基礎(chǔ)上,將其用戶端延伸和擴(kuò)展到任何物品與物品之間,進(jìn)行信息交換和通信的一種網(wǎng)絡(luò)概念。物聯(lián)網(wǎng)技術(shù)現(xiàn)已廣泛應(yīng)用于醫(yī)療、交通、工業(yè)、農(nóng)業(yè)、環(huán)保等各行各業(yè),并廣泛惠及民生。

      目前本科階段學(xué)生實(shí)踐能力的培養(yǎng)主要是在院校實(shí)驗(yàn)室內(nèi)進(jìn)行,各院校為緊跟社會(huì)需求,在學(xué)生實(shí)踐能力的培養(yǎng)上花費(fèi)了大量人力和物力,采購(gòu)了大量的實(shí)驗(yàn)器材,但往往器材采購(gòu)后,由于人力有限,加上不能對(duì)設(shè)備直接進(jìn)行實(shí)時(shí)管理,資源利用率并不高,只有為數(shù)不多的實(shí)驗(yàn)室對(duì)部分學(xué)生開(kāi)放,而且需要配備相當(dāng)?shù)娜肆ΑMㄟ^(guò)引入最新的物聯(lián)網(wǎng)技術(shù),構(gòu)建一個(gè)實(shí)驗(yàn)儀器智能管理平臺(tái)系統(tǒng),通過(guò)這個(gè)平臺(tái),可以實(shí)時(shí)的監(jiān)控到儀器的使用狀況,可以根據(jù)這些數(shù)據(jù),合理的調(diào)配實(shí)驗(yàn)室資源、及時(shí)報(bào)告存在故障的儀器、認(rèn)定儀器損壞的責(zé)任,最終達(dá)到減少人力投入和提高使用效率的目的。

      1 硬件設(shè)計(jì)要求與方案選擇

      該設(shè)計(jì)主要的硬件選擇就取決于采用何種芯片的開(kāi)發(fā)板平臺(tái),選擇的要求如下:

      (1)能夠移植Linux系統(tǒng)。

      (2)NANDflash不小于2 G。

      (3)外設(shè)接口,如USB、RS232、485、CAN、WLAN等接口要盡可能的多。其他不必要的接口,如LCD、LVDS、TFT、HDMI等顯示接口要盡可靠裁剪,避免浪費(fèi)資源。

      (4)易于開(kāi)發(fā),選用的開(kāi)發(fā)板要有可靠的可以開(kāi)發(fā)手段,如程序開(kāi)發(fā)工具、仿真調(diào)試手段等。另外,還需要有完備的技術(shù)資料。

      (5)選用的開(kāi)發(fā)板平臺(tái),要實(shí)用,但價(jià)格不能太昂貴。

      鑒于以上的要求,首先考慮ARM系列開(kāi)發(fā)板平臺(tái),雖然最新的Cortex系列應(yīng)用廣泛,但考慮到開(kāi)發(fā)難易度,價(jià)格因素,該設(shè)計(jì)選擇了一款以ARM11芯片(三星S3C6410)作為主處理器的嵌入式核心板Tiny6410。

      2 嵌入式Linux系統(tǒng)移植

      2.1 移植重難點(diǎn)分析

      移植的重難點(diǎn)在于需要耐心地去配置新的系統(tǒng)。選取需要的源代碼,編譯成可執(zhí)行文件,使其能啟動(dòng)所用的主板。u-boot主要配置包括工程配置和代碼移植。工程配置目的是使u-boot能夠支持主板,需要添加所用主板的配置信息到u-boot工程,關(guān)鍵要添加主板配置文件、主板目錄文件;代碼移植的目的是為了添加和修改我們所需要的源代碼,使這個(gè)通用的u-boot能夠更好地支持我們主板的芯片,能夠啟動(dòng)它[1-2]。

      2.2 移植步驟

      首先搭建交叉編譯環(huán)境,交叉工具鏈為arm-linux-gcc-4.5.1。然后再根據(jù)需要配置編譯u-boot、kernel、rootfs文件系統(tǒng),經(jīng)編譯和執(zhí)行生成得到u-boot.bin、zImage、ramdisk.img文件,再通過(guò)u-boot下載到FLASH上完成整個(gè)燒寫(xiě),啟動(dòng)系統(tǒng)。

      3 軟件系統(tǒng)設(shè)計(jì)

      此管理平臺(tái)核心為各軟件模塊的設(shè)計(jì),以RS232作為數(shù)據(jù)傳輸,網(wǎng)關(guān)服務(wù)器作為橋梁、PC作為客戶端,實(shí)施監(jiān)控與管理。

      3.1 USB-RS232驅(qū)動(dòng)加載

      內(nèi)核模塊有動(dòng)態(tài)與靜態(tài)加載,由于驅(qū)動(dòng)模塊加載到內(nèi)核會(huì)一直用到,不存在卸載,且方便使用、節(jié)省內(nèi)存空間,所以選擇靜態(tài)加載方式[3]。

      3.2 網(wǎng)關(guān)服務(wù)器程序

      ARM11開(kāi)發(fā)板作為主要控制平臺(tái),它的主要功能有兩個(gè),(1)通過(guò)不同的接口,與各種儀器進(jìn)行通訊,獲取我們需要的數(shù)據(jù),并存儲(chǔ)起來(lái);(2)通過(guò)TCP/IP協(xié)議與客戶端進(jìn)行交互,交流信息。

      根據(jù)網(wǎng)關(guān)服務(wù)器要實(shí)現(xiàn)的功能,把編寫(xiě)代碼分為3個(gè)模塊[4],各模塊之間的關(guān)系如下圖所示,3個(gè)模塊文件中串口配置文件和數(shù)據(jù)存數(shù)文件是被主程序調(diào)用的,主程序模塊是現(xiàn)實(shí)服務(wù)器功能的核心。

      如下圖所示,服務(wù)器端程序啟動(dòng)后,在主程序中,先創(chuàng)建鏈表[5-6],為后面存儲(chǔ)數(shù)據(jù)做準(zhǔn)備;再初始化串口,創(chuàng)建兩個(gè)線程,最后一直向串口中寫(xiě)數(shù)據(jù);在主程序中創(chuàng)建的線程,一個(gè)實(shí)現(xiàn)TCP服務(wù),一個(gè)監(jiān)測(cè),讀串口數(shù)據(jù)。在TCP服務(wù)中,實(shí)際是一個(gè)用select輪詢實(shí)現(xiàn)的并發(fā)的服務(wù)器,可以同時(shí)接受多個(gè)客戶端的請(qǐng)求。

      3.3 客戶端(PC端)程序開(kāi)發(fā)

      客戶端程序,相對(duì)于網(wǎng)關(guān)服務(wù)器的程序來(lái)說(shuō),簡(jiǎn)單很多,整個(gè)程序的執(zhí)行流程都是單線程,客戶端端程序和TCP服務(wù)端的程序很相似,執(zhí)行流程也大致一直。先創(chuàng)建socket套接字;填充socket,主要填寫(xiě)服務(wù)端的IP地址,和連接端口號(hào)。綁定bind操作,在客戶端上,可有可無(wú),但在服務(wù)端,必須要做,否則客戶端無(wú)法連接。接下來(lái)就是客戶端connect操作,請(qǐng)求連接服務(wù)器,連接成功,進(jìn)行通信。

      4 系統(tǒng)調(diào)試

      4.1 Linux系統(tǒng)啟動(dòng)調(diào)試

      (1)方法與步驟:內(nèi)核調(diào)試→文件系統(tǒng)調(diào)試→修改啟動(dòng)參數(shù),上電自啟動(dòng)。

      (2)結(jié)果:經(jīng)調(diào)試,移植到板子上的Linux系統(tǒng)可以正常啟動(dòng),能正常掛載根文件系統(tǒng)。啟動(dòng)中沒(méi)有出現(xiàn)kernel panic 和kernel dump的系統(tǒng)錯(cuò)誤。

      4.2 串口模塊調(diào)試

      用USB-RS232串口線將示波器和PC相連,裝好驅(qū)動(dòng)后,打開(kāi)putty,進(jìn)行相關(guān)設(shè)置。經(jīng)調(diào)試,Linux啟動(dòng)后,用USB-RS232串口線連接示波器,系統(tǒng)能識(shí)別。在管理平臺(tái)上運(yùn)行server程序,并打開(kāi)示波器的電源,終端上就可以打印出來(lái)。

      4.3 TCP服務(wù)模塊調(diào)試

      經(jīng)調(diào)試,在Ubuntu上server端可以與client端連接成功。將server程序移植到平臺(tái)上,再次運(yùn)行server端程序,Ubuntu上客戶端依然能連接成功。

      4.4 聯(lián)合調(diào)試

      管理平臺(tái)上Linux系統(tǒng)啟動(dòng)后,用USB-RS232串口線,將兩個(gè)示波器和管理平臺(tái)連接,用網(wǎng)線將管理平臺(tái)和Ubuntu PC相連接。在Ubuntu上交叉編譯服務(wù)端工程文件,得到可執(zhí)行文件server,拷貝到管理平臺(tái)上,用命令:./server運(yùn)行。打開(kāi)示波器的電源。在Ubuntu上用Gcc編譯客戶端程序,得到可執(zhí)行的文件client;運(yùn)行程序:./client 192.168.1.127 8888。在終端上打印出和服務(wù)端連接成功的信息,按任意鍵,可得到關(guān)于示波器的信息,調(diào)試成功。用組合鍵Ctrl+Alt+T另開(kāi)多個(gè)終端,切換到工程目錄下,再運(yùn)行客戶端,結(jié)果和上面一樣,表明多客戶端調(diào)試成功。

      5 結(jié)語(yǔ)

      該實(shí)驗(yàn)儀器管理平臺(tái)能夠獲取示波器啟動(dòng)時(shí)的信息和運(yùn)行狀態(tài),并且存儲(chǔ)起來(lái);位于PC上的客戶端,可以通過(guò)TCP服務(wù)訪問(wèn)管理平臺(tái),得到想要的數(shù)據(jù)。另外,其PC客戶端可跨平臺(tái),解決了單平臺(tái)Linux的局限性。在局域網(wǎng)的所有PC都能訪問(wèn)管理平臺(tái),獲取實(shí)驗(yàn)儀器的使用情況,能多個(gè)客戶端通信,還可以實(shí)時(shí)顯示實(shí)驗(yàn)室監(jiān)控畫(huà)面。

      實(shí)現(xiàn)了管理平臺(tái)的基本功能,完成了物聯(lián)網(wǎng)嵌入式技術(shù)在實(shí)驗(yàn)儀器智能化管理上的應(yīng)用的實(shí)物模型驗(yàn)證,或?yàn)楦咝?shí)驗(yàn)儀器智能化管理提出一種新的思路,同時(shí)為未來(lái)的管理智能化提供一定的參考價(jià)值。

      參考文獻(xiàn)

      [1] 程姚根,苗德行.嵌入式操作系統(tǒng)(Linux篇)[M].北京:人民郵電出版社,2014.

      [2] 劉剛,趙劍川.Linux系統(tǒng)移植[M].北京:清華大學(xué)出版社,2010.

      [3] 宋寶華.Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2010

      [4] 譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)(第四版)[M].北京:清華大學(xué)出版社,2012.

      [5] 程杰.大話數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2011.

      [6] Robert Mecklenburg.GNU Make項(xiàng)目管理(第三版)[M].北京:人民郵電出版社,2006.

      猜你喜歡
      串口通信數(shù)據(jù)結(jié)構(gòu)嵌入式
      搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
      基于Qt和Flash的嵌入式Linux軟件架構(gòu)設(shè)計(jì)
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      串口通信在智能家居監(jiān)控系統(tǒng)中的應(yīng)用
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      基于OpenCV的室內(nèi)照明智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      科技視界(2016年13期)2016-06-13 22:01:19
      高職高專(zhuān)數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
      Altera加入嵌入式視覺(jué)聯(lián)盟
      倍福 CX8091嵌入式控制器
      TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
      随州市| 德州市| 太康县| 旅游| 科技| 分宜县| 浏阳市| 青海省| 塔河县| 政和县| 南投市| 青河县| 榕江县| 左贡县| 博乐市| 昌都县| 纳雍县| 汉源县| 宝兴县| 南乐县| 濮阳县| 南木林县| 崇仁县| 新田县| 双鸭山市| 宾川县| 灯塔市| 桐梓县| 罗源县| 铜川市| 高雄市| 南安市| 丁青县| 承德县| 开封市| 新营市| 固安县| 南城县| 田阳县| 阿拉善盟| 新建县|