<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> STM32 >> 瀏覽文章

        Web服務器:一個綜合的web應用

        作者:白櫟旸   來源:本站原創   點擊數:  更新時間:2014年05月06日   【字體:
            前文我們介紹了一個簡單的web應用:通過web顯示當前的溫度和濕度,程序非常簡單。本文介紹的這個web應用則相對要綜合一些,這個應用的功能如下:
         
            1、可以讀取當前溫濕度
            2、可以通過web控制繼電器實現遠程控制開關的功能
            3、能夠設置網絡參數,并將網絡參數保存到EEPROM
            4、通過web對Rainbow進行軟件復位
            5、使用了獨立看門狗,確保應用永遠不會“死掉”
         
            在軟件包的“Projects\Web-Complex”文件夾包含了本文的完整工程,可以直接編譯、燒寫和調試。由于程序量相對之前介紹的應用要多一些,所以就不一一介紹了,這個應用實際上是綜合了之前介紹的各個功能模塊基礎上形成的,程序其實也比較淺顯易懂,程序量(不含注釋)大約200行左右,請大家自己分析。
         
            程序編譯無誤后,下載到Rainbow中,然后準備一張TF卡,用讀卡器將Projects\Web-Complex\www這個文件夾拷貝到TF卡的根目錄中,將TF卡插入Rainbow卡座中;如果需要接上繼電器,需要將PA0、PA1和繼電器控制端口進行連接,將PA0對應的繼電器接到插座上、PA1對應的繼電器和燈泡相連,如果繼電器使用的輸入控制電壓是5V,請注意需要從5V接口取電,準備完畢后按下復位鍵,然后打開瀏覽器,在瀏覽器的地址欄輸入:http://192.168.1.15,我們將看到下列的界面:
            頁面首先顯示的是當前的溫度和濕度,點擊“刷新”按鈕可以采集最新的溫濕度;頁面頂部是功能區,可以在幾個功能之間進行切換。點擊“開關控制”,將進入下列界面:

            我們可以點擊相應的按鈕進行開關燈和開關插座,如圖所示,此時LED1亮了,如果此時和PA0連接有繼電器和插座,那么插座將會通電。點擊“網絡設置”,將進入下列界面:

            在這個界面中,我們可以選擇使用自動獲取網絡配置或者手動指定網絡參數,輸入相應信息后點“保存配置”按鈕后,信息將會保存到EEPROM。
         
            如果點擊“重啟系統”,MCU將會復位。
         
            在這個應用中,為了保證系統永遠不會死機,我們采用了獨立看門狗,使用看門狗非常簡單,我們看看程序片段:
        int main()
        {
          setup();
         
          //開啟看門狗,10秒之內必須喂狗
          IWDG_Configuration(10000);
          while(1) 
          {
            server.processConnection();
            //喂狗,防止復位
            IWDG_ReloadCounter();
            if(reboot) softReset();
          }
        }
         
            程序首先調用IWDG_Configuration(10000);設置喂狗時間,這里設置的是10s,也就是說10秒之內如果沒有喂狗的話,MCU將會自動復位;然后在每個循環調用IWDG_ReloadCounter()來進行喂狗。程序正常運行期間每次都能保證在10s之內喂狗,如果出現故障,無法在10s之內喂狗,MCU將會自動復位。

         

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮