ArduinoUno等のArduino系マイコンにつけることができるイーサネットシールド2を使う機会がありました
導入中にいろいろと迷ったところがあるので、導入から動作させるところの一連の手順をかいておきます
ライブラリのインポート
イーサネットシールド2にはEthernet2.hというライブラリが必要です
そのため下記のリポジトリをダウンロードし、解答後Libraryファイルに置きます
これでライブラリのインポートは完了です
GitHub - adafruit/Ethernet2: WIZ5500 based Ethernet Shield library
github.com
デフォルトに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() {
}
是非SNSで感想を教えて下さい 👇️
POST