1. 程式人生 > >用微控制器實現HTTP網頁伺服器功能(詳細教程)

用微控制器實現HTTP網頁伺服器功能(詳細教程)

在閱讀本教程時,假設你已經

1、能夠用微控制器驅動網路模組(如W5100、ENC28J60),實現最基本的socket連線和資料收發。如果你沒有驅動程式碼,請在百度中搜索下載。
2、瞭解TCP/IP協議。如果不瞭解,請檢視謝希仁《計算機網路(第五版)》或其他相關書籍。
3、會用html語言編寫(簡單或複雜)網頁。如果不會編寫,請點選->  http://www.w3school.com.cn 

一、通過瀏覽器向單片機發送請求

我們在瀏覽器位址列輸入地址並確定,實際上就是傳送一個網頁請求,現在,我們把微控制器作為網頁的伺服器,那麼如何接收並響應這個請求呢?

首先,將網路模組的某個socket設定為sever模式,並將此socket的埠設定為80(HTTP預設埠)。如果不想把埠設定為80行不行呢?當然可以,但是需要注意:
假設socket的地址為192.168.1.199,埠號80,在瀏覽器輸入HTTP://192.168.1.199後,就可以直接向此socket發起連線,因為HTTP的預設埠會自動加到IP後面。
若此socket的埠為30000,那麼輸入地址的時候,就需要手動輸入埠號,即:HTTP://192.168.1.199:30000。如果懶得輸埠號,那就直接將埠設定為80吧。

二、瀏覽器請求解析


下面進行下一個準備工作:將網路模組 socket接收到的資料通過串列埠轉發出來,並用串列埠助手觀察。