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)
もくはりでのモノ作りと自身のモノ作り活動 / もくはり文化祭2024 オープン記念イベント
you
PRO
0
35
"かわいい" がテーマのハッカソンでWebの技術を使って魔法の世界を作った話など / HTML5 10th Anniversary
you
PRO
0
85
ブラウザで AI・機械学習が扱える TensorFlow.js が使われているライブラリなどの話 / #さくらのAI Meetup vol.4「ブラウザ」
you
PRO
0
180
Blynk と Raspberry Pi Pico W で IoT 〜 MQTT・HTTPリクエストの組み合わせも 〜 / IoTLT vol.114
you
PRO
0
2.5k
AIを活用したWebアプリのプロトタイプを作ってコンテストや展示に出してみた話 / 大阪工業大学 ネットワークデザイン学科 LT大会 2024v2
you
PRO
0
98
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
620
WebHID API で Joy-Con・DUALSHOCK 4 のセンサーをブラウザから利用する / IoTLT vol.109
you
PRO
0
2.4k
UIFlow 2.0 で MQTT をやってみた! / IoTLT vol.108
you
PRO
0
5k
UIFlow 2.0 と ATOMS3 の組み合わせで LINE通知を試す / ビジュアルプログラミングIoTLT vol.16
you
PRO
1
2.7k
Other Decks in Technology
See All in Technology
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
240
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
540
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.4k
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
380
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
210
What's new in Go 1.24?
ciarana
1
110
どちらかだけじゃもったいないかも? ECSとEKSを適材適所で併用するメリット、運用課題とそれらの対応について
tk3fftk
2
240
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
110
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
IAMのマニアックな話2025
nrinetcom
PRO
6
1.3k
事業を差別化する技術を生み出す技術
pyama86
2
440
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
What's in a price? How to price your products and services
michaelherold
244
12k
YesSQL, Process and Tooling at Scale
rocio
172
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Raft: Consensus for Rubyists
vanstee
137
6.8k
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 ▪ ガジェット
全部いっぺんにではなく どれか気になったものから というやり方でも
終わり!