ESP32

PlatformIOでESP32の開発をしよう

PlatformIOでESP32の開発をしよう

概要

この記事は rogy Advent Calendar 2018 の 22日目の記事です.

こんにちは.けりです.

今回は,PlatformIOという強力なマイコン開発環境の紹介です.

PlatformIO とは?

PlatformIOとは,mbedやArduinoと似たような感じで,さまざまなボードやライブラリを統一的に開発できる開発環境です.

PlatformIO はESP32マイコンを公式にサポートしていて,ESP-IDFArduino Core for the ESP32から選んで開発することができます.

ESP32にSmartConfigでWiFi情報を伝える

ESP32にSmartConfigでWiFi情報を伝える

WiFiのSSIDとパスワードをどう伝えるか問題

ESP32はWiFiに接続することができますが,ソースコードにWiFiのSSIDとパスワードを書いてしまうと,後から変更できません.

さらに,ソースコードを公開するときは,SSIDとパスワードの部分をいちいち削除しなければならず,けっこう面倒です.

以前はSDカードを使ってWiFi情報を伝える方法を紹介しましたが,これも割と手間でした.

SmartConfigとは,そんな悩みをスマホで解決する機能です.

秋月の時計キットをNTP時計化

秋月の時計キットをNTP時計化

家の玄関で地味に役に立っていた時計

かなり前に秋月電子で買った時計キット
数字が大きく,遠くからでもよく見えるので自宅の玄関で地味に役立っていました.

しかし,水晶の精度がいまいちでよくズレるので,7セグの表示部だけを残してESP32によるNTP時計にアップデートしました.

ESP32の設定管理ライブラリの紹介

ESP32の設定管理ライブラリの紹介

概要

みなさん,ESP32使ってますか?僕は使っています.その偉大さには驚くばかりです.

さて,今回紹介するのは,Arduino core for ESP32に含まれているライブラリ「Preferences」です.

ESP32で何か物を作るとき,電源を切っても保存しておきたいデータなどがあると思います.独自の形式やJSONなどでファイルに保存する方法もありますが,保存と復元の処理を実装するのはなかなか面倒です.

みんなどうせ同じようなことをするでしょうということで,ESP32ではライブラリが用意されていました.

不揮発性のフラッシュ領域を使ってデータを保存&復元します.

ESP32で時間取得

ESP32で時間取得

概要

今回はESP32で現在時刻を取得するサンプルコードの紹介です.

今回のコードではC++標準の時刻を合わせるので,std::time()関数で時刻を取得することができるようになります.

ESP32からメールを送る

ESP32からメールを送る

概要

ESP32にはHTTPSクライアントライブラリがあるので,SMTPプロトコルを使ってGmailを送信してみました.意外にもうまくいってしまったので,共有します.

Arduino上で動くコードです.esp32-arduino-coreは最新のものを使用してください.古いものだと,SSLまわりでエラーが発生します.

ESP32用UIライブラリ

ESP32用UIライブラリ

概要

ESP32も徐々に使い慣れてきました.今回の記事では,ちょっとした工作には欠かせないユーザーインターフェースのコードを紹介します.

  • スピーカーから音階を鳴らすブザークラス
  • タクトスイッチなどのボタンを扱うボタンクラス

今回のコードは,ESP32用に書かれています.ご注意ください.