Arduino UNO R4 WiFiプログラミング

1.やってみよう

(1) Arduinoのプログラミング環境に、つぎのプログラムを入力しなさい。
#include "WiFiS3.h"

char ssid[] = "elecom-4e9220";
char pass[] = "45t625y68f89";

int status = WL_IDLE_STATUS;

WiFiServer server(80);

void setup() {
  Serial.begin(9600);
  pinMode(13, OUTPUT);

  while (status != WL_CONNECTED) {
    Serial.print("Attempting to connect to ");
    Serial.println(ssid);
    status = WiFi.begin(ssid, pass);

    delay(10000);
  }

  Serial.print("Connected to ");
  Serial.println(WiFi.SSID());

  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI): ");
  Serial.print(rssi);
  Serial.println(" dBm");

  server.begin();
}

void loop() {
  WiFiClient client = server.available();

  if (client) {
    Serial.println("new client");
    String currentLine = "";
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        if (c == '\n') {
          if (currentLine.length() == 0) {
            client.println("HTTP/1.1 200 OK");
            client.println("Content-type:text/html");
            client.println();

            client.print("<p style=\"font-size:7vw;\">Click <a href=\"/H\">here</a> turn the LED on<br></p>");
            client.print("<p style=\"font-size:7vw;\">Click <a href=\"/L\">here</a> turn the LED off<br></p>");

            client.println();

            break;
          } else {
            currentLine = "";
          }
        } else if (c != '\r') {
          currentLine += c;
        }

        if (currentLine.endsWith("GET /H")) {
          digitalWrite(13, 1);
        }
        if (currentLine.endsWith("GET /L")) {
          digitalWrite(13, 0);
        }
      }
    }

    client.stop();
    Serial.println("client disconnected");
  }
}
(2) 書き込みボタンを押して、Arduinoのプログラムを実行しなさい。
(3) PCのブラウザを開き、「192.168.2.100」を指定し、実行しなさい。リンクをクリックするたびに、ArduinoのLEDが点灯または消灯することを確認しなさい。

Last Modified: May 1 12:00 JST 2024 by Naofumi Aoki
E-mail: aoki@ime.ist.hokudai.ac.jp