どうも、白夜霧(@KiRi_Byakuya)です。
今回は初めてArduino関係の開発ボード「ESP32」を購入したので、備忘録も兼ねて開発環境の構築と初期設定。
かつ『ESP32開発ボード』を購入した際に、一緒に購入したもの(買っておいた方がいいもの)の紹介記事となります。
この記事でわかること
- オススメの「ESP32開発ボード」
- ESP32開発ボードと一緒に購入した方がいいもの
- ESP32向けArduino開発環境構築&設定方法
目次
ESP32 / 開発ボードはどれを買えばいい?
Amazonで「ESP32」と検索すると色々な開発ボード(DevKitC)が出てきます。
その中で、一番の安全パイなのが「ESP32」の開発元である「Espressif Systems Pte. Ltd.」より販売されている純正品です。
実際に私も上記純正品を購入し、問題もなく使えています。
安い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』は、追加工なしで自動書き込みが問題なく動いています。
技適(211-171102)の印字も確認しています。
ESP32 / 開発ボード以外に買っておいたほうが良いもの
ここでは「電気工作が初めて」もしくは「電気工作用の道具が揃っていない」という人向けに『ESP32開発ボード』と一緒に購入しておくと便利なものをご紹介します。
ブレッドボード(プロトタイプ基板)
持っていないなら絶対に購入した方が良いのが「ブレッドボード」。
『ESP32開発ボード』は幅が広く、一般的(?)なブレッドボードだと片側の穴が開発ボードのピンで埋まってしまい、ジャンパーでの配線がかなり面倒なことになります。(というかムリ)
『サンハヤト SAD-101』なら『ESP32開発ボード』を差し込んでも、両サイドに列の余裕があるのでジャンパーでの配線が可能です。
『ESP32開発ボード』を購入している人の殆どは、このブレッドボードを購入しているイメージ。
上記のブレッドボードはちょっと小さめなので、もう少し大きい『サンハヤト SAD-01』も候補になると思います。
さらに詳しく
- よくある縦長のブレッドボードが2つあれば、横に並べて『ESP32開発ボード』でまたぐように接続できるかも?
- でかいブレッドボードでも、電源とGNDの穴の位置によってはダメかも(会社のブレッドボードで試したらダメだった・・・)。
ジャンパーケーブル
ブレッドボードを使う上でほぼ必ず使うことになる「ジャンパーケーブル」。
オス・メスだけのケーブルでもいいですが、私の場合はラズパイ(Raspberry Pi)でも使いたかったので、メス・メスも同封されているもの購入。
電気工作キット(LEDや抵抗&スイッチなどなど)
「いきなりそんなに色々買ってもわからない!」と思われるかもしれません。
確かにサンプルで紹介している商品は少し大げさですが、少なくともLEDと抵抗ぐらいはマジで買っておいたほうが良いです。
なぜかというと、デバッグで使うからです。
「この処理が動いたらLEDを光らせたい!」という場面が、それはもういっぱい出てきます。※経験談
「LEDや抵抗なんて、部屋に転がっている」という人以外は、とりあえずLEDと抵抗のキットぐらいは購入しても損は無いと思います。
別のArduinoの開発ボード
一通りのサンプルを動かした後の話になりますが、他の開発ボードやラズパイ(Raspberry Pi)と物理的に接続してシリアル通信してみたい。
もしくは『ESP32開発ボード』の特徴でもある、WiFiやBluetoothで他のデバイスとデータをやりたいしたい場面が出てくると思います。
他のAruinoの開発ボード、もしくはもう一つ同じ『ESP32開発ボード』を購入しておくと、できることの幅が広がるので、検討してみるのもアリだと思います。
Bluetooth関係を重点的にやりたい人は、真面目に『ESP32開発ボード』をもう一つ購入することを強く推奨します。
ESP32 / Arduino IDE 開発環境構築
ここでは、Arduinoの開発環境「Arduino IDE」のインストールと初期設定について記載します。
「Arduino IDE」のインストール
公式ページの「SOFTWARE」のページから『Arduino IDE』をインストールします。各OSに合わせてダウンロードして下さい。
ココがポイント
Windowsで開発環境を構築する場合、マイクロソフトストアからのDLする「Windowsアプリ版」と「デスクトップアプリ版」の2つがあります。
機能としてはどちらも同じですが、今後Arduinoを「Visual Studio Code」で開発したい人は「デスクトップアプリ版」を推奨します。
Visual Stadio Code(VSCode)でArduinoの開発環境を構築する方法は、下記記事を参考にして下さい。
【2022年版】Visual Studio Code(VSCode)でArduinoの開発環境を構築する方法
Visual Studio Code(VSCode)でArduinoの開発環境を構築する覚書。拡張機能の初期設定や使い方も記載しています。
続きを見る
私は「Windows Win 7 and newer」(デスクトップアプリ版)をDLします。リンクをクリックすると、サポートのための寄付画面が表示されますが「JUST DOWNLOAD」をクリックすればDLが開始されます。
ダウンロードが完了したら、インストーラ(arduino-x.x.xx-windows.exe)を実行してインストールを開始します。
①Arduino Setup: License Agreement
「I Agree」をクリック
②Arduino Setup: Installation Option
デフォルトのまま「Next」
③Arduino Setup: Installation Folder
基本デフォルトのままでOKなので右下の「Install」をクリック
④Arduino Setup: Installation Installing
インストール中の画面
⑤Arduino Setup: Installation Completed
インストールが完了すると「Completed」と表示されます。右下の「Close」をクリックしてインストールは完了です。
「Arduino IDE」の初期設定(ESP32向け)
「Arduino IDE」を起動し「ファイル」→「環境設定」を開く。
環境設定にて下記を設定して「OK」を押して下さい。
参考
- ①「スケッチブックの保存場所」を自分の管理しやすい場所に設定する。※デフォルトでもOK
- ②「行番号を表示する」にチェックを入れる。
- ③「追加のボードマネージャのURL」に『https://dl.espressif.com/dl/package_esp32_index.json』をコピーで貼り付ける。
①と②はお好みで。③はESP32用のプログラムを作成するために必須です。
「ツール」→「ボード」から「ボードマネージャー」をクリック。
テキストボックスに「esp32」と入力し、表示される「esp32 by Espressif System」を選択して「インストール」ボタンを押してインストールして下さい。
インストールが完了すると「ツール」→「ボード」→「ESP32 Arduino」→「ESP32 Dev Module」が選択できるようになります。
『ESP32開発ボード』をパソコンと接続し、デバイスマネージャーでCOM番号を確認します。
- Windowsの場合、デバイスマネージャーはタスクバーの「ウィンドウズマーク」を右クリック→「デバイスマネージャー」で開きます。
- デバイスドライバー(Silicon Labs CP210x USB to UART Bridge)は『ESP32開発ボード』をパソコンと接続すれば自動的にインストールされます。
- COM番号は各パソコンによって異なります。
Arduino IDE画面から「ツール」→「シリアルポート」から確認したCOM番号を選択して下さい。
これでArduino IDEでESP32向けのプログラム(スケッチ)の作成、かつプログラムの書き込みが可能になります。
おまけ / 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
【2022年版】Visual Studio Code(VSCode)でArduinoの開発環境を構築する方法
Visual Studio Code(VSCode)でArduinoの開発環境を構築する覚書。拡張機能の初期設定や使い方も記載しています。
続きを見る
参考になったらポッチとお願いしますm(_ _)m