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
Moddableで始めるJavaScript×IoT開発
Search
Shinya Ishikawa
July 14, 2020
Technology
0
100
Moddableで始めるJavaScript×IoT開発
M5Stackユーザーミーティング vol.8 の発表資料です。
Shinya Ishikawa
July 14, 2020
Tweet
Share
More Decks by Shinya Ishikawa
See All by Shinya Ishikawa
なぜModdableで作るのか(あるWeb屋さんの場合)
meganetaaan
0
120
Other Decks in Technology
See All in Technology
アクセス制御にまつわる改善 / Improving access control
itkq
0
590
How to do well in consulting–Balkan Ruby 2024
irinanazarova
0
150
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
460
M5stackで使用できるpHセンサの開発
shinrinakamura
0
210
require(ESM)とECMAScript仕様
uhyo
4
990
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
3
410
社内アプリで Cloudflare D1を プロダクト運用してみた体験談(Tokyo)
haochenx
0
120
今日からできる!簡単 .NET 高速化 Tips -2024 edition-
xin9le
7
4.1k
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
170
ルーターでプレゼンする
puhitaku
1
3.3k
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
2
330
生産性向上チームの紹介
cybozuinsideout
PRO
1
930
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
21
1.6k
Web Components: a chance to create the future
zenorocha
306
41k
Happy Clients
brianwarren
92
6.4k
The Cost Of JavaScript in 2023
addyosmani
21
3.9k
Designing the Hi-DPI Web
ddemaree
276
33k
Product Roadmaps are Hard
iamctodd
45
9.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
A better future with KSS
kneath
231
16k
Building Your Own Lightsaber
phodgson
100
5.7k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.2k
Optimizing for Happiness
mojombo
370
69k
Design by the Numbers
sachag
274
18k
Transcript
Moddableで始める JavaScript × IoT開発 あるフロントエンドエンジニアの場合 ししかわ @meganetaaan https://meganetaaan.github.io/
ししかわ@meganetaaan • M5Stack-Avatar作者 • 株式会社アールティ ◦ フロントエンドエンジニア 兼 ロボットエンジニア見習い •
M5Stack自慢大会へのエントリーを完全に忘れていたうっかりさん やっちまったな!
Moddableはいいぞ! #M5Stack_UGjp お伝えしたいこと
Moddableとは • JavaScriptでIoTアプリケーションが作れるプラットフォーム • M5Stack/M5StickCにも対応している https://www.moddable.com/
背景: ArduinoでIoTを始めた フロントエンドエンジニアの悩み いっぱいセンサとかモータまわして 低レイヤつよつよになるぞ~
悩み1:C/C++がわからなくて、疲弊する • デバイス側で動くコードはC/C++ • 組み込みの知識とCの文法を同時に学習する必要 • 最初はArduinoのサンプルスケッチのコピペでなんとなく動くが ◦ 応用が効かない ◦
何かトラブルがあったら自分で解決できない !?!?? !?!?! ??!!? 詰む…
悩み2:凝ったUIが作れなくて、もんもんとする • 普段Webブラウザ越しのこういう ↓ 画面を見慣れている https://experience.soletanche-bachy.com/en/T219-metro-singapore • 画面に映えが足りない… 積む… 夜の砂漠のように
荒涼としている
Moddableなら… C/C++がわからない… JavaScriptが使える! 凝ったUIが作れない… 画像も音声も タッチ入力も自在! つまない!!
Moddableの特徴*2
極小JavaScriptエンジン「XS」 • ModdableのコアとなるJavaScriptエンジン • RAMが少ないマイコンでも動く • オフラインでも動く • 小さいのにECMAScriptの最新仕様をほぼ網羅
99.6% ModdableのEcmaScript仕様適合率 https://github.com/tc39/test262 ↓つまり ChromeとかFirefoxと同じレベルで全部の文法が使えるってこと!
マイコン向けUIフレームワーク「piu」 • Moddableに同梱のUIフレームワーク • モダンなUI構築のための機能が全部入り ◦ ☑文字 ◦ ☑画像 ◦
☑音声 ◦ ☑タッチ入力 ▪ (M5Core2が来れば…!) ◦ ☑アニメーション/トランジション ◦ ☑レスポンシブデザイン ◦ ☑コンポーネント指向 ◦ ☑国際化対応
「良さそう」と思いましたか?
実際
Moddableはいいぞ! #M5Stack_UGjp お伝えしたいこと(再掲)
前置きが長くなりましたが
作品自慢します!
作例1:たたけ!ボンゴキャット https://github.com/meganetaaan/moddable-examples/ • ボタンを押す→ニャーンと鳴く • MACアドレスを使って背景色算出 →端末によって色とりどりのキャット 音声 C API
画像 (PNG)
作例2:ゲーミング板 • ゲーミング概念を板状に固めたもの • NeoPixel(WS2812B) NeoPixel
作例3:Twitterクライアント https://github.com/meganetaaan/moddable-examples/ • M5Stack単体でちゃんと動くTwitterクライアント • Twitterのタイムライン取得APIを正規の方法で叩いている JSON HTTP トランジショ ン
文字 (日本語)
作例4:ポモドーロタイマー https://github.com/meganetaaan/moddable-examples/ • パーティーパロットが回ることで仕事への意欲が不思議とアガるタイマー • 残り時間が少なくなると回転速度もアガる 画像 (gif) Timer
作例5:息子ロボ https://github.com/meganetaaan/moddable-examples/ • 息子のスケッチがツボにはまったので作った • M5ATOMでマイクロサーボを駆動 PWM NeoPixel
作例6:PLEN5Stackの制御 https://github.com/meganetaaan/moddable-plen5stack/ • PLEN5Stack拡張ボードとI2C通信 • 音声はGoogleCloudTTSで生成 →piuの音声再生機能で再生 • TypeScriptで制御された 世界初の2足歩行ロボット(自称)
I2C 音声
早く作って 公開できる たくさん フィードバックが もらえる 知識が付く JavaScriptなら
つまり
Moddableはいいぞ! #M5Stack_UGjp お伝えしたいこと(再掲)
宣伝:ModdableコミュニティのDiscordあります Moddable Developers Japan https://discord.com/invite/trX3udZ