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
JavaScript+ビジュアルプログラミング+ガジェット=? / エンジニアの自由研究発表会...
Search
you(@youtoy)
PRO
January 26, 2022
Technology
0
270
JavaScript+ビジュアルプログラミング+ガジェット=? / エンジニアの自由研究発表会vol.5
you(@youtoy)
PRO
January 26, 2022
Tweet
Share
More Decks by you(@youtoy)
See All by you(@youtoy)
ブラウザのAPIで Nintendo Switch用の特殊なゲーム用コントローラーを体験型コンテンツに / IoTLT @ストラタシス・ジャパン
you
PRO
0
92
ローカルLLMとLINE Botの組み合わせ その2(EVO-X2でgpt-oss-120bを利用) / LINE DC Generative AI Meetup #7
you
PRO
1
150
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
270
子ども向けの活動や自身のモノづくり活動などでやったこと / micro:bit ファンの集い
you
PRO
0
13
ブラウザのAPIで色々なデバイスをあれこれ扱ってみた話(主にWeb HID API) / IoTLT @JLCPCB オープンハードカンファレンス
you
PRO
0
130
ヒーローズ・リーグの応募作品で使ったデバイス・アイテム・ライブラリなど / #ヒーローズリーグ 2025 開発素材LT
you
PRO
0
40
最近発売された端末+UIFlow 2.0の組み合わせ(+1.0の話)をUSB接続で / ビジュアルプログラミングIoTLT vol.21
you
PRO
0
100
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
220
ブラウザで CircuitPython の開発:公式の「CircuitPython Code Editor」を試した / 【屋形船開催】IoT縛りの勉強会! IoTLT vol.126 @東京湾
you
PRO
0
140
Other Decks in Technology
See All in Technology
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
300
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
140
もう外には出ない。より快適なフルリモート環境を目指して
mottyzzz
13
9.6k
SQLAlchemy の select(User).where(User.id =="123") を理解してみる/sqlalchemy deep dive
3l4l5
3
320
serverless team topology
_kensh
3
200
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
120
スタートアップの現場で実践しているテストマネジメント #jasst_kyushu
makky_tyuyan
0
110
What's new in OpenShift 4.20
redhatlivestreaming
0
130
Observability for the system understanding and curious by developers
maruloop
1
400
ソフトウェアエンジニアの生成AI活用と、これから
lycorptech_jp
PRO
0
860
20251027_マルチエージェントとは
almondo_event
0
110
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
4.7k
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
8
300
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Automating Front-end Workflow
addyosmani
1371
200k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Transcript
JavaScript+ビジュアルプログラミング +ガジェット=? 2022年1月26日 (水) エンジニアの自由研究発表会vol.5 @オンライン 豊田陽介( ) @youtoy
自己紹介 ビジュアルプログラミング や IoT関連、その他にも 豊田陽介( ) 普段は、某通信会社勤務(@埼玉) ※ 仕事は開発系ではなかったり @youtoy
・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ(IT系以外も) ・最近は技術雑誌での連載や、技術書出版も ・Microsoft MVP(2021/10 から) プライベートでの活動 ・ガジェット好き ・面白そうなもの・新しいものを色々試すのも好き その他 自宅にたくさん ↓直近のイベント は 2/24 に
タイトルにも出している 自分がよく使う技術 ▪ ビジュアルプログラミング ▪ JavaScript ▪ ガジェット
これらを使って自由研究で 作ったプロトタイプ
バーチャルとリアルを つなぐインタラクション
自由研究で作ったプロトタイプ PC のカメラでとらえた指の動きが LEDテープの光と連動 ブラウザで取得 したカメラ映像 フルカラーLED テープ 機械学習による 画像内の手の認識
プロトタイプが実際に動いている様子 ちなみに大晦日ハッカソンというイベントで作ったもの
よく使っている技術 を組み合わせて 短時間で作成
キーワードについて それぞれの話を ▪ ビジュアルプログラミング ▪ JavaScript ▪ ガジェット
ビジュアルプログラミングを使う背景 ・開発環境の準備が簡単なものが多い ⇒ ブラウザさえあれば開発環境が準備できる、という レベル感のものがいろいろ ・便利な拡張機能が用意されているものも ⇒ 複雑な処理を隠蔽してくれる (個人的に)プロトタイプを
サクッと作るのに便利
【具体的なとある事例】便利な拡張機能 ボタン押下でフルカラーLEDテープ (LED 30個)を虹色に光らせる Microsoft MakeCode for micro:bit で neopixel用の
拡張ブロックを利用 たった 6つのブロック
便利な拡張機能を使ってこんな試作 ダイソーのおもちゃの刀に LEDテープを仕込むと このようなものが!
普段から面白そうと思う ことに色々手を出してみる
新しい学びが いろいろ得られたりも
ビジュアルプログラミングでできること ・サーバーサイドの処理(Node-RED等) ・HTTPサーバー、MQTTブローカー、WebSocketサーバー、など ・ネット経由での他サービスとの連携(UIFlow、Node-RED等) ・HTTPリクエスト(GET、POST) ・デバイス間通信(UIFlow、Node-RED、他) ・シリアル通信、BLE通信、など ・AIアシスタント関連開発(Voiceflow等) ・スマホアプリ開発(MIT App
Inventor) 様々な処理・開発を扱えるものがあります
適材適所で ・込み入った処理が扱い辛い(作れるけどテキストの プログラミングで書いたほうが楽な場合も) ・拡張機能を使っても対応可能な範囲が限られることも もちろん良いことずくめではなく 得手不得手みたいな話は、様々な開発環境・言語でも 同じことが起ある部分ではありますが...
次のキーワードへ
JavaScript(ブラウザ上)でできること ・デバイスとの直接通信 ・Web Bluetooth API、Web Serial API、など ・IoT等にも使われるリアルタイム通信 ・WebSocket や
MQTT(※クライアントサイド) ・機械学習(学習と推論) ・Tensorflow.js やそれを使った仕組み、など (画像、音を対象にした学習、それを用いた推論、 自然言語処理系の学習や推論など) ・2D・3Dの描画処理 ・画面キャプチャ系の処理 ブラウザ上で 行える処理の例
つい数日前に作ってみたもの ブラウザで機械学習と画面キャプチャ関連処理
・PC にブラウザが入っていれば OK (先ほどのものをあれこれ扱うなら Chrome がオススメ) 実行環境の準備が簡単 できることとメリット ・テキストベースのファイルを渡して試してもらえる ・自分が
Webサイトで公開すれば URL を伝えるだけで OK 試してもらうのが簡単
ガジェットについてさらっと ・開発環境は自分が得意なもの、慣れてない人にも扱いやすい ものに対応していると便利 ・通信機能の有無は様々なので必要なものがあるか要確認 (無線機能なし、Bluetoothのみ、Wi-Fi+Bluetooth) 手軽に使うならセンサー等内蔵のものがオススメ 対応している開発環境や通信機能を要確認 ・電子工作の手間を省いてお試しをサクッと (もしくは接続の手間が少ない Grove
を活用したり)
異なる技術を組み合わせた プロトタイピングを 行いやすくする話
過去事例:役割分担+間をつなぐ MQTT 【C言語】 二酸化炭素濃度 取得、通信処理 【JavaScript】 二酸化炭素濃度を使った 処理や各通知系全般の 通信処理 MQTT
HTTPリクエスト 【ビジュアル プログラミング】 通信処理、音・LEDの 制御系処理 二酸化炭素濃度 情報の通知
どれか1つだけでも できることが様々 ▪ ビジュアルプログラミング ▪ JavaScript ▪ ガジェット
全部いっぺんにではなく どれか気になったものから というやり方でも
終わり!