みなさん、こんにちは、株式会社虹賢舎の川島です!
今日はESP32の話をします。
ESP32は低コスト、低消費電力のSoCコントローラーです。
最大な特徴は何と言ってもWifiとBluetoothが内蔵していることです。
目次
Wifi
IEEE 802.11(アイトリプルイー 802.11)は、IEEEにより策定された、広く普及している無線LAN関連規格の一つです。
無線局免許不要で使えるものも多いです。
皆さんも日常的に、自宅、カフェー、駅、学校、事務所でよく使っていますから、あんまり必要はないでしょう。
BlueTooth
無線局免許不要といえば、Bluetoothもそれの一つです。
Bluetoothは基本的にはデジタル機器で利用することを想定された近距離無線通信規格です。数mから数十m程度の距離の情報機器間で、簡易な情報のやりとりを実現するための規格です。
Bluetoothは実際に利用する際には、「ペアリング」・「接続」という手順が必要になります。
BlueToothとBLE
Bluetoothと合わせてBLEという表記を見たことがありませんか?
実はBLEもBluetoothの一つの種類で、デバイスの種類や用途に応じてこのBLEでの通信をするケースがあります。
BLEはBluetooth Low Energyということで、通常のBluetoothよりもさらに省電力で利用できるデバイスを想定した通信方式となります。
例えば、皆さんが使っているかもしれないBluetoothのイアホンやスピーカーなどは、連続で大量の音声データを転送しているため、ある程度の通信速度と商品電力が必要ですので、BLEの方は向いていません。
それに対して、簡単、少量なデータやテキスト情報などの通信でしたら、BLEの方が得意です。
ESP32はBLE通信にモジュールが対応しています。
入手
いくつかのメーカーから出していますので、お好みのところから入手すれば良いかと思います。モジュールはみんな同じEPS32を使っています。
[amazonjs asin=”B077ZSPKLZ” locale=”JP” title=”KKHMF ESP32 ESP-32S NodeMCU開発ボード2.4GHz WiFi + Bluetooth デュアルコアCPU低消費電力”]
[amazonjs asin=”B0718T232Z” locale=”JP” title=”HiLetgo ESP32 ESP-32S NodeMCU開発ボード2.4GHz WiFi + Bluetoothデュアルモード”]
KKHMF ESP32 ESP-32S NodeMCU開発ボードもHiLetgo ESP32 ESP-32S NodeMCU開発ボード動作は同じだと思いますが、今回私が使っているのは「HiLetgo ESP32 ESP-32S NodeMCU」の方です。
ArduinoのIDEでプログラミング可能です。
アマゾンの注文後、翌日到着しました!早いです!
丁寧に包装されています。
pinも特に曲がったりしていることもありません。
裏面です。
Lチカしたいですが、USBケーブルを接続しましたが、なかなか認識してくれないようです。
ArduinoIDEで動かすため(Mac)
USBで認識してもらうために、下記のサイトから、USBのドライバをダウンロードして、インストールします。
USB-UARTドライバのインストール
私の環境はMacなので、Mac用のドライバをインストールします。
ドライバをインストールしたら、シリアルポート(Port): /dev/cu.SLAB_USBtoUART が現れます。
これは次の手順でArduino IDEから指定します。
arduino-esp32のインストール
githubのページで、説明通りのコマンドを実行して、インストールします。
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/mac.md
mkdir -p ~/Documents/Arduino/hardware/espressif && \ cd ~/Documents/Arduino/hardware/espressif && \ git clone https://github.com/espressif/arduino-esp32.git esp32 && \ cd esp32 && \ git submodule update --init --recursive && \ cd tools && \ python get.py
この後、一回Arduino IDEを再起動してください。
そうするとボードのメニューから、ESP32のボードがたくさん出てきます。自分のボードを選べるようになります。
プログラムを用意して実行
その次は、Lチカのプログラムを用意します!
- Arduino IDE を起動します。ファイルを作って保存します。 ファイル > 新規ファイル > 名前つけて保存 > esp32led
- ボードを選びます。(指定します) >ツール > ボード> ESP32 Dev Module あるいは、NodeMCU-32Sを選んでください。
- Upload Speedを指定します > ツール > Upload Speed > 115200
- Flash Frequency を指定します >ツール > Flash Frequency > 80MHz
- COM port を選びます >ツール > シリアルポート (cu.SLAB_USBtoUART)
- 最後、下のプログラムを入力して、 コンパイルしてNodeMCU-32Sにアップロードします。
int led=14; void setup() { // put your setup code here, to run once: pinMode(led, OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }
Lチカ大成功です!
でも、まだWifiやBluetoothの機能を使っていません!
次は、Wifiの機能やBluetoothの機能を使った実験を色々やって行きますので、次の記事を乞うご期待!笑
では、また!
[amazonjs asin=”B07DKXS9TT” locale=”JP” title=”HiLetgo ESP32内蔵のWiFi WiFiキット32 ESP32 0.96インチ青色OLED Bluetooth WIFI Loraキット32モジュールArduino用インターネット開発ボード”]