新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM―LINUX平臺的物聯網服務器設計

        基于ARM―LINUX平臺的物聯網服務器設計

        作者: 時間:2016-09-12 來源:網絡 收藏

        在WWW.boa.org上下載boa的源代碼。通過以下步驟完成其交叉編譯:

        #tar—bxzf boa-0.94.1 3.tar. gz

        #cd./boa-0.94.13/src

        #./configure

        #vi./Makefile

        修改CC=gcc為CC=arm-unknownlinux-gcc,CPP=gcc -E為CPP=arm-unknownlinux-cpp -E,保存退出。執行如下命令:

        #make

        #arm-linux-strip./boa

        得到能在arm平臺下的可執行文件boa,大小只有60KB

        將可執行文件Boa下載到嵌入式設備后,還需對其進行一些配置。首先需要在/etc/boa目錄下建立一個boa配置文件boa.conf。表1為Boa配置文件部分配置說明:

        基于ARM—LINUX平臺的物聯網服務器設計

        3.3 通用網關接口

        是通用網關接口的簡稱。該接口定義了WEB服務器和其他可執行程序之間的通信接口標準。一般這些可執行程序我們也簡稱為程序。在客戶端瀏覽器上面,可以請求執行CGI程序,并會附帶傳送的參數。當服務器收到此請求后,執行對應的CGI程序,與此同時,會把來自客戶端的傳輸傳遞給CGI程序。在服務器和CGI程序之間,他們足利用標準輸入輸出來實現參數傳遞和信息返回的。

        在本服務器的設計當中,CGI程序不僅僅與WEB服務器通信,它還需要和守護程序進行通信。由于守護程序是負責連接外圍設備,并與之通信的,所以可以通過CGI程序來對外圍設備進行通信。通過這樣的通信過程實現了客戶端與設備終端的交互。其通信過程如下:

        (1)客戶端利用TCP/IP協議和WEB服務器建立連接;

        (2)客戶端利用HTTP協議發出URL指向一個CGI程序的請求;

        (3)服務器收到請求后,執行對應的CGI程序;

        (4)CGI應用程序執行,可以通過讀取標準輸入或環境變量(QUERY STRING)獲取來自客戶端的參數;

        (5)應用程序利用進行標準輸出方式來輸出返回結果給WEB服務器。

        (6)WEB服務器將結果傳送給客戶端,完成整個請求返回過程。

        3.4 網絡應用程序的訪問與控制

        網站的訪問和控制使用JavaScript語言,調用jQuery類庫和利用AJAX技術,實現動態顯示頁面的效果。而頁面的參數傳遞和CGI反饋都是使用JSON數據格式。

        JSON即JavaScript Object Notation,它是一種輕量級的數據交換格式。本設計使用JSON數據格式中的”名稱/值”對的集合為基本數據結構,它作為頁面與CGI程序之間的參數傳遞和運算結果返回的數據格式。基本格式如下:

        {device:value,model:value,type:value,data:“Value”}

        利用jQuery類庫,每隔1 s中通過請求./cgi-bin/web_cgi。得到請求結果作為當前狀態。

        4 總結

        本文實現了一個基于平臺的通用服務器的設計,本設計可以為用戶提供通過WEB頁面對物聯網中數據采集的實時監測和控制功能,具有較好的實用意義。下一步將繼續完善系統的功能,如:增加對更多傳感器的支持,系統如何更方便地應用于不同的領域等,系統的安全性也有待完善。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 汽车| 陈巴尔虎旗| 浦东新区| 施甸县| 普安县| 临沧市| 岳池县| 武邑县| 竹山县| 昭觉县| 深州市| 全南县| 红安县| 呈贡县| 筠连县| 巴青县| 金塔县| 永年县| 长治县| 新营市| 城市| 瓮安县| 泌阳县| 武平县| 新巴尔虎右旗| 调兵山市| 永济市| 泾阳县| 泰州市| 高碑店市| 阳西县| 灵石县| 湘乡市| 金秀| 丰城市| 梓潼县| 栾城县| 黎川县| 来凤县| 西乡县| 绿春县|