KidsBlock ESP32 Education Pack 開発記録 第3回
第1回では「なぜ小中学生向けの電子工作プログラミング環境が必要なのか」、第2回では「KidsBlock ESP32 Education Packをどのように開発してきたのか」を紹介しました。
第3回では、現在の Version 0.6 Preview を中心に、Education Packで何ができるのかを紹介します。
はじめに
KidsBlock ESP32 Education Packは、単に「便利なブロックをたくさん追加する」ことを目的にしたものではありません。
目指しているのは、子どもたちがESP32を使って、
測る
↓
処理する
↓
判断する
↓
表示する
↓
記録する
↓
送る
↓
活用する
という一連のものづくりを経験できる環境です。
例えば、
教室が暑くなったら知らせたい。
というアイデアから始めても、
温湿度を測る
↓
暑さの指標を計算する
↓
危険かどうか判断する
↓
LCDに表示する
↓
データを保存する
↓
離れた場所へ送る
と、さまざまな学習へ発展させることができます。
今回は機能を単なる一覧として説明するのではなく、**「その機能を使って何ができるのか」**という視点で紹介します。
KidsBlock ESP32 Education Packとは
まず位置づけを整理します。
KidsBlock は、電子工作教材などを開発・販売している Keyestudio社 が提供するグラフィカル・プログラミング環境です。
無料でダウンロードして利用でき、ブロックを組み合わせてArduinoやESP32などをプログラミングできます。
KidsBlock ESP32 Education Pack は、そのKidsBlockの拡張機能を利用して、ESP32を使った電子工作・IoT教育で利用しやすい機能を追加する独自の教育向け拡張パックです。
┌──────────────────────────────┐
│ KidsBlock ESP32 Education Pack │
│ │
│ センサ / データ処理 / 通信 │
│ 記録 / 表示 / IoT など │
└──────────────┬───────────────┘
│ 拡張
▼
┌──────────────────────────────┐
│ KidsBlock │
│ Keyestudio社が提供 │
└──────────────┬───────────────┘
│ Arduino C++
▼
┌──────────────────────────────┐
│ ESP32 │
└──────────────────────────────┘
KidsBlock ESP32 Education PackはKeyestudio社の公式製品ではありません。
KidsBlockの拡張機能を利用して独自に開発している教育向けプロジェクトです。
Version 0.6 Preview
2026年8月に公開した Version 0.6 Preview では、12の拡張機能を収録しています。
大きく分けると、次のようなことができます。
| やりたいこと | 主な機能 |
|---|---|
| 測る | BME280、Environment |
| 処理する | Environment、Data Processing |
| 時刻を扱う | NTP Clock |
| 記録する | KBSD ESP32、Data Processing |
| 表示する | LCD1602 Symbols |
| Wi-Fiにつなぐ | WiFi Simple |
| ブラウザと連携する | HTTP Server |
| クラウドと連携する | ThingSpeak |
| BLEで通信する | BLE UART 3 |
| ESP32同士で通信する | ESP-NOW ESP32 |
| ESP32自身の情報を調べる | ESP32 System Information |
これらを組み合わせることで、一つの機能だけではなく、複数の技術を使った作品へ発展させることができます。
1. 測る ― センサから現実世界の情報を取り込む
BME280
BME280は、環境計測でよく利用されるセンサです。
主に、
- 温度
- 湿度
- 気圧
を取得できます。
Education Packでは、I2C通信などの細かなコードを最初から書かなくても、ブロックから値を取得できるようにしています。
[BME280を初期化]
[BME280の温度]
[BME280の湿度]
[BME280の気圧]
例えば、
BME280
↓
ESP32
↓
温度・湿度・気圧
という最も基本的な環境モニターを作ることができます。
しかし、ここで終わる必要はありません。
取得したデータを次の「処理する」機能へ渡すことで、より意味のある情報に変えることができます。
2. 処理する ― 数値を「意味のある情報」に変える
Environment
温度が30℃だったとしても、その数字だけで環境の状態を十分に判断できるとは限りません。
湿度などを組み合わせて考える必要があります。
Environment拡張では、温度・湿度などを利用して環境に関係する値を計算できます。
例えば、
温度 + 湿度
↓
環境に関係する指数
↓
状態を判断
という処理ができます。
これは、子どもたちにとって重要な学習になると思います。
センサは「数字を出す装置」ではありません。
データを集め、その意味を考え、判断するための入口です。
例えば、
温湿度を測定
↓
環境指数を計算
↓
危険な状態?
┌──┴──┐
YES NO
↓ ↓
警告 通常表示
というプログラムへ発展できます。
Data Processing
センサから得られたデータは、用途によって加工する必要があります。
Data Processingは、データを扱いやすくするための処理を補助する拡張です。
例えばSDカードへ保存したCSVデータを扱うことで、
time,temp,humi
09:00,25.2,58
09:10,26.1,60
09:20,27.0,63
のようなデータを、後から分析する学習につなげることができます。
電子工作から、
測定 → 記録 → 整理 → 比較 → 考察
というデータ活用へ発展させるための機能です。
3. 時刻を扱う ― 「いつ測ったか」を記録する
NTP Clock
環境データを記録するときには、
何℃だったか
だけでなく、
いつ何℃だったか
が重要です。
そこでNTP Clockを利用します。
Wi-Fi経由で時刻を取得することで、
2026/09/09 09:00 25.2℃
2026/09/09 09:10 26.1℃
2026/09/09 09:20 27.0℃
のような記録が可能になります。
時刻という情報が加わるだけで、単なるセンサ実験が「観測」へ変わります。
4. 記録する ― SDカードへデータを残す
KBSD ESP32
測った値をその場で表示するだけでは、電源を切るとデータは残りません。
KBSD ESP32を使うことで、microSDカードへデータを保存できます。
例えば、
BME280
↓
温度・湿度・気圧
↓
時刻を追加
↓
CSV形式
↓
microSD
とすれば、ESP32をデータロガーとして利用できます。
これによって、
- 教室の一日の温度変化
- 体育館の暑さ
- 屋外と室内の比較
- 日なたと日陰の比較
などを実際に調査できます。
5. 表示する ― 測った結果を人に伝える
LCD1602 Symbols
LCD1602は、電子工作でよく使われる文字表示器です。
例えば、
TEMP 28.5 C
HUMI 65.0 %
のように表示できます。
Education Packでは、LCD1602で環境データを表示するときに便利な記号を扱う機能も用意しています。
重要なのは、
測定すること
だけではなく、
測定結果を人に分かる形で伝えること
です。
表示を工夫することで、
測定
↓
判断
↓
人に伝える
というシステム設計を学ぶことができます。
6. Wi-Fiにつなぐ ― ESP32をネットワークへ
WiFi Simple
ESP32の大きな特徴の一つがWi-Fiです。
しかし、初めて使う子どもにWi-Fi接続用のC++コードを書かせるのは簡単ではありません。
そこで、Wi-Fiへの接続をできるだけ分かりやすく扱えるようにしたのがWiFi Simpleです。
ESP32
↓
Wi-Fi
↓
ネットワーク
Wi-Fiにつながることで、その先の機能が一気に広がります。
7. ブラウザとつなぐ ― HTTP Server
ESP32自身を簡単なWebサーバーとして動かすこともできます。
例えば、
スマートフォン / PC
│
│ ブラウザ
▼
ESP32
│
▼
LED
という構成です。
ブラウザのボタンを押してESP32の出力を変えることができれば、
Webページの操作が現実世界の装置を動かす
という体験ができます。
これはIoTの仕組みを理解する入口として分かりやすい例です。
8. クラウドへ送る ― ThingSpeak
ThingSpeak
測定したデータをESP32の中だけで使うのではなく、インターネット上へ送ることもできます。
ThingSpeakを利用すれば、
センサ
↓
ESP32
↓
Wi-Fi
↓
Internet
↓
ThingSpeak
↓
グラフ・データ
という流れを作れます。
これによって、
- 離れた場所からデータを見る
- 時間変化をグラフで見る
- 複数地点のデータを比較する
といった活動へ発展できます。
9. BLEで送る ― BLE UART 3
学校では、必ずしも自由にWi-Fiを利用できるとは限りません。
そこでBLEが役立つ場合があります。
BLE UART 3を利用すると、ESP32から対応端末へデータを送る仕組みを作ることができます。
例えば、
温湿度センサ
↓
ESP32
↓ BLE
Chromebookなど
↓
ブラウザ等で表示
という使い方が考えられます。
Wi-Fiとは違う通信方式を体験すること自体も学習になります。
10. ESP32同士を直接つなぐ ― ESP-NOW
ESP-NOW ESP32
Education Packの中でも、私が特に教育的な可能性を感じている機能の一つです。
ESP-NOWでは、Wi-Fiルーターを経由せずESP32同士で直接通信できます。
ESP32 A ─────────→ ESP32 B
センサ 表示
例えば体育館に送信機を置き、別の場所に受信機を置くことも考えられます。
複数台なら、
教室A ─┐
教室B ─┼──→ 受信機
教室C ─┘
のようなシステムにも発展できます。
さらに、
- 通信距離
- RSSI
- データの欠落
- 複数台の送信タイミング
- 中継
- Normal / Long Range
などを調べることで、単なる「無線で送れた」という実験から通信技術そのものの学習へ進むことができます。
11. ESP32自身を調べる ― ESP32 System Information
ESP32を複数台使うと、
このESP32はどの機器なのか?
を識別したくなることがあります。
ESP32 System Informationでは、ESP32自身の情報を取得するための機能を提供しています。
特にMACアドレスは、ESP-NOWなどの通信を扱うときに便利です。
例えば送信データに端末を識別する情報を付ければ、
送信機A → ID + 温度
送信機B → ID + 温度
送信機C → ID + 温度
として、受信側で「どこから来たデータなのか」を判断できます。
これは、複数端末を使うIoTシステムの基本的な考え方にもつながります。
12. 機能を組み合わせる
Education Packで最も重要なのは、個々の拡張機能ではなく、それらを組み合わせられることだと考えています。
例えば「学校の環境モニター」を考えてみます。
BME280
│
│ 温度・湿度・気圧
▼
Environment
│
│ 環境データを処理
▼
ESP32
├────→ LCD表示
│
├────→ SDカードへ記録
│
├────→ BLE
│
├────→ ESP-NOW
│
└────→ ThingSpeak
同じセンサから始めても、子どものアイデアによって作品は変わります。
ある子どもはLCDに表示するかもしれません。
別の子どもはデータをSDカードへ保存するかもしれません。
さらに別の子どもは、離れた場所へ無線で送りたいと考えるかもしれません。
「この教材を使えば、この作品が完成する」ではなく、「この道具を使って何を作るかを考える」
という使い方を目指しています。
例えばどんなものが作れるか
Education Packの機能を組み合わせると、例えば次のようなテーマを考えられます。
| アイデア | 主に使う技術 |
|---|---|
| 教室の環境モニター | BME280、Environment、LCD |
| 体育館の暑さ監視 | BME280、Environment、ESP-NOW |
| 長時間の環境調査 | BME280、NTP、SD、CSV |
| 離れた場所のセンサ表示 | ESP-NOW、BLE |
| ブラウザから装置を操作 | Wi-Fi、HTTP Server |
| インターネット環境ロガー | Wi-Fi、ThingSpeak |
| 複数教室の環境測定 | ESP-NOW、System Information |
| データ分析教材 | SD、CSV、Data Processing |
ただし、これらは「完成品の作り方」を示すためのものではありません。
あくまで、
このような技術を組み合わせると、こんなこともできる
という例です。
子ども自身が別の用途を考えてくれることを期待しています。
次期Version 0.7 Previewへ
現在、次の Version 0.7 Preview に向けた開発も進めています。
その一つが、カラーTFTディスプレイ ST7789 への対応です。
現在試験しているのは、ESP32-WROOM-32と1.9インチ 170×320ピクセルのST7789 TFTを組み合わせた環境です。
予定している基本機能には、
- 初期化
- 画面クリア
- 文字表示
- 数値表示
- 線
- 四角形
- 塗りつぶし
- 円
- RGBカラー
- 画面回転
- バックライト制御
などがあります。
これが利用できるようになると、
┌────────────────────────┐
│ 教室環境モニター │
│ │
│ 温度 28.5 ℃ │
│ 湿度 65.0 % │
│ 気圧 1012.4 hPa │
│ │
│ 状態 注意 │
└────────────────────────┘
のように、測定結果をより視覚的に伝える作品へ発展できます。
Version 0.7については、実機での確認を行いながら追加機能を検討していきます。
Education Packで一番作りたいもの
ここまで12の拡張機能を紹介しました。
しかし、私がEducation Packで作りたいのは、たくさんのブロックそのものではありません。
作りたいのは、
子どもが「こんなものを作ってみたい」と思ったとき、それを実現するための選択肢を提供できる環境
です。
「こんなものを作りたい」
↓
「何を測ればいい?」
↓
「どう判断する?」
↓
「どう動かす?」
↓
「どう記録する?」
↓
「どう伝える?」
その過程で、
- プログラミング
- 電子回路
- センサ
- データ処理
- 通信
- IoT
といった技術を必要に応じて学んでいく。
そのような学習環境にしたいと考えています。
3回の記事を書いて改めて思うこと
この3回では、
第1回
なぜ小中学生向け電子工作プログラミング環境が必要なのか。
第2回
その考えをKidsBlock ESP32 Education Packとしてどう形にしてきたのか。
第3回
実際にどのような機能があり、何ができるのか。
という順番で紹介してきました。
最終的な目標は、子どもたちにESP32の使い方を覚えてもらうことではありません。
ESP32もKidsBlockもEducation Packも、すべて道具です。
大切なのは、
身の回りの課題や自分のアイデアに気づき、技術を使って解決方法を考えること
だと思っています。
そのための入口として、KidsBlock ESP32 Education Packを少しずつ育てていきたいと思います。
KidsBlock ESP32 Education Pack 開発記録
- 第1回:小中学生向け電子工作プログラミング環境は、なぜ必要なのか
- 第2回:「KidsBlock ESP32 Education Pack」の開発
- 第3回:「KidsBlock ESP32 Education Pack」の紹介 ← 今回
プロジェクト情報
- KidsBlock:Keyestudio社が提供するグラフィカル・プログラミング環境
- KidsBlock ESP32 Education Pack:KidsBlockの拡張機能を利用した独自の教育向け拡張パック
- 現在の公開版:Version 0.6 Preview
- Version 0.6 Preview:12拡張機能
- 次期開発版:Version 0.7 Preview
- 開発・配布名義:davinichi
KidsBlock ESP32 Education PackはKeyestudio社の公式製品ではありません。KidsBlockの拡張機能を利用した独自の教育向けプロジェクトです。
※KidsBlockの対応OS、対応ボード、配布条件などについては、Keyestudio/KidsBlockの最新の公式情報をご確認ください。