//Logo Image
作者:林能祺(2004-01-02);推薦:徐業良(2004-01-06)

PIC_SERVER網路功能、上網方案、以及網路組態設定

1.     PIC_SERVER功能簡介

PIC_SERVER是一套設計給八位元單晶片用的,僅需16kB程式記憶體的韌體乙太網路驅動程式。有了PIC_SERVER之後,PIC18F系列中40腳以上的單晶片就可以驅動乙太網路控制晶片RTL8019進而與乙太網路(Ethernet)或網際網路(Internet)上遠距的電腦通訊,實現下表中共9項伺服器(server)與網路用戶(client)的功能(此處泛稱主動先開口的就算client,被動答話的就是server)。

1. 9項伺服器(server)與網路用戶(client)的功能

Server

功能

S-1

HTTP server

自定port

遠端client可以用瀏覽器或用VB等軟體自行開發Winsock應用程式向PIC_SERVER索取 HTML等各種靜態或動態檔案並順便傳訊。

S-2

TCP server

自定port

遠端client可以用VB等軟體自行開發Winsock應用程式用TCP協議發送訊息給serverPIC_SERVER被動的接收訊息並回答。

S-3

UDP server

自定port

UDP協議,餘同上。

S-4

UDP server

port 7

PIC_SERVER被動接收並覆誦,echo

Client

功能

C-1

TCP client

自定port

PIC_SERVER可主動用TCP協議發訊給遠端的client,遠端client可用VB等軟體自行開發Winsock應用程式接收並處理此訊息。

C-2

UDP client

自定port

UDP協議,餘同上。

C-3

Time client

自定port

UDP協議向網路報時台查詢標準時間。

C-4

SMTP client

借用TCP client port

SMTP/TCP協議,發E-mail電子郵件。

C-5

DHCP client

port 68

DHCP/UDP協議,上網尋找DHCP伺服器並向其租借動態 IP

UDP協議發訊相當於是寄普通信件,郵局不會告知寄件人是否將信件送達收件人的手中;用TCP協議發訊則相當於是寄雙掛號信件,郵局會告知寄件人是否已將信件送達收件人(若未完成則會有逾時 timeout信號)。UDP可說是發了就不管,TCP則會在時限之內,若沒有回音就不斷嘗試重發,因此,在網路叢林嘈雜的環境中,TCP成功完成傳信任務的機率較高,但效率也較低,耗時較多。要小心的是,成功完成傳信任務並不保證信中的內容無誤!雖然PIC_SERVER有啟動部分檢查碼(checksum)的機制,但若網路環境十分嘈雜,則在收信時仍然偶有錯誤,必要時請在應用程式加裝第二層檢查碼以確保信件內容傳遞無誤(請參閱範例PIC_SERVER_step_9.c中變數chk_sum的應用),或在使用HTTP協議向PIC_SERVER下指令時啟用內建檢查碼的Iron_key編解碼機制以降低失誤機率。

2.     PIC_SERVER上網

乙太網路的實體(physical)通訊媒體很單純,就是那種可搭配RJ45接頭的8芯網路線,但是網際網路上的媒體就多到有電話線、有線電視電纜(Cable)、光纖纜線、2.45.0GHz無線通訊裝置(IEEE 802.11規範)、以及家用電源電力線(IEEE 802.3規範)等各種媒體,以及各式媒體間的轉接裝置,再加上網路服務業者以及網路管理者所提供的IP網址又分為固定的實體IP動態的實體IP固定的虛擬IP以及動態的虛擬IP等四種網址,讓有線無線以至於四處漫遊的網路環境的排列組合更加複雜。各種網路環境的排列組合下的上網方案有很多種,此處根據IP分類討論三種常用的上網方案。

2. IP簡單分類

IP類型分類

範例

設定方式

附註

實體靜態IP

台灣學術網路、固接網路

上網方案A

最單純的上網方式

實體動態IP

Cable光纖通訊、小部份學術網路

上網方案B

若上網需要認證,請與網管或ISP聯絡,PIC請開啟DHCP功能

虛擬浮動/固定IP

透過PPPOE方式上網者,如HinetSeedNetGigaSo-net ADSL

上網方案C

 

測試PIC_SERVER的功能時,僅需測試HTTP server以及UDP Time client等兩項即可,依電路板版本(v_1.0v_2.0)用PIC_SERVER_ap_2_F452_PCB_v_1.HEXPIC_SERVER_ap_2_F452_PCB_v_2.HEX,以及網頁STEP_3.ROM進行測試。

1為上網方案A實體靜態IP網路架設示意圖。如圖所示可以Router/Hub接多部PIC_SERVER,若需終端機監看或即時燒錄程式,則接法與Computer_1相同,若此子網中有其他電腦也要上網,則接法與Ccomputer_2相同。設定PIC_SERVER步驟說明如下。

1. 上網方案A實體靜態IP網路架設示意圖

Computer_1RS232RJ-11的電話線與PIC_SERVER連線,並執行ICP.EXE程式,設定各項參數如下例:

直線圖說文字 3: 近端網路環境設定直線圖說文字 3: 設定本程式所需僅UDP功能,無需TCP功能。直線圖說文字 3: 設為0.0.0.0,停用此功能,結論是本程式僅需要與UDP Time server以及 Gateway等兩台電腦連線就夠了。

2. 上網方案A各項參數設定

(1)   點選“Update Configuration Data”將組態參數下載到Data_EEPROM

(2)   點選“Download”下載程式PIC_SERVER_ap_2_F452_PCB_v_1.HEX PIC_SERVER_ap_2_F452_PCB_v_2.HEX

(3)   點選Download Webpage下載網頁,網頁請先製成附檔名為ROM之檔案。

(4)   點選藍色小電話圖鍵,啟動PCRS232 終端機程式 Hyperterminal,設定通訊速度與格式115200,N,8,1,讓Computer_1成為PIC_SERVER_1的終端機。

(5)   RESET,開始執行步驟3所下載的程式,終端機Computer_1應出現圖3所示。

直線圖說文字 3: 能收到UDP Time server報回的時間 (192.5.41.40是美國海軍天文台),就表示PIC_SERVER的client功能正常了。直線圖說文字 3: 開機時,PIC_SERVER只知道自己的卡號,其它電腦的卡號都是00-00-00-00-00-00。直線圖說文字 3: PIC_SERVER成功的問出Gateway的卡號,Time server在子網路之外,需要Gateway幫忙轉信,所以就改用Gateway的卡號。Data_EE顯示無需其他電腦,不用查詢卡號。

3. 終端機Computer_1應出現圖示

(6)   用子網路外面的電腦,執行瀏覽器程式,請先取消proxy功能,再下指令訪問PIC_1這台HTTP伺服器,鍵入http://140.138.139.41後若連線成功,看到PIC_SERVER的時鐘不斷更新(如圖4),就表示一切正常。若網路環境要求子網路外面的電腦一定要用proxy才能連往PIC_1,就要請網管人員協助。

4. PIC_SERVER時鐘更新畫面

上網方案B實體動態IP網路架設架構與上網方案A相同。設定方式除圖5ICP設定不同外,其餘皆相同。若動態IP位址需通過認證才可上網,則請與網管或ISP(聯絡,PIC請開啟DHCP功能。或者是可以利用NAT網路上網也可,其設定方式請參考下節NAT網路。

直線圖說文字 3: 近端網路環境設定成Dynamic IP

5. 上網方案B各項參數設定

上網方案C中目前PIC_SERVER尚無法透過PPPOE撥接上網,需透過NATIP分享),才可以直接上網,其設定方式,亦請參考下節NAT網路。

3.     NAT網路

由於IP不足或是取得不易,或是想透過同一個IP下使更多電腦上網,則需使用NAT網路的架設方法來架設網路。本例為透過EDIMax  BR-6104 IP分享器(http://www.edimax.com.tw),讓PIC_SERVER透過IP分享器上網。

6為網路架設示意圖,IPGateway等位址設定如圖中範例所示。其中WAN IP為網路上,可被認可為合法之IP,其IP取得如前述IP簡單分類;LAN IPLocal端所設定之公制IP,為192.168.XXX.XXX,其中Local端的IP需為C Class網路,如192.168.2.XXX

6. Nat網路架設示意圖

使用EDIMax BR-6104 IP分享器透過一個IP上網,其設定方式如下:

(1)   Computer_2中,開啟瀏覽器,登入http://192.168.2.1

8. 登入http://192.168.2.1

(2)   進入General SetupWAN設定依照您的WAN網路類型如Static IP Address(固定靜態IP)、Dynamic IP(動態IP)、或是ADSL需以PPPOE的方式上網者來做選擇。本例以ADSL為範例,其餘則詳見分享器的說明書,每一台Router的設定方式皆大同小異。

9. ADSLWAN設定

(3)   輸入您的ADSL帳號、密碼、及名稱,如圖10

10. 輸入ADSL帳號、密碼、及名稱

(4)   設定LAN區網中RouterIP,以方便管理,並選擇是否開啟DHCP功能(如圖11)。若您選擇開啟DHCP功能,則在子網中的Computer_2需開啟自動取得IPPIC_1PIC_2皆需開啟DHCP功能,DHCP功能方能有效,但如此則會對以下的NAT對映的設定混淆,因此不建議開啟DHCP功能,此外不一定每一部的IP分享器皆有DHCP功能,視機型而定。

11. LAN設定

(5)   由於IP只有一個,因此要設定IPPublic Port與子網內Private IPPort互相對映(如圖11)。Port則可由使用者自行定義,如此在子網底下的PIC才可有Server功能,而不只有Client功能。如此即設定完成。

12. NAT設定

4.     無線橋接

採用無線橋接的方式讓PIC_SERVER上網架構如圖13,與圖1上網方案A的架構圖比較,僅是將有線變成無線而已。此例採用PCI GW-AP11X(http://www.planex.com.tw)無線橋接器來作橋接,其架構圖與設定方式敘述如下。

*無線橋接器的SSIDChannel需相同,增加安全性則加密,設定方式請參考AP的手冊

 

13. 無線橋接網路架設示意圖

(1)   登入,此例中需登入密碼0000(如圖14)。

14. 登入密碼

(2)   設定橋接器在LAN的位址,欲方便管理可設IP140.138.138.XXX,若IP不足則設為公制IP如圖15所示。若Router中有DHCP功能,則可開啟自動分配IP功能,並開啟AP中自動取得(DHCP)IP,讓AP自行抓取Router所分配之IPRouter於此的功能為IP分享或是透過PPPOE上網。若無Router,則AP直接連上網也可以,此法適用於固接網路。市面上有售APRouter整合一起的機型,其功能不一定可無線橋接。若欲對AP有進一步認識請參考http://designer.mech.yzu.edu.tw/article/articles/technical.htm,“無線網路技術簡介”一文。

15. 設定IP

(3)   設定頻道與SSID(如圖16),頻道與SSID相同,橋接器間才可溝通。

16. 設定頻道與SSID

(4)   將架構圖中的AP設定成AP模式(如圖17)。

17. 設定AP模式

(5)   將架構圖中的Bridge1設成Workgroup Bridge模式(如圖18),即完成橋接,Bridge2的設定方式相同。

18. 設定AP模式

19PIC_SERVER無線漫遊形式網路架構圖。其中AP_1AP_2Bridge設定方式皆與圖13無線橋接相同,不同在於網路架構。AP_1AP_2的距離很遠或有遮蔽物阻隔,訊號不互相覆蓋,當BridgeAP_1的訊號範圍內跨到AP_2訊號範圍內,則會有0.1~2秒不等的斷訊,依照AP的性能而定。如果採用ADSL架構與CABLE架構,如圖20所示紅色虛線內可當成Internet

19. PIC_SERVER無線漫遊形式網路架構圖

20. ADSL架構與CABLE架構