基於PIC32的嵌入式Web伺服器的物聯網實現

2021-01-17 電子產品世界

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

1前言

計算機和網絡技術的迅速發展,引發了控制領域深刻的技術革命。控制系統結構向網絡化、開放性方向發展將是控制系統技術發展的主要潮流。過去大量的浩如煙海的8/16位單片機的嵌入式設備,如儀器儀表、數據採集和顯示、過程控制、工業自動化、家庭自動化等的實時應用,已經到了享受網絡方便的時候了。它們將成為Internet 的發展沃土,順應「網絡服務」向「網絡應用」擴展的大潮。

目前大多數嵌入式系統還處於單獨應用的階段,以單片機為核心,與一些控制設備配合實現一定的功能。如果嵌入式系統能夠連接到Internet 這個信息流通渠道,則可以方便、低廉地將信息送到世界上任何一個地方,這將形成集管理與控制於一體的分布式網絡系統。要做到這一點並不難,在電子技術、傳感技術已經高度發達的今天,現場數據的取得,已經不是難事,溫度、壓力、溼度、速度、加速度、電流、電壓這些數據只需要一個小小的嵌入式系統就可解決。另外,乙太網(Ethernet)協議已經廣泛地應用於各種計算機網絡,基於乙太網的嵌入式系統也正在不斷向前發展。

另一方面,隨著網絡的發展和用戶對各種應用需求,現在各種各樣的消費產品,例如,智慧型手機,數位相機等,都提供無線或是有線的國際網際網路的接入功能。各種應用都需要網絡的接入來提供各種娛樂功能。同時隨著物聯網技術發展,對於各種設備的網絡接入和訪問將變得越來越普遍。而且現在流行的智能家居系統的實現也需要網絡的接入來提供遠程控制,,因此開發基於MCU的嵌入式Web伺服器是非常有意義和挑戰性的。

2需求與功能分析

系統目標

最終目的是實現一個基於PIC32位單片機的可移植並且高度可配置嵌入式Web伺服器。嵌入式Web伺服器可用於現在流行的物聯網的各個方面,例如,傳感器網絡監控,工業機器監控,小型Web伺服器,遠程信息交互等應用領域。

主要功能

實現一個嵌入式Web伺服器,並且能夠提供用戶通過Internet 訪問並控制相關外設。基本要求如下所示:

1. 當上電或用戶復位後所有PIC32 位單片機配置能夠自動設置好,並正常工作;

2. 網絡連接通過板卡上的Ethernet 接口實現,並且相關的IP位址,子網掩碼(Subnet mask),網關(Gateway)等網絡配置能夠通過DHCP(Dynamic Host Configuration Protocol)自動實現。

3. HTML源文件存放在外部SD存儲卡上,方便用戶修改。而且通過USB接口來實現讀寫。

4. 為了演示物聯網技術的基本結構及其優勢,提供相關外設(溫溼度傳感器及LED)供用戶遠程控制或操作。

5. 為方便使用,相關的網絡信息(如IP位址,網關(Gateway)等)及外設信息(如溫度,溼度等)顯示在LCD上。

相關技術和原理

TCP/IP 協議

USB 協議

3.系統設計與實現

系統總體結構框圖如圖1所示:

圖1 系統總體結構框圖

嵌入式Web伺服器

從上面的框圖中我們可以清晰地了解整個硬體系統的結構以及各部分的連接。首先最重要的部分是調用Microchip公司的TCP/IP庫來實現PIC32位單片機與Internet的通信,接受用戶的請求並根據Http Request()的返回值通過Http Response()來與用戶進行交互,例如顯示時間、溫度、溼度,或者控制LED燈的亮或滅。更進一步可以用按鍵來模仿嵌入式伺服器側的各種外設的參數變化,使其實時的顯示到用戶的Web瀏覽器上。

下圖是簡化了的Web伺服器原理圖,伺服器的事物邏輯部分是嵌入式伺服器的核心部分,它根據不同的Http Socket來讀取SD存取卡上的HTML源文件或其他外設的輸入值,來響應用戶的請求,這是物聯網的基礎。

SD存取卡及文件系統

SD存取卡及文件系統是整個系統中僅次於嵌入式Web伺服器的重要模塊,它主要用來存放Web伺服器管理員編寫的HTML源文件,提供給Web伺服器來響應用戶的請求。SD卡的讀寫可以利用PIC32位單片機上的USB Host來方便的實現。並且Microchip 公司提供的文件系統的庫函數的支持,更加方便了SD存取卡及文件系統模塊的實現。

其示意性原理框圖如下所示:

LCD顯示部分

同時與PIC32 位單片機相連的LCD用來顯示嵌入式Web伺服器的網絡連接信息以及傳感器的輸入值。嵌入式Web伺服器的網絡連接信息不僅包括當前IP位址,網關等基本網絡信息,還包含了當前用戶連接數,用戶的Web請求等。管理者可以根據這些基本的信息來判斷當前Web伺服器的工作狀態,以及系統錯誤的檢查。

LCD顯示內容的總體布局如下圖所示:

4.傳感器模塊及LED控制模塊

傳感器主要用於測量當前系統所處環境的各種參數,比如溫度,溼度等。測量的數據一方面送到LCD顯示;另一方面送到Web伺服器的事物邏輯控制中心以響應用戶的Web請求。而LED控制部分則接受來自Web伺服器的控制信號以控制LED燈的亮或滅。

5.測試

1. 當上電或用戶復位後所有PIC32 位單片機配置自動設置好,並正常工作;

2. 網絡連接通過板卡上的Ethernet 接口實現,相關的IP位址,子網掩碼(Subnet mask),網關(Gateway)等網絡配置能夠通過DHCP(Dynamic Host Configuration Protocol)自動實現;

3. 相關外設(溫溼度傳感器及LED)正常工作。


相關焦點

  • 基於Android的嵌入式Web伺服器設計
    本文主要論述了基於Android系統環境,在家庭網關中實現嵌入式Web伺服器的設計方法,介紹了i-jetty嵌入式Web伺服器,及其Web應用功能的實現。關鍵詞:Android;嵌入式Web伺服器;i-jetty;SQLite 只要在嵌入式設備中集成了Web伺服器,就能實現用戶與嵌入式設備低成本、高通用性的信息交流,即客戶端利用HTTP瀏覽器,在任何時間、任何地點都能實現與嵌入式設備的信息交互。可以說,嵌入式Web的應用極大地促進嵌入式設備,特別是家電設備、通信終端、儀器儀表的信息交互和遠程控制功能。
  • 基於嵌入式Web網頁控制的遠程監控模塊
    在ZLSN2000之後,上海卓嵐科技依託其自身的ZLWeb嵌入式Web伺服器技術,推出了專門針對嵌入式網頁控制的模塊——ZLSN2030.基於Web的(也就是B/S架構的)物聯網監控方案,比基於客戶端(也就是C/S的架構)要優越,這是因為監控用戶端無需安裝專用的軟體
  • 深入研究嵌入式web伺服器視頻監控的應用
    據分析,嵌入式Internet系統在Internet電話、遊戲裝置和手持式通信裝置的推動下將會有突飛猛進的發展。由於Internet技術的滲透,嵌入式系統正變得越來越智能化並具有越來越多的網絡友好特性;又由於Web技術的飛速發展,給嵌入式系統帶入Internet提供了絕佳的途徑。嵌入式web技術是視頻監控系統設計應用最廣泛的技術之一。
  • 一種嵌入式Web伺服器的設計方案
    本文主要介紹了嵌入式Web伺服器設計方案,以及實現和主要應用。1.引言嵌入式Web伺服器(Embedded Web Server,EWS)是指將Web伺服器嵌入到現場測試和控制設備中,在相應的硬體平臺和軟體系統的支持下,使傳統的測試和控制設備轉變為具備了以TCP/IP為底層通信協議,Web技術為核心的基於網際網路的網絡測試和控制設備。
  • 嵌入式WEB伺服器中TCP/IP協議棧的設計與實現
    而嵌入式Web伺服器將Web伺服器引入到現場測試和控制設備中,在相應的硬體平臺和軟體系統的支持下,使傳統的測試和控制設備轉變為具備了以TCP/IP為底層通信協議,Web技術為核心的基於網際網路的網絡測試和控制設備,有著一般Web伺服器所不具有優勢。本文就嵌入式Web伺服器在通信協議的選擇方面做了具體的研究。
  • 嵌入式Web伺服器GoAhead在電力系統通信中應用
    嵌入式Web伺服器作為工業乙太網交換機的控制管理核心,具有重大的研究意義和應用前景,它為管理、控制和監測設備提供了一個很好的途徑。常見的WebServer有:GoAhead,Boa,Lighttpd,Shttpd,Th ttpd,Mathopd,Minihttpd,Appweb。本軟體系統採用GoAhead作為工業乙太網交換機的嵌入式Web伺服器。
  • 嵌入式Web伺服器技術及其在電力系統中的應用綜述
    更重要的是這些協議是開放、標準和獨立於系統平臺的,利用現有的網絡硬體基礎,就可以很方便地建立基於TCP/IP網絡協議的Internet/Intranet網絡系統。Web技術允許任意地點的用戶通過Web瀏覽器接入網絡,訪問Web伺服器發布的各類信息,實現世界範圍內的互聯[1]。
  • 基於物聯網的水產養殖監控系統
    本系統應用嵌入式技術、4G通信模塊、伺服器後臺處理和物聯網技術進行對水中溶解氧含量和溫度的實時監控。本系統的關鍵技術是通過終端實現數據的採集、傳輸、存儲和發布,並實現實時遠程網頁監控、手機遠程控制設備啟停等功能。該監控系統可以廣泛應用於水產養殖業,還可拓展更多傳感器應用於現代農業生產。
  • 嵌入式Web伺服器暴露企業機密
    聯網的掃描儀、印表機、VoIP系統等設備使用的嵌入式伺服器都有可能暴露企業機密。
  • 基於嵌入式Web的遠程可控電源插座設計
    摘要:為了實現對電器的遠程控制,運用嵌入式Web技術,設計了一個可通過網際網路進行遠程訪問和控制的電源插座系統。該系統採用開源Boa作為嵌入式Web伺服器,選用光電耦合器與可控矽設計控制模塊電路。
  • web伺服器性能對比
    event:基於異步I/O模型,一個進程或線程,每個進程或線程響應多個用戶請求,它是基於事件驅動(也就是epoll機制)實現的。1、prefork的工作原理如果不用「–with-mpm」顯式指定某種MPM,prefork就是Unix平臺上預設的MPM。它所採用的預派生子進程方式也是 Apache1.3中採用的模式。
  • 基於USS協議變頻器Web控制方法的設計方案
    伺服器裡有相應的程序來接收和發送USS報文,實現對西門子變頻器的控制。本文引用地址:http://www.eepw.com.cn/article/149814.htm基於TCP/IP協議的乙太網已成為工業標準,隨著乙太網的發展,以及嵌入式Web伺服器發展為網絡中的越來越小的網絡節點,為嵌人式web在工業中的應用提供了機會。
  • 基於雲端人工智慧晶片BM1682的算豐智能伺服器SA3、嵌入式AI迷你機...
    01產品介紹為進一步深化AI戰略部署,今年10月17日,比特大陸正式對外發布了多款重磅AI晶片及計算產品,以推動AI技術應用從雲端向終端擴展,而本次a&s 將要帶來的就是比特大陸此次發布的兩款重量級產品:基於雲端人工智慧晶片BM1682的算豐智能伺服器SA3、嵌入式AI迷你機SE3。
  • 串口轉乙太網實現了TCP/IP的嵌入式協議轉換
    打開APP 串口轉乙太網實現了TCP/IP的嵌入式協議轉換 zstel 發表於 2020-12-02 12:17:36 串口轉乙太網模塊是嵌入式設備、單片機和物聯網採集系統基於TCP/IP協議接入網絡的一種方便、穩定的解決方案。
  • 應用伺服器是什麼_應用伺服器有哪些
    動態   動態:動態web文檔不是以一個預先定義的格式存在,而是在瀏覽器訪問web伺服器時創建。當一個請求到達時,web伺服器運行一個應用程式創建動態文檔(dynamic documents),伺服器返回程序的輸出作為應答。由於每次訪問都要創建新的文檔,動態文檔的內容是變化的。
  • WindowServer2003伺服器搭建WEB伺服器
    首先選擇伺服器硬體品牌和伺服器作業系統,一、下面首先介紹一下伺服器作業系統。 WindowsServer2003是微軟於2003年4月底上市發行的伺服器作業系統,分為幾個不同的版本,具有不同的功能和用途。
  • 通付盾Web爬蟲防火牆與中科曙光伺服器成功完成國產化適配
    近年來Web應用業務日益增多,尤其是越來越多的業務進行線上遷徙(包括API驅動的移動網際網路應用和物聯網應用),面向公眾的業務已經從低緯、低頻、低可信變為高緯、高頻、高可信的「數據」,數據反爬、數據防洩露、數據保護成了業務運營方日趨重視並亟待解決的問題。
  • 基於MySQL資料庫應用開發實現嵌入式數控系統的設計
    基於MySQL資料庫應用開發實現嵌入式數控系統的設計 鄔依林 , 黃瑛 發表於 2020-12-02 10:07:37 1 引言 本文所論述是數控系統大課題中人機互動的外圍部分子課題中的資料庫開發應用
  • Goahead 3.1.0 發布,嵌入式 Web 伺服器
    GoAhead WebServer 採用開放原始碼方式,任何人都可以下載、評估並修改代碼,目的是為了使GoAhead WebServer成為市場上最領先的嵌入式Web伺服器。重要特性:        支持虛擬伺服器        可使用SNMP代理        支持SSL v3        具有搜尋引擎        支持ASP、JavaScript、CGI、DHTML        容易移植和系統集成        可不使用文件系統
  • Qt嵌入式企業版提升物聯網設備開發效率
    日前,中國QT開發者大會在北京召開,在此期間DIGIA正式發布了新的Qt嵌入式企業版。該版本提供了一個完全整合的解決方案,它能夠使用戶將嵌入式設備的創建和用戶體驗的定製結合起來,用於適應物聯網連接設備的發展趨勢。