摸索數天後記錄一些使用心得
這個專案主要功能為:
- Web Server 網頁伺服器
- Client傳送From參數後轉發(POST)到另一台SERVER,並回傳文字或控制DI/DO
基本設置
1
2
3
4
5
6
7
8
9
|
#include <EtherCard.h> static byte mac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 }; static byte ip[] = { 192,168,1,200 }; static byte gw[] = { 192,168,1,1 }; static byte dns[] = { 192,168,1,1 }; static byte server[] = { 192,168,1,100 }; byte Ethernet::buffer[800]; BufferFiller bfill; |
1
|
char msg_str[20]; |
ip 此張網卡的IP,也是Arduino的IP
gw gateway閘道器,如要傳送到不同網段需要透過這台
dns 網域名稱伺服器,解析網址用的(專案沒用到)
server 認證伺服器的IP,如果是用Domain要用另個方法
Ethernet::buffer[800]
給EtherCard用的緩衝區,儲存 內送/外寄 的封包,因為收發共用,如果同時要收發就要小心;800是緩衝區大小,太大Arduino記憶體會爆炸,就會出現很多奇怪的問題(淚,太小Web Server的HTML會送不出去(所以HTML不能太複雜)。
bfill 用來準備送HTML的緩衝區,其實有其他方法可以用,但是這個我覺得最簡單。
msg_str 存稍後Server回送的訊息用。
................