技術メモ

オススメのESP32開発ボード&開発環境+初期設定

2022年3月13日

arduino,esp32

 

どうも、白夜霧(@KiRi_Byakuya)です。

 

今回は初めてArduino関係の開発ボード「ESP32」を購入したので、備忘録も兼ねて開発環境の構築と初期設定。

 

かつ『ESP32開発ボード』を購入した際に、一緒に購入したもの(買っておいた方がいいもの)の紹介記事となります。

 

この記事でわかること

  • オススメの「ESP32開発ボード」
  • ESP32開発ボードと一緒に購入した方がいいもの
  • ESP32向けArduino開発環境構築&設定方法

 

 

ESP32 / 開発ボードはどれを買えばいい?

ESP32 / 開発ボードはどれを買えばいい?

 

Amazonで「ESP32」と検索すると色々な開発ボード(DevKitC)が出てきます。

 

その中で、一番の安全パイなのが「ESP32」の開発元である「Espressif Systems Pte. Ltd.」より販売されている純正品です。

 

KiRi

実際に私も上記純正品を購入し、問題もなく使えています。

 

安いESP32開発ボード(Devkit)の注意点

スマホ,少女,困る

 

Amazonで「ESP32」と検索して出てくる色々な開発ボード(DevKitC)を見ると、どれも純正品よりも安い値段なのがわかります。

 

例えば、下記ESP32の開発ボードは純正品よりも安く、かつキットが2つ手に入ります。

 

もちろん、どれも「ESP32-WROOM-32」を搭載している開発ボードなので、基本的な機能は一緒です。

 

ただし、純正品以外の開発ボードの場合は、下記のような注意点があります。

ココに注意

  • 技適を取得していない商品も存在する。
  • USBによるファームの自動書き込みを有効にするために、コンデンサを(半田ごてで)追加する必要がある。
  • 基板の品質にバラツキがある。

 

一番の問題が技適の取得の有無。

 

これはに関しては商品ページをよく読むか、読んでもわからなければ販売元に問い合わせるしかありません。

 

また、純正品以外の開発ボードの場合は、ファームの書き込む作業で毎回基板に搭載されているボタンを押さないと、書き込みモードに切り替わりません。

 

※下記記事を参考にコンデンサを追加すれば自動書き込みが有効になります。

 

かつ、商品ページのレビューを見ると、基板そのものに「当たり外れ」があるようで、品質にバラつきがあるようです。

2個中1つはやや酷いキズ有り、ファームウェアも書き込みミス。幸い、ブートローダーが動かない程では無く、もう一方からの移植で復旧は出来ました。プログラミング前に、双方のファームウェアのバックアップはした方が良いです。

出品者レビュー後、交換の申し出も頂いたので(今回は自分で復旧出来ましたし時間が掛かるので断りました)、それ程悪い所では無いと思いますが、品質は少し残念と言わざるを得ません。

引用:Amazonレビュー

 

今回2回目購入で2つ共問題ありませんでした。但し前回と変わってないはずなのに随分仕様が違います。

前回はそんなものかと思ってましたが、コンデンサ実装されているのに書込み時、ボタンを押さないと書き込めない、2つのうち1つはwifiサーバのライブラリを追加すると書き込めないなど、不具合のあることが今回追加購入でがわかりました。

ちょっと品質にバラツキ問題あるようなので細かいところまでチェックしないといけないですね。

引用:Amazonレビュー

 

純正品以外のESP32の開発ボードの購入は「回路図も読めるし、半田作業も全然OK!」という電気工作に慣れていて、ある程度のことなら自分で対処できる人は問題ないと思います。

 

ただ、私のように「買ってすぐに動かしたい。」もしくは「電気工作は初めて」という人は純正品を強くオススメします。

 

ちなみに私の購入した『Espressif純正 ESP-WROOM-32D開発ボード ESP32-DevKitC-32D』は、追加工なしで自動書き込みが問題なく動いています。

Espressif純正 ESP-WROOM-32D開発ボード ESP32-DevKitC-32D

 

技適(211-171102)の印字も確認しています。

ESP32 技適

 

 

 

ESP32 / 開発ボード以外に買っておいたほうが良いもの

電気工作,回路,arduino

 

ここでは「電気工作が初めて」もしくは「電気工作用の道具が揃っていない」という人向けにESP32開発ボード』と一緒に購入しておくと便利なものをご紹介します。

 

ブレッドボード(プロトタイプ基板)

 

持っていないなら絶対に購入した方が良いのが「ブレッドボード」。

 

ESP32開発ボード』は幅が広く、一般的(?)なブレッドボードだと片側の穴が開発ボードのピンで埋まってしまい、ジャンパーでの配線がかなり面倒なことになります。(というかムリ)

ESP32 devkit / ブレッドボード

 

サンハヤト SAD-101』なら『ESP32開発ボード』を差し込んでも、両サイドに列の余裕があるのでジャンパーでの配線が可能です。

ESP32 devkit / ブレッドボード

 

KiRi

ESP32開発ボード』を購入している人の殆どは、このブレッドボードを購入しているイメージ。

 

上記のブレッドボードはちょっと小さめなので、もう少し大きい『サンハヤト SAD-01』も候補になると思います。

 

さらに詳しく

  • よくある縦長のブレッドボードが2つあれば、横に並べて『ESP32開発ボード』でまたぐように接続できるかも?
  • でかいブレッドボードでも、電源とGNDの穴の位置によってはダメかも(会社のブレッドボードで試したらダメだった・・・)。

 

ジャンパーケーブル

 

ブレッドボードを使う上でほぼ必ず使うことになる「ジャンパーケーブル」。

 

オス・メスだけのケーブルでもいいですが、私の場合はラズパイ(Raspberry Pi)でも使いたかったので、メス・メスも同封されているもの購入。

 

電気工作キット(LEDや抵抗&スイッチなどなど)

 

いきなりそんなに色々買ってもわからない!」と思われるかもしれません。

 

確かにサンプルで紹介している商品は少し大げさですが、少なくともLEDと抵抗ぐらいはマジで買っておいたほうが良いです。

 

なぜかというと、デバッグで使うからです。

 

「この処理が動いたらLEDを光らせたい!」という場面が、それはもういっぱい出てきます。※経験談

 

「LEDや抵抗なんて、部屋に転がっている」という人以外は、とりあえずLEDと抵抗のキットぐらいは購入しても損は無いと思います。

 

別のArduinoの開発ボード

 

一通りのサンプルを動かした後の話になりますが、他の開発ボードやラズパイ(Raspberry Pi)と物理的に接続してシリアル通信してみたい。

 

もしくは『ESP32開発ボード』の特徴でもある、WiFiやBluetoothで他のデバイスとデータをやりたいしたい場面が出てくると思います。

 

他のAruinoの開発ボード、もしくはもう一つ同じ『ESP32開発ボード』を購入しておくと、できることの幅が広がるので、検討してみるのもアリだと思います。

 

KiRi

Bluetooth関係を重点的にやりたい人は、真面目に『ESP32開発ボード』をもう一つ購入することを強く推奨します。

 

 

ESP32 / Arduino IDE 開発環境構築

ESP32 / Arduino IDE 開発環境構築

 

ここでは、Arduinoの開発環境「Arduino IDE」のインストールと初期設定について記載します。

 

「Arduino IDE」のインストール

公式ページの「SOFTWARE」のページから『Arduino IDE』をインストールします。各OSに合わせてダウンロードして下さい。

「Arduino IDE」のインストール

 

ココがポイント

Windowsで開発環境を構築する場合、マイクロソフトストアからのDLする「Windowsアプリ版」と「デスクトップアプリ版」の2つがあります。

機能としてはどちらも同じですが、今後Arduinoを「Visual Studio Code」で開発したい人は「デスクトップアプリ版」を推奨します。

 

Visual Stadio Code(VSCode)でArduinoの開発環境を構築する方法は、下記記事を参考にして下さい。

arduino,esp32
【2022年版】Visual Studio Code(VSCode)でArduinoの開発環境を構築する方法

Visual Studio Code(VSCode)でArduinoの開発環境を構築する覚書。拡張機能の初期設定や使い方も記載しています。

続きを見る

 

私は「Windows Win 7 and newer」(デスクトップアプリ版)をDLします。リンクをクリックすると、サポートのための寄付画面が表示されますが「JUST DOWNLOAD」をクリックすればDLが開始されます。

「Arduino IDE」のダウンロード

 

ダウンロードが完了したら、インストーラ(arduino-x.x.xx-windows.exe)を実行してインストールを開始します。

 

①Arduino Setup: License Agreement

I Agree」をクリック

Arduino Setup: License Agreement

 

②Arduino Setup: Installation Option

デフォルトのまま「Next

Arduino Setup: Installation Option

 

③Arduino Setup: Installation Folder

基本デフォルトのままでOKなので右下の「Install」をクリック

Arduino Setup: Installation Folder

 

④Arduino Setup: Installation Installing

インストール中の画面

Arduino Setup: Installation Installing

 

⑤Arduino Setup: Installation Completed

インストールが完了すると「Completed」と表示されます。右下の「Close」をクリックしてインストールは完了です。

Arduino Setup: Installation Completed

 

「Arduino IDE」の初期設定(ESP32向け)

「Arduino IDE」を起動し「ファイル」→「環境設定」を開く。

「Arduino IDE」の初期設定(ESP32向け)

 

環境設定にて下記を設定して「OK」を押して下さい。

「Arduino IDE」の環境設定例

 

参考

  • ①「スケッチブックの保存場所」を自分の管理しやすい場所に設定する。※デフォルトでもOK
  • ②「行番号を表示する」にチェックを入れる。
  • ③「追加のボードマネージャのURL」に『https://dl.espressif.com/dl/package_esp32_index.json』をコピーで貼り付ける。

 

KiRi

①と②はお好みで。③はESP32用のプログラムを作成するために必須です。

 

「ツール」→「ボード」から「ボードマネージャー」をクリック。

Arduino IDE ボードマネージャー

 

テキストボックスに「esp32」と入力し、表示される「esp32 by Espressif System」を選択して「インストール」ボタンを押してインストールして下さい。

Arduino IDE ボードマネージャー / ESP32

 

インストールが完了すると「ツール」→「ボード」→「ESP32 Arduino」→「ESP32 Dev Module」が選択できるようになります。

Arduino IDE, ESP32 Arduino, ESP32 Dev Module

 

ESP32開発ボード』をパソコンと接続し、デバイスマネージャーでCOM番号を確認します。

arduino ide esp32 シリアルポート確認

 

  • Windowsの場合、デバイスマネージャーはタスクバーの「ウィンドウズマーク」を右クリック→「デバイスマネージャー」で開きます。
  • デバイスドライバー(Silicon Labs CP210x USB to UART Bridge)は『ESP32開発ボード』をパソコンと接続すれば自動的にインストールされます。
  • COM番号は各パソコンによって異なります。

 

Arduino IDE画面から「ツール」→「シリアルポート」から確認したCOM番号を選択して下さい。

arduino ide esp32 シリアルポート確認

 

これでArduino IDEでESP32向けのプログラム(スケッチ)の作成、かつプログラムの書き込みが可能になります。

 

 

おまけ / ESP32でLINEにメッセージを送って通知する方法

おまけ / ESP32でLINEにメッセージを送って通知する方法

 

本記事は主に下記公式ページを参考に記載して頂きました。

 

上記記事で紹介されているサンプルプログラム「スイッチを押すとLINEに通知する」を試したところ、紹介されているコードだと上手く動きませんでした。

 

原因は、HTTPS接続時の証明書による検証方法を明示していないことが原因の模様。

 

修正は簡単でサンプルコードに「client.setInsecure(); 」を追加するだけです。※サンプルから若干コードは書き直してます。


void send_line_message(String message)
{
	WiFiClientSecure client;
	client.setInsecure(); // これがないとダメ!!!
	Serial.println("Connecting to LINE API Server..");

	if(!client.connect(LINE_NOTIFY_HOST, 443))
	{
		Serial.println("Connection Failed.");
		return;
	}

	Serial.println("Connected!");
	String query = String("message=") + message;
	String request = String("") +
	"POST /api/notify HTTP/1.1" + CRLF +
	"Host: " + LINE_NOTIFY_HOST + CRLF +
	"Authorization: Bearer " + LINE_NOTIFY_TOKEN + CRLF + 
	"Content-Length: " + String(query.length()) + CRLF + 
	"Content-Type: application/x-www-form-urlencoded" + CRLF + CRLF + 
	query + CRLF;
	client.print(request);

	while(client.connected())
	{
		String line = client.readStringUntil('\n');
		Serial.println(line);
		if(line == "\r") break;
	}

	String line = client.readStringUntil('\n');
	Serial.println(line);
}

 

 

以上、有難うございましたm(_ _)m

arduino,esp32
【2022年版】Visual Studio Code(VSCode)でArduinoの開発環境を構築する方法

Visual Studio Code(VSCode)でArduinoの開発環境を構築する覚書。拡張機能の初期設定や使い方も記載しています。

続きを見る

 

参考になったらポッチとお願いしますm(_ _)m


プログラムランキング

  • この記事を書いた人

白夜霧

現役のIT土方・社畜・カフェイン中毒者。趣味のために生きる。サラリーマンの雑記ブログ。さり気なくYouTuberデビューしました\(^o^)/

-技術メモ
-, , ,

© 2022 My,WebNote - 備忘録 -