SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

IoT Starter Studio

話題のWi-FiとBluetooth搭載の格安チップ「ESP32」をMac&Arduino IDEから使ってみよう!

IoT Starter Studio 第13回

Lチカにチャレンジ

 電子工作界のHello Worldとも言えるLチカ(LEDの点滅)にチャレンジしてみましょう。

 今回は以下のものを使います。

 ブレッドボードとLEDは市販されているもので問題無いです。 ESP32-DevKitCはブレッドボードに刺して使うため、名刺サイズ程度のブレッドボードを用意しましょう。

 このような形でESP32-DevKitCはブレッドボードに刺さります。奥まで差し込みましょう。

 次に回路を組みます。

 こちらのリポジトリの下部に掲載されているピンマップを見て、どのピン番号がどこにあるのかを確認します。

 今回は13番ピンにLEDを接続してLEDを点滅させてみます。

 GNDにLEDのマイナス側(足が短い方)、IO13にLEDのプラス側(足が長い方)を接続します。写真を参考にしましょう。

 以下のコードをそのままコピペでArduino IDEでプロジェクトを作りましょう。

blink.ino
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(250);
  digitalWrite(13, LOW);
  delay(250);
}

 MacとESP32-DevKitCがUSBで接続されていていること、ツール > シリアルポートの項目がシリアルポート(Port): /dev/cu.SLAB_USBtoUARTになっていることを確認してマークを選択して書き込みを行います。

 成功するとこのようにLEDが点滅します。

Bluetoothのサンプルコードも試してみよう

 ESP32が注目を集めている理由の一つがBluetoothの機能です。サンプルを試してみましょう。

 ファイル > スケッチ例 > SimpleBLE > SimpleBleDeviceからサンプルコードを確認することができます。

simpleble.ino
#include "SimpleBLE.h"
SimpleBLE ble;

void onButton(){
    String out = "BLE32 at: ";
    out += String(millis() / 1000);
    Serial.println(out);
    ble.begin(out);
}

void setup() {
    Serial.begin(115200);
    Serial.setDebugOutput(true);
    pinMode(0, INPUT_PULLUP);
    Serial.print("ESP32 SDK: ");
    Serial.println(ESP.getSdkVersion());
    ble.begin("ESP32 SimpleBLE");
    Serial.println("Press the button to change the device name");
}

void loop() {
    static uint8_t lastPinState = 1;
    uint8_t pinState = digitalRead(0);
    if(!pinState && lastPinState){
        onButton();
    }
    lastPinState = pinState;
    while(Serial.available()) Serial.write(Serial.read());
}

 こちらのコードを書き込みして実行します。

 ESP32-DevKitCのUSBコネクタの隣のbootボタンを押すとデバイスの名前(Local Name)がカウントアップしていきます。

 LightBlueなどのBluetoothの通信を確認するアプリケーションで確認できます。

おわりに

 いかがでしたでしょうか。ESP32はまだまだサンプルコードやハック記事が出ておらず、現時点での開発はイバラの道のような感覚があります。 とはいえ、比較的安価でWi-FiとBluetoothを搭載していて、Arduino開発が出来るというのは電子工作に馴染みのある人にはかなり魅力的です。

 今後、Bluetoothやビーコンを使う必要性があるユースケースがどんどん生まれてくると思いますので、そのときのために今から触ってみるのは良いかもしれません。

購入はこちらから

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
IoT Starter Studio連載記事一覧

もっと読む

この記事の著者

菅原のびすけ(dotstudio株式会社)(スガワラ ノビスケ)

 日本最大規模のIoTコミュニティ「IoTLT」主催。岩手県立大学大学院ソフトウェア情報学研究科を卒業後、株式会社LIGでWebエンジニアとして入社し、Web開発に携わる。2016年にdotstudio株式会社を立ち上げ、今はIoT領域を中心に活動している。JavaScript RoboticsコミュニティNodeBotsの主催や、IoTバックエンドサービスであるMilkcocoaのエバンジェリストとしても活動中。共著: 『JavaScriptでインタラクティブ3Dコンテンツを作ろう』 共著: 『現場のプロが教える WEBデザイン 新・スタンダードテクニック37』 共著: 『フロントエンドエンジニアのための現在とこれからの必須知識』twitter: @n0bisuke URL: dotstudioのプロフィールページ

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/10033 2017/04/13 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー