Procedure

Arduinoのイーサネットシールド2を使ってみる

Procedure
この記事は約3分で読めます。
スポンサーリンク

ArduinoUno等のArduino系マイコンにつけることができるイーサネットシールド2を使う機会がありました

導入中にいろいろと迷ったところがあるので、導入から動作させるところの一連の手順をかいておきます

ライブラリのインポート

イーサネットシールド2にはEthernet2.hというライブラリが必要です

そのため下記のリポジトリをダウンロードし、解答後Libraryファイルに置きます

これでライブラリのインポートは完了です

GitHub - adafruit/Ethernet2: WIZ5500 based Ethernet Shield library
WIZ5500 based Ethernet Shield library. Contribute to adafruit/Ethernet2 development by creating an account on GitHub.

デフォルトにEthernet.hというライブラリがありますが、このライブラリは動作しません

(Ethernet2.hというライブラリを知らずEhernet.hでやっており、”動かないじゃん!”を30分間してました・・・)

プログラム

ライブラリが正しく導入できたかみるために、GoogleのHTMLを読み込むプログラムを記載しておきます

byte mac[]にてイーサネットシールド2シールドの裏にあるシールの番号を入力してください
char server[]は今回アクセスするサーバー(今回はGoolge)です
プログラムの一連の流れは、
  1. ルーターへ接続
  2. プライベートIPの取得と表示
  3. Googleへ接続
  4. GoogleのHTMLを表示

という流れになっています

#include <SPI.h>
#include <Ethernet2.h>

//MacAddres
byte mac[] = {0x90, 0xA2, 0xDA, 0xFF, 0x55, 0xBF };

//ConnectServer
char server[] = "www.google.com";


EthernetClient client;

void setup() {
  Serial.begin(115200);

  Serial.println("Connectiong...");

  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    for(;;)
      ;
  }

  Serial.println("Connected IP!!");
  Serial.print("IP = ");
  Serial.println(Ethernet.localIP());

  delay(500);

  if (client.connect(server, 80)) {
    client.println("GET /search?q=arduino HTTP/1.1");
    client.println("Host: www.google.com");
    client.println("Connection: close");
    client.println();

  }

  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

}

void loop() {
}

 

コメント

タイトルとURLをコピーしました