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
250
JavaScript+ビジュアルプログラミング+ガジェット=? / エンジニアの自由研究発表会vol.5
you(@youtoy)
PRO
January 26, 2022
Tweet
Share
More Decks by you(@youtoy)
See All by you(@youtoy)
"かわいい" がテーマのハッカソンでWebの技術を使って魔法の世界を作った話など / HTML5 10th Anniversary
you
PRO
0
59
ブラウザで AI・機械学習が扱える TensorFlow.js が使われているライブラリなどの話 / #さくらのAI Meetup vol.4「ブラウザ」
you
PRO
0
130
Blynk と Raspberry Pi Pico W で IoT 〜 MQTT・HTTPリクエストの組み合わせも 〜 / IoTLT vol.114
you
PRO
0
270
AIを活用したWebアプリのプロトタイプを作ってコンテストや展示に出してみた話 / 大阪工業大学 ネットワークデザイン学科 LT大会 2024v2
you
PRO
0
65
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
500
WebHID API で Joy-Con・DUALSHOCK 4 のセンサーをブラウザから利用する / IoTLT vol.109
you
PRO
0
240
UIFlow 2.0 で MQTT をやってみた! / IoTLT vol.108
you
PRO
0
2.5k
UIFlow 2.0 と ATOMS3 の組み合わせで LINE通知を試す / ビジュアルプログラミングIoTLT vol.16
you
PRO
0
450
技術コミュニティの中での生成AI(自身の観測範囲での事例について) / 23 Xmas Talk / 20231209
you
PRO
0
1.5k
Other Decks in Technology
See All in Technology
Terraform Stacks入門 #HashiTalks
msato
0
350
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
Lexical Analysis
shigashiyama
1
150
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
600
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
400
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
240
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
120
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
150
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Fireside Chat
paigeccino
34
3k
Making Projects Easy
brettharned
115
5.9k
Building Adaptive Systems
keathley
38
2.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Practical Orchestrator
shlominoach
186
10k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Code Reviewing Like a Champion
maltzj
520
39k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
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 ▪ ガジェット
全部いっぺんにではなく どれか気になったものから というやり方でも
終わり!