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
32
"かわいい" がテーマのハッカソンでWebの技術を使って魔法の世界を作った話など / HTML5 10th Anniversary
you
PRO
0
82
ブラウザで AI・機械学習が扱える TensorFlow.js が使われているライブラリなどの話 / #さくらのAI Meetup vol.4「ブラウザ」
you
PRO
0
170
Blynk と Raspberry Pi Pico W で IoT 〜 MQTT・HTTPリクエストの組み合わせも 〜 / IoTLT vol.114
you
PRO
0
2.4k
AIを活用したWebアプリのプロトタイプを作ってコンテストや展示に出してみた話 / 大阪工業大学 ネットワークデザイン学科 LT大会 2024v2
you
PRO
0
93
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
600
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.6k
Other Decks in Technology
See All in Technology
Ask! NIKKEIの運用基盤と改善に向けた取り組み / NIKKEI TECH TALK #30
kaitomajima
1
450
TAMとre:Capセキュリティ編 〜拡張脅威検出デモを添えて〜
fujiihda
1
110
High Performance PHP
cmuench
0
140
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
950
Platform Engineeringは自由のめまい
nwiizo
4
1.9k
Postmanを使いこなす!2025年ぜひとも押さえておきたいPostmanの10の機能
nagix
2
120
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
1
1.1k
5分で紹介する生成AIエージェントとAmazon Bedrock Agents / 5-minutes introduction to generative AI agents and Amazon Bedrock Agents
hideakiaoyagi
0
220
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
320
テストアーキテクチャ設計で実現する高品質で高スピードな開発の実践 / Test Architecture Design in Practice
ropqa
3
710
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
370
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
We Have a Design System, Now What?
morganepeng
51
7.4k
How to Ace a Technical Interview
jacobian
276
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Facilitating Awesome Meetings
lara
51
6.2k
Code Review Best Practice
trishagee
66
17k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Building Your Own Lightsaber
phodgson
104
6.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 ▪ ガジェット
全部いっぺんにではなく どれか気になったものから というやり方でも
終わり!