Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Connection 笔记本电脑和arduino之间通过以太网直接连接_Connection_Arduino_Ethernet - Fatal编程技术网

Connection 笔记本电脑和arduino之间通过以太网直接连接

Connection 笔记本电脑和arduino之间通过以太网直接连接,connection,arduino,ethernet,Connection,Arduino,Ethernet,我用Arduino和以太网屏蔽做了一个项目。Arduino正在托管一个网站,我可以通过笔记本电脑上的浏览器打开它。Arduino通过以太网连接到路由器。所有这些都很好 现在我必须在学校介绍这个项目。为了避免令人不快的意外,我想通过以太网将Arduino与笔记本电脑直接连接。我的问题是,我对这个话题真的不是很了解。如果可能,请告诉我该怎么做。如果您将路由器从环路中取出,您需要: 为笔记本电脑的以太网连接分配一个手动IP地址,比如192.168.0.1 子网掩码255.255.255.0 为Ardu

我用Arduino和以太网屏蔽做了一个项目。Arduino正在托管一个网站,我可以通过笔记本电脑上的浏览器打开它。Arduino通过以太网连接到路由器。所有这些都很好


现在我必须在学校介绍这个项目。为了避免令人不快的意外,我想通过以太网将Arduino与笔记本电脑直接连接。我的问题是,我对这个话题真的不是很了解。如果可能,请告诉我该怎么做。

如果您将路由器从环路中取出,您需要:

为笔记本电脑的以太网连接分配一个手动IP地址,比如192.168.0.1

子网掩码255.255.255.0

为Arduino的以太网分配一个手动IP地址,比如192.168.0.2

子网掩码255.255.255.0

默认网关为空

使用交叉电缆将两者连接起来(标准接插线不起作用)

然后,您应该能够在
http://192.168.0.2
从笔记本电脑上下载

要看起来聪明:)编辑笔记本电脑上的主机表(C:\windows\system32\drivers\etc\hosts for windows)(/etc/hosts for linux) 并输入:

192.168.0.2我的arduino

然后您可以使用


祝您好运

您必须为笔记本电脑和Arduino分配手动IP地址。 然后在草图中加入Ethernet.h,并尝试进行以太网连接。最后,通过在浏览器中输入Arduino的IP,您可以在笔记本电脑中查看您的网页。例如:

#include <SPI.h> 
#include <Ethernet.h>
/******************** ETHERNET SETTINGS ********************/
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x85, 0xD9 };   //physical mac address
byte ip[] = { 192, 168, 1, 172 };                   // ip in lan
byte subnet[] = { 255, 255, 255, 0 };              //subnet mask
byte gateway[] = { 192, 168, 1, 254 };              // default gateway
EthernetServer server(80);                       //server port
void setup()
{
Ethernet.begin(mac,ip,gateway,subnet);     // initialize Ethernet device
server.begin();                                // start to listen for clients
pinMode(8, INPUT);                            // input pin for switch
}
void loop()
{
EthernetClient client = server.available();    // look for the client
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connnection: close");
client.println();
/* 
This portion is the webpage which will be
sent to client web browser one can use html , javascript
and another web markup language to make particular layout 
*/
client.println("<!DOCTYPE html>");      //web page is made using html
client.println("<html>");
client.println("<head>");
client.println("<title>Ethernet Tutorial</title>");
client.println("<meta http-equiv=\"refresh\" content=\"1\">");
/*
The above line is used to refresh the page in every 1 second
This will be sent to the browser as the following HTML code:
<meta http-equiv="refresh" content="1">
content = 1 sec i.e assign time for refresh 
*/
client.println("</head>");
client.println("<body>");
client.println("<h1>A Webserver Tutorial </h1>");
client.println("<h2>Observing State Of Switch</h2>");
client.print("<h2>Switch is:  </2>");
if (digitalRead(8))
{
client.println("<h3>ON</h3>");
}
else
{
client.println("<h3>OFF</h3>");
}
client.println("</body>");
client.println("</html>");
delay(1);         // giving time to receive the data
/*
The following line is important because it will stop the client
and look for the new connection in the next iteration i.e
EthernetClient client = server.available();
*/
client.stop();
}
#包括
#包括
/********************以太网设置********************/
字节mac[]={0x90,0xA2,0xDA,0x0D,0x85,0xD9}//物理mac地址
字节ip[]={192,168,1,172};//局域网中的ip
字节子网[]={255,255,255,0}//子网掩码
字节网关[]={192,168,1,254};//默认网关
以太网络服务器(80)//服务器端口
无效设置()
{
开始(mac、ip、网关、子网);//初始化以太网设备
server.begin();//开始侦听客户端
引脚模式(8,输入);//开关的输入引脚
}
void循环()
{
EthernetClient=server.available();//查找客户端
//发送标准http响应头
client.println(“HTTP/1.1200ok”);
client.println(“内容类型:text/html”);
client.println(“连接:关闭”);
client.println();
/* 
这部分是将要发布的网页
发送到客户端的web浏览器可以使用html、javascript
和另一种web标记语言来进行特定的布局
*/
client.println(“”;//网页是使用html制作的
客户。println(“”);
客户。println(“”);
println(“以太网教程”);
客户。println(“”);
/*
上一行用于每1秒刷新一次页面
这将作为以下HTML代码发送到浏览器:
内容=1秒,即分配刷新时间
*/
客户。println(“”);
客户。println(“”);
println(“Web服务器教程”);
client.println(“观察开关状态”);
client.print(“开关为:”);
如果(数字读取(8))
{
客户。println(“ON”);
}
其他的
{
客户。println(“OFF”);
}
客户。println(“”);
客户。println(“”);
延迟(1);//给出接收数据的时间
/*
以下行很重要,因为它将停止客户端
并在下一次迭代中寻找新的连接,即
EthernetClient=server.available();
*/
client.stop();
}

在做演示之前,你能在学校测试一下Arduino的无线连接吗?对不起,我打错了。Arduino没有无线连接。对不起!谢谢你的详细回答和小提示;P我会试试看!你好。我试过了,但还是没能成功。但我找到了解决问题的办法。我在家里找到了一个备用路由器,我会随身携带。但我知道你的答案是正确的,只是对我来说不够详细。不管怎样,对于这个巧妙的小把戏,我把它标记为已解决;)