2014-01-08 23 views
5

私はArduinoとイーサネットシールドを使ってプロジェクトを作った。 Arduinoは私のラップトップのブラウザから開くことができるウェブサイトをホストしています。 Arduinoはイーサネット経由でルータに接続されています。これらはすべてうまくいきます。ノートパソコンとarduinoとの直接接続(イーサネット経由)

今、私はこのプロジェクトを学校に提出しなければなりません。不愉快な驚きを防ぐために、私はArduinoをイーサネット経由でラップトップに直接接続したいと思っていました。私の問題は、私が本当にこの話題についてよく知らないということです。可能であれば、私が何をすべきか教えてください。

+0

プレゼンテーションを行う前に、学校でArduinoのワイヤレス接続をテストできますか? – sager89

+0

私は誤字がありました。 Arduinoはワイヤレス接続されていません。そのために残念! –

答えて

8

あなたは蚊帳の外にルータを取る場合は、する必要があります:ラップトップのイーサネット接続に手動でIPアドレスを割り当て

192.168.0.1

サブネットマスク255.255.255.0

割り当て言いますアルドゥイーノのイーサネットへの手動IPアドレスが192.168.0.2

サブネットマスク255.255.255.0

デフォルトガット言いますeWayあなたは、その後のラップトップからhttp://192.168.0.2であなたのArduinoのサイトのアップを取得することができるはず

(標準パッチリードが動作しません)

2をリンクするクロスオーバーケーブルを使用してくださいを空にします。スマート見えるように

:)あなたのホストテーブルにはノートパソコンで編集します(C:\ WINDOWS \ SYSTEM32 \ DRIVERS \ Windows用など\ホスト)(Linux用の/ etc/hosts) と入力します

192.168.0.2 my.arduino

次に、あなたはあなたがラップトップとアルドゥイーノに手動IPアドレスを割り当てる必要がありますhttp://my.arduino

幸運

+0

あなたの素敵できめ細かな答えと小さなヒントをありがとう、P私はそれを試してみましょう! –

+0

こんにちは。私は試みましたが、私はまだそれを動作させることができませんでした。しかし私は私の問題に対する解決策を見つけました。私は自宅で予備のルータを見つけて、それを私と一緒に持っていきます。しかし、私はあなたの答えが正しいことを知っています、ちょうどそれは私のために十分詳細ではありませんでした。とにかくきちんとした小さなトリックのために私はそれを解決済みとマークした;) –

0

とそれにアクセスすることができます。 次に、スケッチにEthernet.hを含め、イーサネット接続を試みてください。最後に、ブラウザにArduinoのIPアドレスを入力して、ラップトップでWebページを表示できます。例:

#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(); 
}