第1步:零件
一個Arduino
一個Arduino以太網(wǎng)屏蔽板
一個面包板
一個LED
連接線
一條以太網(wǎng)電纜
步驟2:初始硬件設(shè)置
如果您具有較新的Arduino以太網(wǎng)屏蔽板,它將在其背面寫有Mac地址。
在將屏蔽板連接到Arduino板之前請分別寫下該地址。
要設(shè)置,只需將屏蔽層的插頭插入Arduino。
使用以太網(wǎng)電纜將Arduino以太網(wǎng)屏蔽層連接到Networ通過路由器k。
請注意,以太網(wǎng)屏蔽層連接到引腳10、11、12、13,因此不能使用。
將LED的正極連接到面包板上,然后依次連接到引腳8和
步驟3:獲取基本信息(MAC地址,IP地址,端口號)
如果您具有較新的Shields之一,則應在背面寫上Mac地址。
IP地址將取決于您的本地網(wǎng)絡,并且可以使用Comamnd Promt來查找。
打開命令提示符并輸入“ ipconfig”
然后它會顯示您的IP地址,默認網(wǎng)關(guān)和子網(wǎng)掩碼
您還將需要使用的端口。端口80是HTTP的默認端口,但由于我的互聯(lián)網(wǎng)提供商阻止了它,最終我使用了端口8081。
步驟4:
/*
Web服務器
簡單的Web服務器
電路:
*以太網(wǎng)屏蔽連接到引腳10、11、12、13
*/
//------------------------------------------------- -------------------------------------------------- ----
#include
#include
//在下面輸入控制器的MAC地址和IP地址。
byte mac [] = { 0x90、0xA2、0xDA,0x0D,0x48、0xD3};
//IP地址將取決于您的本地網(wǎng)絡:
//為控制器分配IP地址:
IPAddress ip(192,168, 1,20);
IPAddress網(wǎng)關(guān)(192,168,1,1);
IPAddress子網(wǎng)(255、255、255、0);
//用要使用的端口初始化以太網(wǎng)服務器庫。
EthernetServer服務器(8081);
字符串readString;
//------------------------------- -------------------------------------------------- ------------------------結(jié)果//--------------------- ----------------------------
//聲明的任何其他代碼:
//將引腳8聲明為LED因為那就是我們要連接LED的方式。您可以使用任何其他引腳,然后必須更改引腳號。
int led = 8;
//- -----------------------------------------------結(jié)果//------------------------------------------------ -------------------------------------------------- -----
void setup()
{
//----------------------------- --------------------
//額外設(shè)置代碼:
pinMode(led,OUTPUT);//選擇要控制的引腳
//--------------------------------------- ----------結(jié)果//----------------------------------- -------------------------------------------------- ------------------
//啟用串行數(shù)據(jù)打印
Serial.begin(9600);
//啟動Ethernet
Ethernet.begin (mac,ip,網(wǎng)關(guān),子網(wǎng));
server.begin();
Serial.print(“服務器位于”);
Serial.println(Ethernet.localIP());
Serial.println(“ LED控制器測試1.0”);
}
//----------------------------- -------------------------------------------------- ------------------------結(jié)果//--------------------- -------------------------------------------------- --------------------------------
void loop()
{
//聽傳入客戶端
EthernetClient客戶端= server.available();
如果(客戶端)
{
Serial.println(“新客戶端”);
而(client.connected())
{
if(client.available())
{
char c = client.read();
//通過char HTTP請求讀取char
if(readString.length( )《100)
{
//將字符存儲到字符串
readString + = c;
//Serial.print(c);
Serial.write(c);
//如果您已到達該行的末尾(收到換行符
//字符)并且該行為空白,則表明http請求已結(jié)束,
//因此您可以發(fā)送回復
//如果HTTP請求已結(jié)束
if(c ==‘ n’){
Serial.println(readString);//打印到串行監(jiān)視器以進行調(diào)試
//------------------------------------- -------------------------------------------------- -----------------
//需要顯示站點:
client.println(“ HTTP/1.1 200 OK”);//發(fā)送新頁面
client.println(“ Content-Type:text/html”);
client.println();
client.println(“”);
客戶端.println( “”);//搜索----------------------------------- -------------------------------------------------- -------------------結(jié)果//-------------------------- -----------------------
//顯示的內(nèi)容:
client.println(““);
client.println(”
“);
client.println(” “);
client.println(”
“);
client.println(“
家庭自動化
”);
client.println(“
”);
client.println(“
”);
client.println(“ 打開燈光”);
client.println(“
”);
客戶端。 println(“
”);
client.println(“ 關(guān)閉燈光
”);
客戶端.println(“ ”);
client.println(“ ”);
delay(1);
//停止client
client.stop();
//--------------------------------------------- ----
//需要的代碼可以實現(xiàn):
if(readString.indexOf(“?lighton”)》 0)//檢查on
{
digitalWrite(8,HIGH);//將引腳8設(shè)置為高電平
Serial.println(“ Led On”);
}
else {
if(readString.indexOf(“?lightoff”)》 0)//檢查是否關(guān)閉
{
digitalWrite(8,LOW);//將引腳8設(shè)置為低
Serial.println(“ Led Off”);
}
}
//清除下一個讀取的字符串
readString =“”;
//給Web瀏覽器時間來接收數(shù)據(jù)
delay(1);
//關(guān)閉連接:
client.stop();
Serial.println(“ client unonnected”);
}
}
}
}
}
}
責任編輯:wv
-
控制器
+關(guān)注
關(guān)注
114文章
17113瀏覽量
184313 -
Arduino
+關(guān)注
關(guān)注
190文章
6498瀏覽量
192182
發(fā)布評論請先 登錄
ENC28J60數(shù)據(jù)手冊中文版(帶 SPI 接口的獨立 以太網(wǎng)控制器)
Microchip LAN9211-ABZJ 集成 10/100 以太網(wǎng) PHY的以太網(wǎng)控制器

智多晶工業(yè)以太網(wǎng)從站控制器DEMO介紹


汽車以太網(wǎng)的演化進程

AN4754-將Microchip橋接控制器與外部以太網(wǎng)PHY搭配使用

恩智浦半導體推出S32J系列以太網(wǎng)交換機和網(wǎng)絡控制器
以太網(wǎng)幀結(jié)構(gòu)是怎樣的
使用C2000 EtherCAT從站控制器的SMI進行以太網(wǎng)PHY配置

利用TSN以太網(wǎng)特性改善工業(yè)以太網(wǎng)控制器的時序

以太網(wǎng)端口的類型和特性
MSP432E401Y Simplelink? 以太網(wǎng)微控制器數(shù)據(jù)表

MSP432E401Y Simplelink? 以太網(wǎng)微控制器數(shù)據(jù)表

評論