利用BB-Black的遠程醫療監測智能硬件設計
上述代碼首先創(chuàng )建一個(gè)無(wú)阻塞的流式套接字描述符socktfd,提供面向連接的可靠傳輸。然后利用bind()函數將指定端口與套接字描述符關(guān)聯(lián),最后利用listen()函數在指定端口監聽(tīng),等待Request請求。
當監聽(tīng)到連接請求,服務(wù)器調用get_request()函數獲取請求信息,利用accept()函數建立連接,接收請求、分析信息,進(jìn)行HTTP認證確認,處理請求信息,并將結果發(fā)送、顯示到Web瀏覽器;當有CGI請求時(shí),創(chuàng )建CGI處理進(jìn)程,并將處理結果發(fā)送、顯示到Web瀏覽器。
2.1.3 Boa在A(yíng)RM上的移植
首先,針對BB-Black和實(shí)際應用場(chǎng)景對Boa服務(wù)器源代碼作以下修改:(1)根據監護人數量指定HTTP請求列表限制參數;將服務(wù)器的輸入輸出緩存空間設為最大值,以加快生理數據傳輸速度;(2)通過(guò)編寫(xiě)實(shí)現一些簡(jiǎn)單函數,來(lái)精簡(jiǎn)Linux操作系統庫函數,節約資源。
其次,利用arm-linux-gcc交叉編譯環(huán)境,配置生成大小為175.8KB的boa可執行程序。通過(guò)bin.arm-linux-strip boa指令剝去附帶的編譯信息,得到僅59.4KB的ARM平臺可執行文件。
最后,通過(guò)修改Web服務(wù)器的配置文件boa.conf:監聽(tīng)端口為80,注釋掉綁定IP地址設置欄,KeepAliveMax值為50,KeepAliveTimeout值為10,服務(wù)器名字為www. RemoteMedicalMonitoringSystem.com;以及CGI路徑,訪(fǎng)問(wèn)日志和錯誤日志的存放路徑等運行參數;將該配置文件和可執行文件boa放到BB-Block平臺的/home/www目錄下;執行g(shù)enromfs-f romfs.img-d romdisk命令生成一個(gè)含有Boa服務(wù)器的根文件系統,通過(guò)bootloader燒寫(xiě)到存儲器。完成Boa到ARM平臺的移植。
評論