第1步:零件
一个arduino
一个arduino以太网屏蔽板
一个面包板
一个led
连接线
一条以太网电缆
步骤2:初始硬件设置
如果您具有较新的arduino以太网屏蔽板,它将在其背面写有mac地址。
在将屏蔽板连接到arduino板之前请分别写下该地址。
要设置,只需将屏蔽层的插头插入arduino。
使用以太网电缆将arduino以太网屏蔽层连接到networ通过路由器k。
请注意,以太网屏蔽层连接到引脚10、11、12、13,因此不能使用。
将led的正极连接到面包板上,然后依次连接到引脚8和
步骤3:获取基本信息(mac地址,ip地址,端口号)
如果您具有较新的shields之一,则应在背面写上mac地址。
ip地址将取决于您的本地网络,并且可以使用comamnd promt来查找。
打开命令提示符并输入“ ipconfig”
然后它会显示您的ip地址,默认网关和子网掩码
您还将需要使用的端口。端口80是http的默认端口,但由于我的互联网提供商阻止了它,最终我使用了端口8081。
步骤4:
/*
web服务器
简单的web服务器
电路:
*以太网屏蔽连接到引脚10、11、12、13
*/
//------------------------------------------------- -------------------------------------------------- ----
#include
#include
//在下面输入控制器的mac地址和ip地址。
byte mac [] = { 0x90、0xa2、0xda,0x0d,0x48、0xd3};
//ip地址将取决于您的本地网络:
//为控制器分配ip地址:
ipaddress ip(192,168, 1,20);
ipaddress网关(192,168,1,1);
ipaddress子网(255、255、255、0);
//用要使用的端口初始化以太网服务器库。
ethernetserver服务器(8081);
字符串readstring;
//------------------------------- -------------------------------------------------- ------------------------结果//--------------------- ----------------------------
//声明的任何其他代码:
//将引脚8声明为led因为那就是我们要连接led的方式。您可以使用任何其他引脚,然后必须更改引脚号。
int led = 8;
//- -----------------------------------------------结果//------------------------------------------------ -------------------------------------------------- -----
void setup()
{
//----------------------------- --------------------
//额外设置代码:
pinmode(led,output);//选择要控制的引脚
//--------------------------------------- ----------结果//----------------------------------- -------------------------------------------------- ------------------
//启用串行数据打印
serial.begin(9600);
//启动ethernet
ethernet.begin (mac,ip,网关,子网);
server.begin();
serial.print(“服务器位于”);
serial.println(ethernet.localip());
serial.println(“ led控制器测试1.0”);
}
//----------------------------- -------------------------------------------------- ------------------------结果//--------------------- -------------------------------------------------- --------------------------------
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请求已结束,
//因此您可以发送回复
//如果http请求已结束
if(c ==‘ n’){
serial.println(readstring);//打印到串行监视器以进行调试
//------------------------------------- -------------------------------------------------- -----------------
//需要显示站点:
client.println(“ http/1.1 200 ok”);//发送新页面
client.println(“ content-type:text/html”);
client.println();
client.println(“”);
客户端.println( “”);//搜索----------------------------------- -------------------------------------------------- -------------------结果//-------------------------- -----------------------
//显示的内容:
client.println(““);
client.println(”
“);
client.println(” “);
client.println(”
“);
client.println(“
家庭自动化
”);
client.println(“
”);
client.println(“
”);
client.println(“ 打开灯光”);
client.println(“
”);
客户端。 println(“
”);
client.println(“ 关闭灯光
”);
客户端.println(“ ”);
client.println(“ ”);
delay(1);
//停止client
client.stop();
//--------------------------------------------- ----
//需要的代码可以实现:
if(readstring.indexof(“?lighton”)》 0)//检查on
{
digitalwrite(8,high);//将引脚8设置为高电平
serial.println(“ led on”);
}
else {
if(readstring.indexof(“?lightoff”)》 0)//检查是否关闭
{
digitalwrite(8,low);//将引脚8设置为低
serial.println(“ led off”);
}
}
//清除下一个读取的字符串
readstring =“”;
//给web浏览器时间来接收数据
delay(1);
//关闭连接:
client.stop();
serial.println(“ client unonnected”);
}
}
}
}
}
}
选择导电滑环时必须有哪些层面的留意
造一辆我们自己的电动车 要面临多少困难?
豪华性能SUV代名词,保时捷Cayenne S上手体验评测
英特尔以创新推动生态协作 持续助力云游戏产业发展
如何使用树莓派作为服务器
Arduino以太网控制器的制作
美国5G上落后于中国的原因只因在频谱使用上押错了宝
华为打起了小米智能家居生态链的主意
应用于音箱领域中的音频功放IC型号推荐
小米电视“断腿门”质量细节暴露
ContrastVR即将推出VR纪录片可以让观众们获得新的知识
中美国是电商物流的两个重要市场 对配送型机器人研发投入也最大
日本研发新型无钴锂离子电池:能量密度提升60%
华为P10:壮士断臂,只为超越苹果三星!
哈特利振荡器的设计电路案例及运算摘要
MTS传感器在动态辊缝调整装置中的应用解析
物联网真的是拯救英特尔的一大法宝?
瑞典康泰尔,以品质铸就品牌之魂
群创承接7.32%持股,成为光鋐最大的法人股东
手机环境光传感器,泄露用户隐私?