Arduino UNO R4 WiFiで無線LAN通信をする

Arduino

はじめに

Arduino UNO R4 WiFiでは、無線モジュールを標準で搭載しており、無線LANアクセスポイントに接続できます。インターネットへ接続してArduinoの各センサーの状態を外出先から確認したり、外出先からArduinoを遠隔操作したりできます。

無線機能を搭載したArduino UNO R4 WiFi

Arduino UNO R4 WiFiを購入しました。目標は、「パソコン上で音声認識を行い、それを無線でArduinoに送信して、モーターを制御する」です。

無線LANモジュールには、ESP32-S3-MINI-1を用いています。

アクセスポイントの探索

まず、Arduinoで利用可能なアクセスポイントを探索してみましょう。

ArduinoIDEを開きます。

Fileメニューを開きます。

Examplesを開きます。

WiFiS3を開きます。

ScanNetworksを開きます。

Arduino UNO R4 WiFiにアップロードします。

シリアルモニターを開きます。

探索可能なアクセスポイントとMACアドレスが表示されました。

アクセスポイントに接続する

無線LANで通信するには、アクセスポイントに接続する必要があります。

まず、アクセスポイントの名称(SSID)と暗号化カギ(PASS)をメモっておいてください。

次に、以下のプログラムを作ってください。

3行目と4行目には先ほどメモしたSSIDとPASSを入力してください。プログラムができたら、アップロードします。

アクセスポイントに接続し、IPアドレスが取得できました。

#include "WiFiS3.h"

char ssid[] = "<SSID>";
char pass[] = "<PASS>";

int status = WL_IDLE_STATUS;

char server[] = "www.kyokyo-u.ac.jp";
char pagepath[] = "/library/2025/05/5pdf-4.html";

WiFiClient client;

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

  if (WiFi.status() == WL_NO_MODULE) {
    Serial.println("Failed to WiFi communication.");
    while(true);
  }

  while (status != WL_CONNECTED) {
    Serial.print("Try 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);
}


void loop() {
  char buf;

  if(client.connect(server, 80)) {
    client.print("GET ");
    client.print(pagepath);
    client.println(" HTTP/1.1");
    client.print("Host: ");
    client.println(server);
    client.println("Connection: close");
    client.println();
  }
  else {
    Serial.println("connection failed");
  }

  while(client.connected()) {
    if(client.available()) {
      buf = client.read();
      Serial.print(buf);
    }
  }

  client.stop();

  delay(600000);
}

プログラムの入力ができたらアップロードし、シリアルモニターを開きます。。

Webページにアクセスし、その内容を取得していることがわかります。

まとめ

Arduino UNO R4 WiFiを用いて、簡単にWebに接続できることがわかりました!

コメント

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