Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
M5Paperでスケジューラを 作ってみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
akatsukinewgrad
December 14, 2021
2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
M5Paperでスケジューラを 作ってみた
akatsukinewgrad
December 14, 2021
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
170
成果発表資料.pdf
akatsukinewgrad
0
2.2k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
650
正規表現とReDoS.pdf
akatsukinewgrad
0
640
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
700
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
610
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
790
7分でわかるアカツキゲームス
akatsukinewgrad
0
650
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
1.1k
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
630
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Navigating Weather and Climate Data
rabernat
0
220
How to make the Groovebox
asonas
2
2.2k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
The Language of Interfaces
destraynor
162
27k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
710
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Faster Mobile Websites
deanohume
310
31k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
310
Transcript
M5Paperで スケジューラを 作ってみた Tomoki Sekiyama
自己紹介 名前: せきやま ともき 職種: サーバエンジニア ゲームのサーバサイド・アプリケーションを書いたり、 インフラ(AWS, GCP)を整備したり、その他色々 趣味: 読書(主にSF),
電子工作
M5シリーズ ESP32 マイコンを搭載した小型デバイス Wi-Fi, Bluetooth搭載 → IoT な電子工作で大人気 M5Stack M5StickC
M5Paper
M5Paper スペック コントローラ: ESP32 2 Core CPU (@160/240MHz) Wi-Fi /
Bluetooth搭載 16MB FlashROM 8MB RAM 16階調 960x540 EPD (電子ペーパー) タッチスクリーン付き M5Paper
スケジューラー作った Googleカレンダーから予定を取得 30秒前に音を鳴らす (スピーカは外付け) 予定を1タップするだけで即Zoom開始 Zoom終了
仕組み - (1)予定を取得 • Google Calendar API ...OAuth認証? アプリ作成? ...めんどくさい
◦ セキュリティ管理が面倒なのでカレンダー読めるアプリを紐づけたくない ◦ RasPiとか外部機器を使ったら負けかなと思っている • iCal 形式エクスポート! https なURLにアクセスするだけ → 10MBくらいの全予定が入った .ics ファイルが降ってくる
M5Paper スペック コントローラ: ESP32 2 Core CPU (@160/240MHz) Wi-Fi /
Bluetooth搭載 16MB FlashROM 8MB RAM 16階調 960x540 EPD (電子ペーパー) タッチスクリーン付き M5Paper
None
仕組み - (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とかが入ったりする 開始・終了時刻 なんだ、楽勝じゃん😸
立ちはだかる壁 タイムゾーン 繰り返し予定 (特定曜日 / 隔週 / 毎月第3週…) 繰り返しの特定日だけキャンセル 繰り返しの特定日だけ変更
None
仕組み - (1)予定を取得 (続き) 雑に対応しました
仕組み - (2) Zoomを開く 直近の予定を表示 → Zoomリンクを含む予定がタップされたら、Zoomを開く (1) Macにシリアル(USB)かWiFi経由でURLを送信 (2)
open "zoommtg://zoom.us/join?confno=123..&pwd=abc..." でZoomミーティングを(確認とかスキップして)開けます
仕組み - (3) Zoomを閉じる Zoomアプリケーションを終了させちゃえばOK AppleScript 1liner で osascript -e
'quit app "zoom.us"'
M5Paper でスケジューラ作ってみた 皆さんも何か作ってみてはいかが? (M5Paperちょっとお高いけどね) Happy IoT Hacking !!