M5Paper 作業メモとリンク集

自分で見返す用。

M5Paper

Switch Science のページ

売り切れていることが多い。

M5Stack のページ

本家。

UiFlow

Web IDE

GitHub - m5stack/M5EPD: M5Paper Arduino LibraryM5Paper Arduino Library. Contribute to m5stack/M5EPD development by creating an account on GitHub.
GitHub - m5stack/M5EPD: M5Paper Arduino Library github.com
GitHub - m5stack/M5EPD: M5Paper Arduino Library

本家の M5Paper 向けリポジトリ。

examples 以下に Arduino での参考実装がある。

M5Stack Library

GitHub - m5stack/M5Stack: M5Stack Arduino LibraryM5Stack Arduino Library. Contribute to m5stack/M5Stack development by creating an account on GitHub.
GitHub - m5stack/M5Stack: M5Stack Arduino Library github.com
GitHub - m5stack/M5Stack: M5Stack Arduino Library

M5Stack のAPI情報など。 M5Paper とは少し違うが参考になる部分も多い。

開発

VSCode + Arduino IDE

Arduino IDE でライブラリなどインストールしておいて、 VSCode から呼び出すかたちにするのが楽。

呼び出しは拡張がある。 (vscode-arduino)

ただ、現在はシリアルモニタが使えないバグが発生中。(2021/05/12現在)

Failed to open serial port due to error on VSC `v1.56.0` · Issue #1257 · microsoft/vscode-arduinoIssue Type: Bug Failed to open serial port /dev/ttyUSB0 due to error: + Error: The module '/home/oskar/.vscode/extensions/vsciot-vscode.vscode-arduino-0.4.2/out/node_modules/usb-detection/build/Rel...
Failed to open serial port due to error on VSC `v1.56.0` · Issue #1257 · microsoft/vscode-arduino github.com
Failed to open serial port due to error on VSC `v1.56.0` · Issue #1257 · microsoft/vscode-arduino

作業に役立つリンク

【M5paper】M5paperでUIFlowの設定をする タッチ操作もしてみたよ【UIFlow】|けんけんM5paperを買ったので、開発環境を構築します。 M5Paper - スイッチサイエンス タッチ操作可能な電子ペーパーを搭載したM5Stackのコアデバイスです。Espressif社の無線モジュールESP32-D www.switch-science.com 私はプログラミング未経験者ということと、子供にいつか教えたいので、ブロックプログラミングのUIFlowを使います。 ファームウェア更新 M5paperのファームウェアをUIFlow用に更新します ◆USBドライバのインストール Download TUTORIAL M
【M5paper】M5paperでUIFlowの設定をする タッチ操作もしてみたよ【UIFlow】|けんけん note.com
【M5paper】M5paperでUIFlowの設定をする タッチ操作もしてみたよ【UIFlow】|けんけん

M5Burner から UiFlow の設定の流れが紹介されている。

M5Stack UIFlowでHTTP(GET)通信 - QiitaM5Stack UIFlowでのHTTP(GET)通信についてメモ##参考にしたサイトこちらを参考にさせてもらいました。ありがとうございました。第9回 - インターネット 編【PLEN5Sta…
M5Stack UIFlowでHTTP(GET)通信 - Qiita qiita.com
M5Stack UIFlowでHTTP(GET)通信 - Qiita

UiFlow で HTTP通信。Link、Mapを良い感じに使っていく。

M5Paper のサンプルプロジェクトへのリンクが載っている。

M5Stack M5Paper発売概要 2020年11月27日にM5Stack社よりM5Paperが発売されたので購入してみました。すこし触ってみたので商品を紹介したいと思います。 商品 M5Paper(スイッチサイエンス)M5Paper ESP32 Development
M5Stack M5Paper発売 lang-ship.com
M5Stack M5Paper発売

Arduino IDE を使う流れが紹介されている。

源真ゴシック (げんしんゴシック)源真ゴシック (げんしんゴシック) は、Adobeのオープンソースフォント「源ノ角ゴシック」を TrueType 形式に変換し、普段使いにおける使い勝手を重視したカスタマイズを施したフリーフォントです。
 jikasei.me
源真ゴシック (げんしんゴシック)

源真ゴシック

NTP使うスケッチ

M5Paper RTC set from NTPM5Paper RTC set from NTP. GitHub Gist: instantly share code, notes, and snippets.
M5Paper RTC set from NTP gist.github.com
M5Paper RTC set from NTP

HTTPS通信

基本は標準のサンプルスケッチ参照。

Let’s Encrypt サイトにうまく繋げられていないので、集約した情報提供APIを個人で用意するならそこのやり方も調査必要。

JSON

ArduinoJson というライブラリが使えるらしい。(未実施)

M5Stick-CでJsonをPOSTする - QiitaM5Stick-Cを使って、HTTP POSTします。当然、BodyにJSONを入れて、JSONが返ってくるやつです。今回は、Arduino IDEを使います。いろんな人が使っているので情報がた…
M5Stick-CでJsonをPOSTする - Qiita qiita.com
M5Stick-CでJsonをPOSTする - Qiita
ESP32-WROOM-32でJSONを扱うのは難しくない | DevelopersIOこんにちはAIソリューション部のさかじです。 ESP32-WROOM-32のようにネットワークに接続できる場合サーバとデータをやりとりする場合にJSONを扱うことがあると思います。しかし、組込みでは文字列の扱いはライブラ …
ESP32-WROOM-32でJSONを扱うのは難しくない | DevelopersIO dev.classmethod.jp
ESP32-WROOM-32でJSONを扱うのは難しくない | DevelopersIO

使いたい情報

気象庁|天気予報").html(t.text.replace(/\n/g,"")).appendTo(o),a.make().addClass("forecast-table").appendTo(e))})}}}("object"==typeof window?window:"object"==typeof global?global:this); !function(e){"use strict";var l=JMAWebUtility.date.strftime;e.Forecast=e.Forecast||{},e.Forecast.WarningComment={insert:function(e,a,t,n){var d=$("").addClass("contents-block"),o=new SimpleTable,s=t.offices[n].name,t=s+"の注意警戒事項",n=l(new Date(a.reportDatetime),"%Y年%m月%d日%H時%M分");ContentsCommon.makeCloseBox(e,d,{title:t}),o.appendRow().addClass("contents-title"),o.appendHeader(s+"の警報・注意報(注意警戒事項)").attr("colspan",2),o.appendRow().addClass("contents-header"),o.appendHeader(n+" "+a.publishingOffice+" 発表").attr("colspan",2),o.appendRow(),o.appendHeader("注意警戒事項"),o.appendCell(a.headlineText).addClass("warning-summary-sentence"),o.addWidths(130,null),o.make().addClass("warning-table").appendTo(d)}}}("object"==typeof window?window:"object"==typeof global?global:this); !function(e){"use strict";function A(e,a,n,t){return a="japan"===a?n:C.area.convertCode(e,n,a,"offices"),t+"data/forecast/"+Forecast.Common.getPathCode(a)+".json"}function p(t,r,o,s,c,i,l,f,m,w,p){var e,a,n,d,k=$("#forecast-area-buttons").empty(),u=$("#short-table-container").empty(),v=$("#warning-comment-container").empty(),y=$("#short-overview-container").empty(),_=$("#short-explain-container").empty(),j=$("#week-table-container").empty(),h=($("#week-overview-container").empty(),$("#week-explain-container").empty()),b=A(t,m,w,p),g=(e=t,a=w,n=p,"japan"===(g=m)?null:n+"/../../warning/data/warning/"+C.area.convertCode(e,a,g,"offices")+".json"),b={fweek:b};g&&(b.warning=g),C.parallelRequest(b,function(e){var a=e.fweek,n=C.date.getHours(new Date(a[0].reportDatetime));ContentsCommon.makeBreadCrumbs(m,w,F.tr("天気予報"),t).appendTo(k),"japan"!==m&&(Forecast.Short.Table.insert(u,t,r,i,l,a,m,w,p),F.isJapanese()&&(e.warning&&Forecast.WarningComment.insert(v,e.warning,t,C.area.convertCode(t,w,m,"offices")),Forecast.Overview.insert(y,t,m,w)),n&&(d=11
気象庁|天気予報 www.jma.go.jp
気象庁|天気予報

気象庁の天気予報。上記リンクは札幌市(石狩地方)。

JSON でデータを取得する場合は
https://www.jma.go.jp/bosai/forecast/data/forecast/016000.json
このような形式。

NTPサーバ

pool.ntp.org: プールを利用するためにNTPを設定する方法は? join the pool use the pool manage servers どうやったらpool.ntp.orgを利用出来るのでしょうか? 単にあなたのコンピュータをネットワークに同期させたい場合は、設定ファイルは非常に簡単です。 (ntp.org ディストリビューションにあるntpdもしくは、他にNTPをサポートする Linux、*BSD、WindowsやあまりなじみのないOSなどでも)
pool.ntp.org: プールを利用するためにNTPを設定する方法は? www.ntppool.org
pool.ntp.org: プールを利用するためにNTPを設定する方法は?

SPAMにならないように、呼び方は工夫。loop で呼ばないのは絶対。開発中の setup も気をつける。

tacck
  • tacck
  • 北の大地の普通のソフトウェアエンジニア。
    インフラ・バックエンド・フロントエンドと、色々やります。

    初心者・若手向けのメンターも希望あればお受けします。

    勉強会運営中
    * ゆるWeb勉強会@札幌
    * スマートスピーカーで遊ぼう会@札幌

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください