Upgrade to Pro — share decks privately, control downloads, hide ads and more …

M5Paperでスケジューラを 作ってみた

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for akatsukinewgrad akatsukinewgrad
December 14, 2021
1.9k

M5Paperでスケジューラを 作ってみた

Avatar for akatsukinewgrad

akatsukinewgrad

December 14, 2021
Tweet

More Decks by akatsukinewgrad

Transcript

  1. M5Paper スペック コントローラ: ESP32 2 Core CPU (@160/240MHz) Wi-Fi /

    Bluetooth搭載 16MB FlashROM 8MB RAM 16階調 960x540 EPD (電子ペーパー) タッチスクリーン付き M5Paper

  2. 仕組み - (1)予定を取得 • Google Calendar API ...OAuth認証? アプリ作成? ...めんどくさい

    ◦ セキュリティ管理が面倒なのでカレンダー読めるアプリを紐づけたくない ◦ RasPiとか外部機器を使ったら負けかなと思っている • iCal 形式エクスポート! https なURLにアクセスするだけ → 10MBくらいの全予定が入った .ics ファイルが降ってくる
  3. M5Paper スペック コントローラ: ESP32 2 Core CPU (@160/240MHz) Wi-Fi /

    Bluetooth搭載 16MB FlashROM 8MB RAM 16階調 960x540 EPD (電子ペーパー) タッチスクリーン付き M5Paper

  4. 仕組み - (1)予定を取得 (続き) 大丈夫です、そう、ストリーム処理ならね ダウンロードしながら .ics (テキストです) を パースして直近の予定だけ抽出すればいい

    C++(Arduino向け)でparserを書いた BEGIN:VEVENT
 DTSTART:20210914T020000Z
 DTEND:20210914T090000Z
 DTSTAMP:20210724T041053Z
 ORGANIZER;[email protected]:mailto:[email protected]
 UID:[email protected]
 ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT =NEEDS-ACTION;CN=ha
 ckers;X-NUM-GUESTS=0:mailto:[email protected]
 ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT =NEEDS-ACTION;[email protected];X-NUM-GUESTS=0:mailto :[email protected]
 ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT =ACCEPTED;[email protected];X-NUM-GUESTS=0:mailto:yuto.koma [email protected]
 CREATED:20210721T030115Z
 DESCRIPTION:
 LAST-MODIFIED:20210724T022342Z
 LOCATION:
 SEQUENCE:0
 STATUS:CONFIRMED
 SUMMARY:テスト予定
 TRANSP:OPAQUE
 END:VEVENT
 タイトル
 この辺にZoomのURLとかが入ったりする 
 開始・終了時刻
 なんだ、楽勝じゃん😸
  5. 仕組み - (2) Zoomを開く 直近の予定を表示 → Zoomリンクを含む予定がタップされたら、Zoomを開く (1) Macにシリアル(USB)かWiFi経由でURLを送信 (2)

    open "zoommtg://zoom.us/join?confno=123..&pwd=abc..."   でZoomミーティングを(確認とかスキップして)開けます