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)です
プログラムの一連の流れは、
- ルーターへ接続
- プライベートIPの取得と表示
- Googleへ接続
- 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() { }
コメント