Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
公式版Scratchやtoio DoでIoT(ブラウザ上でのJavaScript実行で) / ...
Search
you(@youtoy)
PRO
June 15, 2022
Technology
0
1.7k
公式版Scratchやtoio DoでIoT(ブラウザ上でのJavaScript実行で) / ビジュアルプログラミングIoTLT vol.11
you(@youtoy)
PRO
June 15, 2022
Tweet
Share
More Decks by you(@youtoy)
See All by you(@youtoy)
ローカルLLMをJavaScriptで(少しAIエージェントSDKなどの話も) / 冬のJavaScript祭り @Pleasanter Lounge
you
PRO
0
52
Webの技術で「特殊なゲーム用コントローラーや他デバイスなど」とブラウザを連携させる / HTML5 11th Anniversary
you
PRO
0
65
ブラウザのAPIで Nintendo Switch用の特殊なゲーム用コントローラーを体験型コンテンツに / IoTLT @ストラタシス・ジャパン
you
PRO
0
180
ローカルLLMとLINE Botの組み合わせ その2(EVO-X2でgpt-oss-120bを利用) / LINE DC Generative AI Meetup #7
you
PRO
1
190
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
380
子ども向けの活動や自身のモノづくり活動などでやったこと / micro:bit ファンの集い
you
PRO
0
20
ブラウザのAPIで色々なデバイスをあれこれ扱ってみた話(主にWeb HID API) / IoTLT @JLCPCB オープンハードカンファレンス
you
PRO
0
150
ヒーローズ・リーグの応募作品で使ったデバイス・アイテム・ライブラリなど / #ヒーローズリーグ 2025 開発素材LT
you
PRO
0
54
最近発売された端末+UIFlow 2.0の組み合わせ(+1.0の話)をUSB接続で / ビジュアルプログラミングIoTLT vol.21
you
PRO
0
120
Other Decks in Technology
See All in Technology
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
220
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
910
1人1サービス開発しているチームでのClaudeCodeの使い方
noayaoshiro
1
280
エンジニアリングをやめたくないので問い続ける
estie
2
1.2k
EM歴1年10ヶ月のぼくがぶち当たった苦悩とこれからへ向けて
maaaato
0
280
Reinforcement Fine-tuning 基礎〜実践まで
ch6noota
0
190
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.6k
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
3.4k
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
1.7k
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
820
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
SSO方式とJumpアカウント方式の比較と設計方針
yuobayashi
7
690
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
13k
KATA
mclloyd
PRO
33
15k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
286
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Typedesign – Prime Four
hannesfritz
42
2.9k
Agile that works and the tools we love
rasmusluckow
331
21k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Transcript
公式版Scratchやtoio DoでIoT (ブラウザ上でのJavaScript実行で) 2022年6月15日 (水) ビジュアルプログラミングIoTLT vol.11 豊田陽介( ) @youtoy
自己紹介 ビジュアルプログラミングや IoT、ロボットトイ関連など 豊田陽介( ) 普段は、某通信会社勤務 @youtoy ・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ(IT系以外も) ・
Microsoft MVP(2021/10 から) プライベートでの活動 ・ガジェット好き ・今月開催のメーカーフェア@仙台に出展予定 その他
余談:展示に向けた試作やハマっていること 展示イベントに向けた試作 (センサー+プロジェクション) カメラ画像からの画像認識と、 パーティクルの仕組み 両方ともプログラムはブラウザ上で動作(JavaScript)
今回の話題: 公式版Scratch や toio Do で IoT (Node.js による独自拡張ではなく)
というのをやろうと いろいろ試した内容
作ったものの例(おおまかな説明) ① toio の向き (姿勢)を変える ② toio の姿勢に よって toio
Do上 の表示が変わる ③ Scratch上の表 示が toio Do上の 表示と連動
作ったものの例(おおまかな説明) ① toio の向き (姿勢)を変える ② toio の姿勢に よって toio
Do上 の表示が変わる ③ Scratch上の表 示が toio Do上の 表示と連動 ネットワーク上での 通信を介し、Scratch と toio Do が連動
デモ:公式版Scratchとtoio Doを連動させる
ネットワーク通信を用いた連動のポイント toio ブラウザで開いた toio Do(公式) BLE WebSocket 仲介 サーバー ブラウザで開いた
Scratch(公式) WebSocket
ブラウザのコンソールでのJavaScript実行 toio ブラウザで開いた toio Do(公式) BLE WebSocket 仲介 サーバー ブラウザで開いた
Scratch(公式) WebSocket HTML で表示された数値の取得 & 取得した数値の外部送信 外部から数値データを受信 & その数値に応じたキーイベント発生
なぜこのような事を?
1)公式版Scratch の作品で 物理連動などをさせてみたい (公式拡張で実現できなそうな内容の)
自分以外の人が作った Scratch作品に、外部機器・ サービス連動の追加を気軽に テストできると面白そう?
ゲーム作品でゴールしたら 複数のLEDテープが派手に 光ったりとか?
公式版での実行にこだわらなければ オープンソースの Scratch で独自拡張の開発をする形でも
公式版での実行にこだわらなければ オープンソースの Scratch で独自拡張の開発をする形でも MQTT を扱える拡張を作った話 @2年前の IoTLT
これをやった最大の理由...
2)思いついたから やってみたかった
思いつきの元になったもの Joy-Con・micro:bit をプレゼンリモコンにする話の記事 「【JavaScript】スイッチのJoy-Conをプレゼンリモコンにするワンライナー - Qiita」より
思いつきの元になったもの Joy-Con・micro:bit をプレゼンリモコンにする話の記事 「【JavaScript】スイッチのJoy-Conをプレゼンリモコンにするワンライナー - Qiita」より ブラウザの開発者ツールの コンソールでプログラム実行 というやり方の話が
・Scratch のサイトでも活用 できるだろうか? ・実行できるプログラムの 制約が何かあるか?
必要そうな最小要件などを考えてみる JavaScript で情報取得 可能な HTML の要素 がページ上にあれば JavaScript で発生さ せたキーイベントが
そのままキー入力の 代替になれば MQTT のライブラリ を読み込むか、標準 で扱える WebSocket が動けば Scratch上の情報を 読み取る Scratch上に影響を 及ぼす ネットワークを介 したやりとり
あとは試すのみ!
このあたりはサクッと ・キーイベント利用 ・通信をとりあえず WebSocket で
残るは情報取得
ブラウザの開発者ツールで探る 描画周りは Canvas要素内 とりあえず数字が出ていて 変化する部分を見てみたり
最終的には 変数の中身を描画領域に 表示させるこれが「div」! 「中を見る」・「プロジェクトページ」のどちらでも出ている
詳細はQiitaの記事に #Scratch 3.0 のキー入力イベントをブラウザのコンソール(開発者ツール)の JavaScript からランダム に繰り返し発生させてみる #Scratch 3.0(公式)などで独自拡張機能を使わない外部との通信【概要編】(ブラウザの開発者ツール のコンソール、JavaScript、WebSocket
が関連、 #toio でも利用可) Scratch 3.0(公式)などで独自拡張機能を使わない外部との通信【ソースコード編】(ブラウザの開発者 ツールのコンソール、JavaScript、WebSocket が関連)
独自拡張版のScratchでの事例 PC と有線接続して Groveモジュールなど が扱えるデバイス用の拡張に適用 ⇒ 「LINEアプリの操作」をネット経由で Scratch に受信させる流れ
活用法の模索はこれから!
【とあるイベントの話】 場所は仙台ですが...
6/25(土)@産業見本市会館 サンフェスタ toio のユーザーコミュニティで出展
終わり!