ライブラリを更新しました

WebSocket

こんばんは。

今回は私が自作改変したライブラリを複数アップデートした、というお知らせです。

前回の記事で、whileループや長いforループを使うときには yield() を置いて、WDT ( ウォッチドッグタイマ )エラーを回避した方が良いとお伝えしました。
それを受けて、Arduino core for ESP8266 Wi-Fi Chip の自作ライブラリを更新しました。

ところどころ yield() を置いて、その他細かな修正を行いました。
それによって、動作が安定してきたように思います。

EasyWebSocket ライブラリでは、iOSでフリーズが起こっていたのですが、今回のアップデートで1回目のフリーズ後は殆どフリーズせずに高速双方向通信ができているような気がします。

そして、OLED SSD1351 ライブラリでは、前回の記事でSPI通信を高速化しましたので、表示速度が2~3倍アップしました。
文字スクロールも16×16ドットの漢字でも素早くスクロールしてくれます。

では、更新したライブラリをザッと説明します。

スポンサーリンク

OLED SSD1351 Beta 1.53

前回の記事、および、前々回の記事でSPI通信を高速化できたので、それをこのライブラリに実装してみました。
表示速度が2~3倍速くなってます。
特に日本語フォント文字列のスクロールが速くなりました。
ただ、以下の記事では動作しませんので、旧ライブラリbeta 1.40を使ってください。
NTP時刻・温度・湿度・気圧データのSDカードロガー制作。日本語フォントもSDカードから読み込む

【更新履歴】
SPIライブラリを使って高速化させ、GPIOレジスタDirectAccess も使用して高速化させました。
更に、WDT(ウォッチドッグタイマ)エラーを無くすために yield() を所々に配置しました。
これによって動作が安定しました。

以前のツイッタースクロール記事でこのライブラリに変えると格段に速くなると思いますので試してみてください。
https://www.mgo-tec.com/blog-entry-twitter-wroom-ssd1351.html

SPIFFSをやめて、SDカードにするとさらに早くなりますよ。
SDカード仕様へのスケッチ変更方法はここでは書きません。
ツイッター取得のフリーズが解決したら記事にしたいとは思っています。

SD_EasyWebSocket Beta 1.45

SDカードやmicroSDカード版のEasyWebSocketライブラリです。
SPIFFSファイルシステムよりも格段に高速なヘッダファイルの読み込みができて、ブラウザとのコネクションも高速です。

GitHub の こちらのページ にアップしています。
Auduino IDEへのインストール方法は以下のページを参照してください。

EasyWebSocketライブラリのインストール方法

【更新履歴】
所々のループ内で yield() を追加して、WDT ( ウォッチドッグタイマ )を動作させる余地を確保しました。
これによって、動作が少し安定した感じがします。
特に iOS では、初回操作でフリーズが見られますが、それ以降フリーズしにくくなっていると思います。
その他、以下のHTMLタグのクラスを追加しました。

  • EWS_BrowserReceiveTextTag2
    (“ID名称”, “枠テキスト名”,  “枠の色”, フォントサイズ, “フォント色”)
  • EWS_Status_Text2
    (“枠テキスト名”,”枠の色”, フォントサイズ, “フォント色”)
  • EWS_Close_Button2
    (“ボタン名称”, “ボタン色”, ボタン幅, ボタン高さ, “フォント色” , フォントサイズ)
  • EWS_Window_ReLoad_Button2
    (“ボタン色”, ボタン幅, ボタン高さ, “フォント色” , フォントサイズ)
  • EWS_WebSocket_Reconnection_Button2
    (“ボタンの名称”, “ボタン色”, ボタン幅, ボタン高さ, “フォント色” , フォントサイズ)

ボタンの形式はEasyWebSocket ライブラリと同じにしました。
こんな感じです。

このライブラリの詳しい使い方は以下の記事を参照してください。
(Beta 1.1)
https://www.mgo-tec.com/blog-entry-ws-lib-beta11-01.html

(Beta 1.3)
https://www.mgo-tec.com/blog-entry-easywebsocket-beta13.html

(Beta 1.37)
https://www.mgo-tec.com/blog-entry-ews137-01.html

(Beta 1.39)
https://www.mgo-tec.com/blog-entry-softap-esp8266-easywebsocket139.html

(Beta 1.42)
https://www.mgo-tec.com/blog-entry-jpeg-picture-wifi-oled-esp8266.html

 EasyWebSocket_SPIFFS Beta 1.45

SPIFFSファイルシステム版のEasyWebSocketライブラリです。
GitHub の こちらのページにアップしています。
Arduino IDE へのインストール方法は以下のページを参照してください。

EasyWebSocketライブラリのインストール方法

あとは、SDカード版のEasyWebSocketライブラリと同じところを修正しました。

SD_UTF8toSJIS Beta 1.0.1

GitHub の こちらのページにアップしています。

今回はwhileループにyield() を1か所追加しただけです。

これの使い方は以下のページを参照してください。
https://www.mgo-tec.com/blog-entry-wroom-esp8266-bme280-ssd1351-sd.html

SD_ShinonomeFontRead Beta 1.0.1

GitHub の こちらのページにアップしています。

これもwhileループにyield() を追加しただけです。

これの使い方も以下のページを参照してください。
https://www.mgo-tec.com/blog-entry-wroom-esp8266-bme280-ssd1351-sd.html

今回は以上です。

ここ最近、SPI通信についてだいぶ理解してきました。
いろいろと応用できそうですよ。

ではまた・・・。

Amazon.co.jp 当ブログのおすすめ

スイッチサイエンス ESPr Developer 32 Type-C SSCI-063647
スイッチサイエンス
¥2,420(2024/04/16 23:08時点)
ZEROPLUS ロジックアナライザ LAP-C(16032)
ZEROPLUS
¥22,503(2024/04/16 08:28時点)
Excelでわかるディープラーニング超入門
技術評論社
¥2,068(2024/04/16 18:08時点)

コメント

タイトルとURLをコピーしました