ESP32のMicroPythonで無線LAN経由でWEBサーバに接続する方法
この記事では、ESP32とMicroPythonを使ってWEBサーバに接続する方法を解説します。
この記事で学べること
- ESP32でWEBサーバに接続する方法
- MicroPythonのコード例
- 接続できたかの確認方法
ステップごとの解説
- 必要な部品を準備する
今回も前回、MicroPythonをインストールしたM5STACK社のM5StampS3を使います。
M5StampS3は、Amazon、スイッチサイエンス社、マルツエレック社などで購入することができます。 - M5StampS3にMicroPythonをインストールする
前回の記事を参考にMicroPythonをインストールします。 - M5StampS3をPCに接続する
M5StampS3とPCをUSBケーブルで接続します。接続できているか確認します。
ls -l /dev/tty.usbmodem*
crw-rw-rw- 1 root wheel 0x9000006 8 24 16:37 /dev/tty.usbmodem11401
- VSCodeで以前、作ったプロジェクトを選択する
VSCodeを起動して、以前、作ったプロジェクトを選択します。

- boot.pyをM5StampS3にアップロードする
左側のエクスプローラにて、以前、作成した「boot.py」を選択して、右クリックから、「Upload file to Pico」をクリックして、M5StampS3にアップロードします。 - エディタで新しいファイルを作成する
左側のエクスプローラにて右クリックして、「新しいファイル」を選択します。ファイル名を入力する欄が表示されるので、適当に名前を入力します。今回は、「web1.py」としました。

- 下記コードをエディターで記入する
「web1.py」を選択すると、エディター画面が開くので、下記コードを記入して保存します。
import urequests
# 接続先のURLの指定
url = 'https://www.yahoo.co.jp'
# WEBサーバからデータを取得
resp = urequests.get(url)
print(resp.text)
resp.close()
- 「web1.py」を実行する
左のエクスプローラにて、「web1.py」を選択して、右クリックから、「Run current file on Pico」をクリックすると、REPL画面に下記のように、yahooから取得したHTMLが表示されます。
MicroPython v1.26.1 on 2025-09-11; Generic ESP32S3 module with ESP32S3
Type "help()" for more information or .help for custom vREPL commands.
>>>
<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><title>Yahoo! JAPAN</title><meta name="description" content="あなたの毎日をアップデートする情報ポータル。検索、ニュース、天気、スポーツ、メール、ショッピング、オークションなど便利なサービスを展開しています。"/><meta name="robots" content="noodp"/><meta name="viewport" content="width=1010"/><link rel="dns-prefetch" href="//s.yimg.jp"/><link rel="dns-prefetch" href="//yads.c.yimg.jp"/><meta name="google-site-verification" content="fsLMOiigp5fIpCDMEVodQnQC7jIY1K3UXW5QkQcBmVs"/><link rel="alternate" href="android-app://jp.co.yahoo.android.yjtop/yahoojapan/home/top"/><link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.yahoo.co.jp/"/><link rel="canonical" href="https://www.yahoo.co.jp/"/><link rel="shortcut icon" href="https://s.yimg.jp/c/icon/s/bsc/2.0/favicon.ico" type="image/vnd.microsoft.icon"/><link rel="icon" href="https://s.yimg.jp/c/icon/s/bsc/2.0/favicon.ico" type="image/vnd.microsoft.icon"/><link rel="apple-touch-icon" href="https://s.yimg.jp/c/icon/s/bsc/2.0/y120.png"/><meta property="og:title" content="Yahoo! JAPAN"/><meta property="og:type" content="website"/><meta property="og:url" content="https://www.yahoo.co.jp/"/><meta property="og:image" content="https://s.yimg.jp/images/top/ogp/fb_y_1500px.png"/><meta property="og:description" content="あなたの毎日をアップデートする情報ポータル。検索、ニュース、天気、スポーツ、メール、ショッピング、オークションなど便利なサービスを展開しています。"/><meta property="og:site_name" content="Yahoo! JAPAN"/><meta property="twitter:card" content="summary_large_image"/><meta property="twitter:site" content="@Yahoo_JAPAN_PR"/><meta property="twitter:image" content="https://s.yimg.jp/images/top/ogp/tw_y_1400px.png"/><meta property="fb:app_id" content="472870002762883"/><link rel="stylesheet" href="//s.yimg.jp/images/yjtop-pc/orion/20251204-081153/bundle_20251204-081153.css"/>
以下、省略
まとめ
ESP32とMicroPythonを使えば、シンプルなコードでWEBサーバに接続してデータを取得できます。応用すればIoTデバイスに簡単に組み込めます。
