ESP32 OLED ニュース、天気予報写真

ESP32 と 有機EL SSD1331 で Yahoo News 、 天気予報 、 NTP 時計 Wi-FI ガジェットを作ってみた

記事公開日:2017年6月8日
最終修正日:2017年10月7日

スポンサーリンク

Arduino core for ESP32 が大幅アップデートされたため、自作ライブラリもアップデートしました。
最新版をダウンロードしてください。
そして、以下の記事で ESP32 の CPU デュアルコア対応にしましたので、合わせてご覧ください。
Yahoo ニュース、天気予報、NTP時計ガジェットを ESP32 マルチタスク ( デュアルコア )で動かしてみた
(2017/8/2)

こんばんは。

前回までの記事では、ESP32 – DevKitC ( ESP-WROOM-32 開発ボード ) と フルカラー 有機EL ( OLED )  SSD1331を使った、NTP時計やフォント表示などをやってきましたが、今回からはそれらを全て合体して、普段の生活や仕事で必要な Wi-Fi ガジェット を作ってみました。

Wi-Fi 定期自動取得して表示させるものは、こんな感じです。

●Yahoo! Japan RSS ニューストピックストップ記事
●年月日、曜日
●NTPサーバー、定期自動補正ウォッチ
●今日と明日の天気予報

OLED SSD1331 は 96×64 pixel なので、16×16ドットの日本語表示幅では4列で別々のガジェットを表示できます。

まず、動作動画をご覧ください。

いかがでしょうか。
ESP8266 ではなかなかここまでの情報を同時にスムースにスクロールすることはできませんでしたが、流石にESP32 ( ESP-WROOM-32 )はスゴイですね。

今までの日本語フォント表示やスクロール、天気予報表示では、プログラムがゴチャゴチャしていて、私自身も使い辛かったので、今回はできるだけライブラリ化して、Arduino スケッチ上ではできるだけシンプルになるようにしてみました。
ただ、素人の即席自作ですので、動作は保証しません。
今回は見切り発車的なリリースですので、ご了承ください。

Web から 定期的に記事を GET していると、しばらく経つとフリーズしているということがあります。
これの原因はまだ不明です。
ESP32 – DevKitC に供給する電源に問題があるかも知れないですし、私のプログラムミスかも知れません。
もし、解る方がいらっしゃったら、コメント等でご連絡いただけると助かります。

2017/8/2 に Arduino core for ESP32 が大幅アップデートされ、フリーズしなくなりました。
今後はできるだけこれらのライブラリ群を修正していきたいと思っていますが、いろいろと忙しく、なかなか手が回らない状況ですので、ご容赦ください。
(このブログを維持するのが、とっても辛くなってきました・・・。)

では、泣き言はこれくらいにして、これについて説明していきたいと思います。

準備するもの

前回の記事と同じデバイスですが、初めてこのページを見る方のために念のため説明しておきます。

ESP32 – DevKitC ( ESP-WROOM-32 開発ボード )

私は秋月電子通商さんで購入しましたが、Amazonさんでも以下の販売店にありました。

カラー OLED SSD1331 モジュール

秋月電子通商さんに Pmod という製品でありました。
これの、VCCEN と PMODEN 端子をHIGH にプルアップすれば同じように使用できます。
出所がしっかりしているので、信頼性はありますね。

http://akizukidenshi.com/catalog/g/gM-11560/

Amazon.co.jpでは現在中国販売店しかありません。
値段が安いところもありますが、品質は正直言って分かりません。
スイマセン。

SparkFun マイクロSDカードスロット・ピッチ変換基板

これはピンヘッダは別売りです。別途ハンダ付けしてください。

micro SDHC カード

私が使って動作確認が取れている micro SDHC カードは以下のものです。


1/4W 10kΩ程度の固定抵抗 2つ

ブレッドボード、ジャンパーワイヤーパソコン、USBケーブル等

ESP32 – DevKitC と接続する

前回までの記事と全く同じです。
micro SDHC カードスロットは VSPI 接続。
OLED SSD1331 は HSPI 接続です。

もし、micro SDHC カードの読み取りや書き込み不良があれば、SCK や CSピンもプルアップしてみてください。

HSPI_VSPI_20

Arduino IDE の設定

Arduino IDE は 1.8.2 を使用してください。
そして、Arduino core for the ESP32 は必ず最新版をダウンロードして、get.exe を実行してインストールしてください。
古いと WiFi に接続できなかったりすることがあります。

Arduino core for the ESP32 のインストール方法は以下のページを参照してください。

Arduino core for the ESP32 のインストール方法

スポンサーリンク


mgo-tec電子工作 関連コンテンツ ( 広告含む )

投稿者:

mgo-tec

Arduino , ESP32 ( ESP-WROOM-32 ) , ESP8266 ( ESP-WROOM-02 )等を使って、主にスマホと連携した電子工作やプログラミング記事を書いてます。ライブラリも作ったりしてます。趣味、独学でやってますので、動作保証はしません。
電子回路やプログラミングの専門家ではありません。
畑違いの仕事をしてます。
でも、少しだけ電気の知識が必要な仕事なので、電気工事士や工事担任者等の資格は持ってます。

「ESP32 と 有機EL SSD1331 で Yahoo News 、 天気予報 、 NTP 時計 Wi-FI ガジェットを作ってみた」への5件のフィードバック

  1. フリーズとは関係有りませんが、IDE1.8.2 起動中にスケッチのソースコードを変更して、(rss等 4410 を 5010 「静岡」)に変更して、書き込みを行うと 75行の ”ESP32  日本語”の表示が ”ESP {“ と表示され 天気予報アイコンが表示されません。
    シリアルモニターの表示が
    WEB HTTP Response
    Client Stop
    Weathen forecast =
    Weathen Today =
    Weathen Tomorrow =
    = が空白です。
    スケッチのソースコードを変更した状態で、保存 終了して。
    IDEを再起動して書き込むと 75行や天気予報アイコンも正常に表示されます。シリアルモニターにも状況が表示されます。
    Arduino core for the ESP32 は最新版を使用、ライブラリも最新版です。
    ESP32 – DevKitC ( ESP-WROOM-32 開発ボード )やESP32 単体で行っても同じ結果が出ました。
    書き込み速度は 921600 と 115200ともエラー無く書き込み出来ます。
    文字のスクロールの早さに感激です。

    1. 太田さん

      いつも当ブログにお越しいただき、そしてコメントいただき、ありがとうございます。
      m(_ _)m

      私の環境ではそういう現象が起こらないので、あくまで予想ですが、ブラウザからソースコードをクリップボードへコピーした時には Shift_JIS 等の文字コードになっていて、Arduino IDE のスケッチを保存しないままコンパイルした場合は、日本語漢字や全角の”】” などの文字コードが正しく変換されなかったと思われます。
      ですから、一旦、Arduino IDE でスケッチを保存すると、UTF-8 コードで保存されるので、正しい文字コードになると思われます。

      MAC は使ったことが無いので分かりませんが、古い Windows を使っていたり、ブラウザが Google Chrome 以外を使うとそういう現象が起こる可能性があります。
      私の場合は、Windows10 で、ブラウザは Google Chrome を使っています。
      文字変換は Microsoft IME を使っています。
      日本語変換ソフトが ATOK だったりした場合はまた違う結果になるかもしれません。
      申し訳ないのですが、Windows の文字コード設定はどこでやるのか良く分かりません。

      いずれにしても、ブラウザからスケッチをコピーした場合は、必ず Arduino IDE で一旦保存して、再起動するということが確実そうですね。
      この件はトラブルシューティングに掲載させていただこうと思います。
      他の方が違う環境で実行してくださると、バグ等の解明が速いですね。
      いつも当ブログのスケッチを実行していただき、ほんとに感謝いたします。
      ありがとうございました。
      m(_ _)m

    2. 太田さん、すみません。

      たった今、同じ現象が私の環境でも起こりました。
      失礼しました。

      おそらく、ブラウザからクリップボードへコピーしただけでは、日本語全角文字 “◆” や “】” が正しく変換されないようです。
      一旦スケッチを保存することによって、正しい文字コードに変換されるようです。
      Arduino IDE 1.8.2 からそういうモードになったのかもしれません。

      ただ、Arduino IDE を再起動しなくても、保存するだけ、その後コンパイルすれば良いことは分かりました。

      ご指摘いただかないと分かりませんでした。
      今まで、他の方も同じ症状でうまく動かなかった可能性がありますね。

      たいへん貴重な情報ありがとうございました。
      重ねてお礼申し上げます。
      m(_ _)m

  2. スケッチを保存してから書き込みを行うとOKでした。
    IDE1.8.3 でのテストも同じ状態ですね。

    1. そうですね。
      スケッチを保存してから書き込みですね。
      それぞれの記事に追加コメント入れました。
      ありがとうございます。

      それと、1.8.3 がリリースされていたんですね。
      知らなかった・・・。

      重ね重ね、情報ありがとうございます。
      m(_ _)m

コメントを残す

メールアドレスが公開されることはありません。

*画像の文字を入力してください。(スパム防止の為)