Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ChatGPT(GPT-4版)でIoTやってみた / IoTLT vol.97
Search
you(@youtoy)
PRO
March 23, 2023
Technology
0
850
ChatGPT(GPT-4版)でIoTやってみた / IoTLT vol.97
you(@youtoy)
PRO
March 23, 2023
Tweet
Share
More Decks by you(@youtoy)
See All by you(@youtoy)
ローカルLLMをJavaScriptで(少しAIエージェントSDKなどの話も) / 冬のJavaScript祭り @Pleasanter Lounge
you
PRO
0
34
Webの技術で「特殊なゲーム用コントローラーや他デバイスなど」とブラウザを連携させる / HTML5 11th Anniversary
you
PRO
0
64
ブラウザのAPIで Nintendo Switch用の特殊なゲーム用コントローラーを体験型コンテンツに / IoTLT @ストラタシス・ジャパン
you
PRO
0
170
ローカル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
370
子ども向けの活動や自身のモノづくり活動などでやったこと / micro:bit ファンの集い
you
PRO
0
19
ブラウザのAPIで色々なデバイスをあれこれ扱ってみた話(主にWeb HID API) / IoTLT @JLCPCB オープンハードカンファレンス
you
PRO
0
150
ヒーローズ・リーグの応募作品で使ったデバイス・アイテム・ライブラリなど / #ヒーローズリーグ 2025 開発素材LT
you
PRO
0
53
最近発売された端末+UIFlow 2.0の組み合わせ(+1.0の話)をUSB接続で / ビジュアルプログラミングIoTLT vol.21
you
PRO
0
120
Other Decks in Technology
See All in Technology
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
110
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
600
5分で知るMicrosoft Ignite
taiponrock
PRO
0
250
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
6
650
RAG/Agent開発のアップデートまとめ
taka0709
0
150
eBPFとwaruiBPF
sat
PRO
4
2.5k
re:Inventで気になったサービスを10分でいけるところまでお話しします
yama3133
1
120
直接メモリアクセス
koba789
0
290
因果AIへの招待
sshimizu2006
0
940
安いGPUレンタルサービスについて
aratako
2
2.7k
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
480
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
370
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Typedesign – Prime Four
hannesfritz
42
2.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Agile that works and the tools we love
rasmusluckow
331
21k
How to train your dragon (web standard)
notwaldorf
97
6.4k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Scaling GitHub
holman
464
140k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
720
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Transcript
2023年3月23日 (木) IoTLT vol.97 @ソフトバンク 豊田陽介( ) @youtoy ChatGPT(GPT-4版)でIoTやってみた
自己紹介 豊田陽介( ) @youtoy ・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ ・ Microsoft MVP(2021/10 から)
プライベートでの活動 ・ガジェット大好き ・昨年12月の ChatGPT熱が、昨月くらい から再燃中 ※ 昨年のアドベントカレンダーで、12月 2日やその他の日で ChatGPTネタの 記事を書いたりしてた 好きなこと、他
生成系AIの話題、 盛りあがってますよね!
一昨日・昨日だけを見ても(その1) Adobeの画像生成AI 「Adobe Firefly」 Googleの対話AI 「Bard」の一般公開 日本はまだ 引用: https://www.itmedia.co.jp/news/articles/2303/21/news079.html
一昨日・昨日だけを見ても(その2) Microsoftの画像生成AI 「Bing Image Creator」 GitHubのコーディング支援 「GitHub Copilot X」 引用:
https://japan.cnet.com/article/35201549/ 今は英語 での入力
「Bing Image Creator」を軽く試してみた プロンプト 「Fantastic scenery of ice and flames」
DeepL翻訳で「氷と炎が 入りまじる幻想的な風景」 を英訳したもの
そんな生成系AIの1つ: OpenAIの「ChatGPT」
ChatGPTとは? ▪ 話題になりすぎてて、詳細説明は不要かも... ・OpenAIの出した対話型AI ・提供開始などは以下のとおり ・2022年11月30日: 一般公開 ・2023年3月2日: ChatGPT APIの一般公開
※1 ・2023年3月15日: GPT-4版提供 ※2 ※3 ※1 従量課金 ※2 Webからの利用には、有償版「ChatGPT Plus」が必要 ※3 現状、GPT-4のAPI利用はwaitlist登録が必要
そんな「ChatGPT」を 使ってIoT
最初の検証は 内容をシンプルにして実施
シンプルな機能の開発を 手伝ってもらう 「デバイスからのスマホ通知」
ここ数日のChatGPTの不具合に 見舞われ、ちょっと中途半端... 3/20 に使えない状態に その後、履歴が出ない・長文の 出力が途中でエラーに (履歴機能は、今朝7時台に復活)
試そうとしたこと シンプルな仕組みの例: M5Stack系デバイスのボタンを押したら スマホのLINEアプリに通知(LINE Notifyを利用) 検証内容: ・自分で作った場合と、以下を試した場合の比較 ・適当なプロンプト(詳細は書かない)で試す ・補足情報ありのプロンプトなどで試す ・情報がある/ないはずのデバイスについて聞く
(M5StickC Plus/ATOMS3 Lite) ・ボタン押下をユニットを使った処理に変更【未完】 ・細かな部分の検証【未完】
結果:「適当なプロンプト(詳細は書かない)」 プロンプト: M5Stackを使ってLINE Notifyで通知を送る プログラム 出力の概要: ・LINE Notifyのアクセストークン取得に関する簡単な説明 ・Arduino IDE開発の準備について簡単な説明
・loop()の中身が空、1度だけ通知を送るプログラム ※ LINE Notifyの処理のトリガーを指定してない部分は、 「setup()のWi-Fi接続成功後に1度だけ処理」に 出力は 「手順説明 + プログラム」 プログラム は、setup() で1回処理と いうものに
結果:「適当なプロンプト(詳細は書かない)」 ChatGPTでの入出力でのスクショ
結果:「適当なプロンプト(詳細は書かない)」 途中で出力が途切れたので 「続きを書いて」という入力を ChatGPTでの入出力でのスクショ
ここで得られた内容は、 「ちょっとだけ手直しをしたら 動くもの」という感じ
結果:最初の入力に情報を足して試す プロンプト: M5StickC Plus のボタンを押したら、LINE Notify で通知が送られるプログラム 出力の主な差分:
動くものが出てきた (アクセストークン、SSID・ パスワードを書きかえるだけ)
改善された理由は、 おそらくは再生成して出力が 変わったことと思われる (プロンプトの変更による改善ではなさそう)
結果:デバイス指定を2つ目の入力で プロンプト(ボタン押下指定あり+以下): デバイスは、M5StickC Plusを使いたいのですが、スケッチ例は そのまま使えますか?何か変更が必要ですか? 出力の冒頭部分: 【修正に関する補足】 ・M5StickC Plusのライブラリ をインポート
・ボタンA〜Cを使ったサンプル を、AとBのみにする変更
結果:ATOMS3 Liteを指定してみる ・ChatGPTの学習データには情報がないはず ⇒ ChatGPTの正常動作だが存在しないものも... 何度か試した結果: 「よく分からないので、Python でLINE Notifyを使う方法を...」 「ATOMS3Lite.h」の
インクルード ※ 実際には存在しない 「M5Atom.h」の インクルード
結果:ATOMS3 Liteを指定してみる ・「M5AtomS3.h」という名称だけ出してみる この時は、知らないライブラリ という内容込みの返答など
出てきた情報の正しさは 要検証という感じ (この挙動はChatGPTの仕様通りだけれど...)
Bingでもやってみた
結果:「少し補足情報あり」のプロンプト プロンプト(3つ): M5StickC Plus のボタンを押したら、LINE Notify で通知が送られるプログラム Arduino IDE のプログラムを示してください
サンプルコードを見せてください サンプルコードを見せてください 出力結果: ・LINE Notifyのアクセストークン・無線LAN情報 (SSID・パスワード)を変更するだけで無事に動作 ここでコードが出てきた
結果:「少し補足情報あり」のプロンプト
結果:「少し補足情報あり」のプロンプト
結果:「少し補足情報あり」のプロンプト プロンプト(1つ): M5StickC Plus のボタンを押したら、LINE Notifyで 通知が送られるプログラムのサンプルコードを見せてください サンプルコードを見せてください 出力結果: ・人感センサーを使う仕組みが混じったものが出てきたり
より複雑な内容で試したり、 より良い出力を得られるコツなど を模索していきたい
引き続き「生成AI + IoT」の お試しをやっていきたい!
余談:ChatGPT APIを処理に 組み込んだお試しの中の1つ
ブラウザで動く音声対話 ブラウザで p5.js ・p5.speech・ ChatGPT API を 利用した実装で ChatGPTと声でやりとりする仕組みの簡単な試作
APIを呼び出す処理はChatGPT作(GPT-3.5版) 公式の curlサンプルから ブラウザの fetch で呼び 出す処理の作成を依頼
余談:IoT系以外のコード 生成のお試しの1つ
p5.js(JavaScript)実装のブロック崩し プロンプト:「p5.jsでブロック崩しが遊べるプログラムを作って」 クラス構文も 使われた180行 ほどのプログラム
終わり!