Cortex-M3平臺上lwIP+AJAX的Web嵌入式應用

2020-12-20 電子產品世界

  摘要:本文基於lwIP乙太網協議棧將AJAX動態網頁設計技術應用於嵌入式Cortex-M3平臺,實現Web嵌入式應用。相比於CGI技術,AJAX實現簡易,移植性強,可支持傳統IE或是手機等不同的網頁訪問終端用戶。所選Cortex-M3平臺內部集成PHY,lwIP協議棧及實時作業系統FreeRTOS均是開源、免費,整個系統成本在60RMB以內,對於成本較敏感的網絡互聯產品提供了一種解決方案,並給出了硬體原理圖及軟體代碼。

本文引用地址:http://www.eepw.com.cn/article/146836.htm

  引言

  嵌入式系統是融合了SoC半導體技術、電子技術、計算機技術,針對具體應用硬體軟體均量身定製的計算機系統。低成本、高可靠性、高靈活性、高集成性使得嵌入式產品在工業領域獲得了巨大的發展契機。嵌入式產品一般服務於工業現場,通過RS232、RS485、或是CAN等通信接口與外界互聯通信。如今伴隨著Internet技術的成熟,帶寬的日益提高,公共場所無線網絡覆蓋,智慧型手機日益普及,網絡化、信息化的要求越來越受到關注,Internet網絡互聯成為必然的趨勢[1]

  目前在實際應用中支持Internet應用的嵌入式系統產品,主要是通過ARM9平臺實現,如Samsung S3C2442或是ATMEL AT91SAM9G25平臺,作業系統一般是用Linux,網絡開發則多是採用傳統的CGI(Common Gateway Interface)技術[2]。此種解決方案在成本上過高,僅一顆ARM9處理器就將近70RMB,對於成本敏感的產品無法承擔;CGI維護複雜,運行效率低下,每響應一個客戶就會打開一個新的進程,當用戶訪問數量增大時,會嚴重地損耗系統資源,大幅度地降低系統性能,訪問資料庫的程序也不容易編寫,這也就是最近幾年來隨著各種新的後臺技術的誕生,CGI應用在Internet上越來越少的原因,CGI方式不適合訪問量大的應用[3]

  基於此現狀,本文給出了一個TI Cortex-M3平臺上,運用AJAX(Asynchronous JavaScript and XML)技術實現Web嵌入式應用方案。Cortex-M3平臺成本和性能介於ARM9和MCU之間一類處理器,而TI Cortex-M3是目前市場上唯一內部集成PHY,這可進一步降低方案硬體成本。作業系統採用開源的FreeRTOS,相對Linux,FreeRTOS小巧精緻,對硬體Flash和RAM需求極小,5KB Flash和0.6KB RAM便可運行,相對於μC/OS-II商業作業系統,FreeRTOS則是完全免費。TCP/IP協議棧採用瑞典開源免費的lwIP(Light Weight IP),一般它只需要0.5KB的RAM和7KB左右的Flash就可以運行[4];網絡開發採用AJAX技術,AJAX是一種基於客戶端瀏覽器的語言[5],使用AJAX的最大優點就是能在不刷新整個頁面的前提下維護數據。這使得Web應用程式更為迅捷地響應用戶交互,並避免了在網絡上發送那些沒有改變的信息[6]。由於採用了高性價比處理器平臺和免費開源的系統軟體,整個系統成本可控制在60RMB以內,為成本較敏感的網絡互聯產品提供了一種解決方案。

  系統硬體設計

  TI推出的Cortex-M3 LM3S9D96,提供豐富的片內外設:片上集成512KB Flash,96KB RAM,18通道ADC,1個USB(OTG),2通道SPI,2路CAN,3通道UART,1路10/100M Ethernet,內部集成PHY,看門狗,支持EPI、NVIC和DMA,65個通用IO,處理速度80MHz,ROM固化了FreeRTOS作業系統,Bootloader及常用外設操作接口函數庫,方便快速高效產品開發。

  基於LM3S9D96平臺的硬體系統框圖如圖1所示。  

 

  (1)PowerMode:系統工作電源,採用DC5V,由外置Adaptor設備提供。整個系統的電源包括:5V,3.3V及5V_ISO(用於RS485通信電源)。
  (2)RS4851/RS4852:系統通過RS4851或RS4851接口電路實時採集現場設備運行數據。
  (3)LEDs:通過4個LED指示一些重要功能模塊的工作狀態,如5V電源,RS4851,RS4852及LAN的通信狀態等。
  (4)LAN:實現標準TCP/IP網際網路通信。
  (5)Clock:為整個系統提供時鐘源。
  (6)JTAG:軟體開發調試接口。
  (7)EEPROM:採用512Kb SPI接口式EEPROM,存儲一些採集到的重要運行數據及系統配製參數如IP位址,子網掩碼,網關及DNS伺服器,Internet時間伺服器,時區等。
  (8)Recover:恢復出廠設置,當上電時按住此鍵可使系統所有參數恢復到出廠默認值。
  (9)Reset:系統復位電路。

linux作業系統文章專題:linux作業系統詳解(linux不再難懂)

linux相關文章:linux教程


相關焦點

  • ajax應用的五個步驟
    打開APP ajax應用的五個步驟 發表於 2017-12-27 09:02:46   ajax   Ajax 即「Asynchronous Javascript And XML」(異步 JavaScript 和 XML),是指一種創建交互式網頁應用的網頁開發技術。
  • web開發實戰教程:Apache Shiro在web項目的應用
    web開發實戰教程今天準備分享一下Apache Shiro 在web開發中的應用。shiro安全框架是目前為止作為登錄註冊最常用的框架,因為它十分的強大簡單,提供了認證、授權、加密和會話管理等功能 。Apache Shiro在web項目的應用2.配置 web.xml 文件在web.xml中加入以下代碼—shiro過濾器。
  • Miniweb:來自香港的移動閱讀平臺
    Miniweb:來自香港的移動閱讀平臺 2012-02-02 17:46
  • 基於Cortex M3的音頻播放器的設計
    2.5 LCD觸控螢幕與μC/GUIμC/GUI是一種嵌入式應用中的圖形支持系統。其適用於任意LCD控制器和CPU下任何尺寸的真實顯示或虛擬顯示。2)μC/GUI圖形用戶接口,μC/GUI是一種嵌入式應用中的圖形支持系統,本設計中用移植了μC/GUI來實現音頻播放器的操作界面。3)數據存儲方面,播放MP3時,系統採用FatFs文件系統讀取存儲在SD卡中的MP3數據。
  • 基於嵌入式的開發雲和後端技術的討論研究
    基於嵌入式的開發雲和後端技術的討論研究 李威 發表於 2017-09-29 18:37:02   本文從大的宏觀網絡架構一步一步深入到微觀的微信後臺接入,業務引擎是應用系統的核心
  • 應用伺服器是什麼_應用伺服器有哪些
    動態   動態:動態web文檔不是以一個預先定義的格式存在,而是在瀏覽器訪問web伺服器時創建。當一個請求到達時,web伺服器運行一個應用程式創建動態文檔(dynamic documents),伺服器返回程序的輸出作為應答。由於每次訪問都要創建新的文檔,動態文檔的內容是變化的。
  • 嵌入式行業發展狀況_嵌入式行業人才需求_嵌入式系統就業前景分析
    嵌入式系統用在一些特定專用設備上,通常這些設備的硬體資源(如處理器、存儲器等)非常有限,並且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。按照行業細分,嵌入式產品主要分布在消費類電子、通信、醫療、安全等行業(圖1)   嵌入式軟體產業發展迅猛,已成為軟體體系的重要組成部分。
  • 課程設計指導——應用AJAX技術提高Web應用系統的整體響應性能
    應用的操作界面產生出應用程式客戶端窗口界面的效果。地圖系統的行為更象是一個桌面應用程式而不是一個Web應用程式。(2)Google Suggest站點當用戶在輸入框輸入相關的查詢關鍵字時,Google Suggest系統獲取用戶的輸入並實時地發送到後臺Web伺服器查詢出對應匹配的結果——這在技術實現上稱為「自動補全」,請讀者注意「自動補全」其實是AJAX技術的一個典型的應用。
  • 鳶尾花預測:如何創建機器學習Web應用程式?
    本文就將展示如何在Python庫中使用streamlit,用不到50行的代碼構建一個簡單的基於機器學習的數據科學web應用程式。數據科學生命周期鳶尾花預測應用程式概述我們將構建一個簡單的機器學習web應用程式,用於預測鳶尾花的類標籤,包括setosa、versicolor
  • ARM Cortex系列(A8/A9/A15/A7) NEON多媒體處理SIMD引擎優化
    下載Cortex-A9白皮書窗體頂端與高性能計算平臺消耗的功率相比,ARM Cortex-A9處理器可提供功率更低的卓越功能,其中包括:通過共享以下常見需求,Cortex-A9處理器可提供滿足各種不同市場應用需求的可擴展解決方案,包括移動手機以及高性能的消費類產品和企業產品
  • 酷狗再於web app發力 UC應用中心排名第一
    酷狗全新的Html5播放器  酷狗html5第二期上線UC應用中心後,取得了驕人的成績,上線僅一周安裝用戶已近40w,高居音樂分類排行第一位,超前領先於其它同類網際網路音樂服務提供商。  酷狗音樂高居音樂播放軟體排行首位  基於超高的用戶口碑,酷狗音樂已經連續一周排於UC瀏覽器應用推薦首選。
  • 如何在Web應用中實現Velocity 與Struts 框架相互集成的應用實例
    J2EE Web應用系統的設計和開發人員通過應用Velocity Tools中相關的組件,不僅可以將Velocity 模板引擎應用於普通的J2EE Web應用系統環境中,也還可以與J2EE系統平臺中的各種應用框架相互集成,從而也允許將Velocity 模板引擎應用於如Struts和Struts2、Spring等應用框架的環境中。
  • IPFS如何使用Terminal部署Web應用程式
    儘管Terminal支持幾乎所有站點和流行框架,但出於本教程的目的,我將使用Vue CLI 4設置Vue.js應用程式。npm預裝了node.js要安裝Vue CLI 4,請運行以下命令:除非通過Node.js版本管理器將npm安裝在系統上(例如n或nvm),否則您需要管理員特權才能執行這些操作。
  • web應用安全框架選型:Spring Security與Apache Shiro
    web應用安全框架選型:Spring Security與Apache Shiro一、 SpringSecurity 框架簡介Spring Security 是強大的,且容易定製的,基於Spring開發的實現認證登錄與資源授權的應用安全框架。
  • 使用jQuery的ajax技術+JSON數據格式+C#+SQL Server實現數據顯示
    技術,本身就是一種很輕的數據操作方法,可以通過ajax技術從遠程的伺服器上拉取數據,這樣做就可以實現單向的拿出數據,然後斷開連接,剩下的就是在客戶端進行操作了,是一種很輕量級的操作數據的方法。查看返回的JSON數據正式在Html頁面上顯示數據之前,我們先測試一下這個GET請求是否成功了,是否能從伺服器上拿取數據。在運行後的頁面上點擊按鈕,然後打開瀏覽器的控制臺窗口,我們看到,已經有了一個object的對象,其中正好是從資料庫中獲取的數據。
  • 基於4G的嵌入式數據通信系統研究
    其中,將4G-Ready 與Wi-Fi 技術、Blutooth 藍牙技術、GPS 全球定位系統以及基於ARM 核的嵌入式技術進行集成,以Linux-C、Java 程式語言開發應用軟體系統,能夠構成一個具有多種功能、技術性能優越和先進實用的嵌入式Wi-Fi 無線通信網絡終端系統,以滿足構建城市智能交通管理、市政環境保護監控和風景區信息管理等領域的無線數據通信應用需求。
  • "Stanley博士的家完整版"百度應用開放平臺首發
    "Stanley博士的家完整版"百度應用開放平臺首發 據遊戲的開發者James透露,全新「Stanley博士的家完整版」也將稍後在百度應用開放平臺上全球首發。
  • 10大移動Web開發框架
    開發者在創建web程序和Web移動開發時應該不斷的挑戰自我,開發新技術。如今,觸屏時代了終結了滑鼠,大多數可攜式應用改變了傳統的臺式機產品。為了幫助您快速的構建跨平臺的移動應用和網頁,本文收集了一些JavaScript框架。對此,你可以充分利用它。
  • 如何在阿里雲物聯網平臺上使用IoT Studio開發多設備Web應用?
    一、新建Web應用 新建Web應用的前提是已建立有項目。 如何在阿里雲上建立項目,可以參見之前的文章如何在阿里雲的 IoT Studio頁面的公開的解決方案的基礎上新建項目。 這裡,我們不再介紹如何創建項目,而是在原有項目的基礎上,添加一個新的Web應用。
  • 嵌入式Linux啟動時間優化的秘密之一工具鏈/應用程式優化
    嵌入式Linux啟動時間優化的秘密之一工具鏈/應用程式優化 逸珺 發表於 2020-04-02 16:07:10   嵌入式Linux啟動時間優化的秘密