micro:bitとESPr Developerでシリアル通信

マイクロビットで作ったデータを、Wi-Fi経由でインターネットに送信したいと思います。

ただ、マイクロビットにはWi-Fi通信機能がないので、ESPr Developer を併用し、Wi-Fi通信はESPr Developerで行います。


そのためには、micro:bitで作ったデータを、一旦ESPr Developerに送る必要があります。

ここでは、micro:bitで作ったデータを、シリアル通信でESPr Developerに送る方法を説明します。

なお、ここで使用しているパソコン環境は以下のとおりです。

  • PC : Surface Pro 3
  • OS : Windows 10 Pro(バージョン 1903)
  • ブラウザ : Microsoft Edge

まずは、micro:bitのプログラムを作成します。このプログラムでは、0.1秒毎に、文字列をシリアル通信で書き出します。書き出すのは、1桁から50桁までの文字列です。

  • MakeCode for micro:bitを起動します(MakeCode for micro:bitのインストール方法は こちら)。

  • 「マイプロジェクト」>「新しいプロジェクト」をクリックします。

  • 以下のとおり、プログラムを入力します。

  • パソコンとmicro:bitをUSBケーブルで接続します。ファイル名を変更後、「ダウンロード」をクリックし、プログラムをmicro:bitに転送します。

次に、ESPr Developer用のスケッチを作成します。このスケッチでは、受信したデータを、速やかにシリアルモニタに表示させます。

  • Arduino IDEを起動します(Arduino IDEのインストール方法は こちら)。

  • 「ファイル」>「新規ファイル」を選択して新規ウィンドウを開き、以下のとおり、スケッチを入力します。
#include <SoftwareSerial.h>

SoftwareSerial swSer(14, 12, false, 256);

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

  Serial.println("\nSoftware serial test started");
}

void loop() {
  while (swSer.available() > 0) {
    Serial.println(swSer.readStringUntil('\n'));
    yield();
  }
}
  • パソコンとESPr DeveloperをUSBケーブルで接続します。「ツール」>「シリアルポート」を自分の環境のポートに変更した上で、画面左上の「→(マイコンボードに書き込む)」をクリックします。

  • 画面下に「ボードへの書き込みが完了しました。」と表示されれば、正常にプログラムを書き込むことができています。

  • micro:bitとESPr Developerを、以下のとおり繋ぎます。ESPr Developerとパソコンは、USBケーブルで接続したままにしておきます。これにより、micro:bitの電源は、ESPr Developer経由で供給されることになります。
micro:bit ESPr Developer
GND GND
3V 3V3
0 14
1 12

  • Arduino IDEのシリアルモニタを開くと、以下のとおり、micro:bitで作ったデータが表示されており、micro:bitのデータが、正しくESPr Developerに送られていることが確認できます。

 

なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。


このサイトで書いている、マイクロビットに関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。

他のマイクロビット記事にも興味のある方は「さとやまノート」をご覧ください。