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
Flutterでもシリアルコンソール通信 できるもん!
Search
Ryotaro Onoue
September 29, 2023
Programming
0
1k
Flutterでもシリアルコンソール通信 できるもん!
YOUTRUST x ゆめみ Flutter LT会@渋谷 #3
https://yumemi.connpass.com/event/294763/
Ryotaro Onoue
September 29, 2023
Tweet
Share
More Decks by Ryotaro Onoue
See All by Ryotaro Onoue
Terraform+cloud-initで自宅サーバのLXDをIaCするお話
yumnumm
2
76
FlutterKaigi 2024における開発チームの取り組み と 2025への展望
yumnumm
0
47
Dart WebAssemblyを使ったWeb API on Cloudflare Workers
yumnumm
0
56
Apple Walletでパスを作るお話
yumnumm
0
170
私がやってきたアウトプット集
yumnumm
0
150
俺/私のこだわりデスク大大大自慢LT大会 (LTFes #12)
yumnumm
0
78
仕事以外で作成したプロダクトの自慢大会
yumnumm
0
94
Cloudflare Workers でプリントシール機の画像共有システムを制作したお話 @serverlessF
yumnumm
0
250
Flutter × Jetpack Composeの相互運用 @ GDG Tokyo 2023
yumnumm
0
1.2k
Other Decks in Programming
See All in Programming
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
640
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
1
13k
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
120
Goで作る、開発・CI環境
sin392
0
230
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
760
技術同人誌をMCP Serverにしてみた
74th
1
640
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1k
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
110
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
100
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
160
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
250
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
The Invisible Side of Design
smashingmag
301
51k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Cult of Friendly URLs
andyhume
79
6.5k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Site-Speed That Sticks
csswizardry
10
690
YesSQL, Process and Tooling at Scale
rocio
173
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Transcript
2023.9.29 FlutterͰγϦΞϧίϯιʔϧ௨৴ Ͱ͖ΔΜ! YUMEMI Inc. Flutter Engineer - Onoue Ryotaro
YOUTRUST × ΏΊΈ Flutter LTձ@ौ୩ #3
0. whoami
1. Today’s topic γϦΞϧίϯιʔϧ௨৴ × Flutter
γϦΞϧ .. . ? ίϯιʔϧ…? 1-1. γϦΞϧίϯιʔϧͬͯͳΜͧ?
γϦΞϧ .. . ? ίϯιʔϧ…? 1-1. γϦΞϧίϯιʔϧͬͯͳΜͧ?
γϦΞϧ .. . ? ίϯιʔϧ…? 1-1. γϦΞϧίϯιʔϧͬͯͳΜͧ?
γϦΞϧ .. . ? ίϯιʔϧ…? 1-1. γϦΞϧίϯιʔϧͬͯͳΜͧ? 71/ϧʔλͱεΠον
γϦΞϧ .. . ? ίϯιʔϧ…? 1-1. γϦΞϧίϯιʔϧͬͯͳΜͧ? Oracle
Cloud Infrastructure ͷ Compute InstanceʹγϦΞϧίϯιʔϧଓ
γϦΞϧ .. . ? ίϯιʔϧ…? 1-1. γϦΞϧίϯιʔϧͬͯͳΜͧ? 0SBDMF$MPVE*OGSBTUSVDUVSFͷ
$PNQVUF*OTUBODFʹγϦΞϧίϯιʔϧଓ
γϦΞϧ .. . ? ίϯιʔϧ…? 1-1. γϦΞϧίϯιʔϧ௨৴ͬͯͳΜͧ? -
γϦΞϧίϯιʔϧ / γϦΞϧϙʔτͱ? 1ʹ1bitͣͭσʔλΛૹड৴͢ΔΠϯλʔϑΣʔεύϥϨϧଓ σΟεϓϨΠϚεͷೖग़ྗΠϯλʔϑΣʔεΛ࣋ͨͳ͍αʔό ΈࠐΈγεςϜʹଓ͢Δͷʹར༻͞Ε͍ͯΔ
CO2ηϯαʔ UD-CO2S 1-2. ۩ମతͳσόΠε
EQIS-1 1-2. ۩ମతͳσόΠε
Ճηϯαʔ EQIS-1 1-2. ۩ମతͳσόΠε (ࠨ): https: // quake.one/sense/
ΑΓ
GNSSड৴ػ 1-2. ۩ମతͳσόΠε https: / / prioris.jp/gnss/
2. FlutterͰγϦΞϧίϯιʔϧ ωΠςΟϒ͡Ό
ԿΛ࡞͍͖͍͔ͬͯͨ 2-0. ඪ - ֓ཁ - CO2ηϯαʔͷΛදࣔɾάϥϑදࣔ -
൚༻ੑͷߴ͍γϦΞϧίϯιʔϧؔ࿈ΫϥεΛ࡞Δ - ϓϥοτϑΥʔϜ - Android, macOS, Linux - iOSOSͷ੍্ݫ͍͠ - ঢ়ଶཧ - riverpod, flutter_hooks
Flutterͷ֎ͷੈքΞΫηε 2-1. ϓϥάΠϯௐࠪ
Flutterͷ֎ͷੈքΞΫηε 2-1. ϓϥάΠϯௐࠪ AndroidͰ࣮ߦ͢ΔͱɺݖݶෆͰౖΒΕΔ - > ΘΓʹusb_serial pluginΛ͏͜ͱͰճආͰ͖Δ
IUUQTHJUIVCDPNKQOVSNJ fl VUUFS@MJCTFSJBMQPSUJTTVFT IUUQTHJUIVCDPNKQOVSNJ fl VUUFS@MJCTFSJBMQPSUJTTVFT
Android ͱ ͦΕҎ֎Ͱར༻͢ΔϓϥάΠϯΛ͚Δ 2-2. ϓϥάΠϯ͚Δ࡞ઓ Android ↑ macOS,
Linux, Windows ↑
Android ͱ ͦΕҎ֎Ͱར༻͢ΔϓϥάΠϯΛ͚Δ 2-2. ϓϥάΠϯ͚Δ࡞ઓ
Android ͱ ͦΕҎ֎Ͱར༻͢ΔϓϥάΠϯΛ͚Δ 2-2. ϓϥάΠϯ͚Δ࡞ઓ usb_serial (Android)
Android ͱ ͦΕҎ֎Ͱར༻͢ΔϓϥάΠϯΛ͚Δ 2-2. ϓϥάΠϯ͚Δ࡞ઓ flutter_libserialport (AndroidҎ֎)
Android ͱ ͦΕҎ֎Ͱར༻͢ΔϓϥάΠϯΛ͚Δ 2-2. ϓϥάΠϯ͚Δ࡞ઓ Android͔Ͳ͏͔ΛνΣοΫ࣮ͯ͠ΛΓସ͑Δ 👍: ࣮࣌ʹϓϥοτϑΥʔϜͷੈքͷ͜ͱΛߟ͑ͳͯ͘OK!
ڞ௨Խͨ͠SerialConsoleProviderΛୟ͘ 2-3. දࣔ·Ͱͷ࣮ ը໘ߏ - σόΠεબը໘ (deviceSelectorPage) -
ηϯαʔͷใΛදࣔ͢Δը໘ (monitoringPage)
RiverpodͰΰγΰγ͢Δ 2-3-1. σόΠεબը໘ serialConsoleDeviceΛҰཡ͢ΔFutureProviderΛ࡞ͬͯ͋͛ͯ switchࣜ(ύλʔϯϚονϯά)Ͱ [σόΠεແ͠ɾσόΠεҰཡɾ ಡΈࠐΈதɾΤϥʔ]ঢ়ଶͰग़͚͠
RiverpodͰΰγΰγ͢Δ 2-3-1. σόΠεબը໘ σόΠεҰཡͰListTileΛදࣔͯ͠ λοϓ͞ΕͨΒ MonitoringPage ભҠ
RiverpodͰΰγΰγ͢Δ 2-3-2. ϞχλϦϯάը໘ CO2SensorProvider: ଌఆͷอ࣋ɾ։࢝ॲཧ ʮCO2=489,HUM=46.4,TMP=28.6ʯͰྲྀΕͯ͘Δଌఆͷύʔε
RiverpodͰΰγΰγ͢Δ 2-3-2. ϞχλϦϯάը໘ CO2SensorProvider: ଌఆͷอ࣋ɾ։࢝ॲཧ ʮCO2=489,HUM=46.4,TMP=28.6ʯͰྲྀΕͯ͘Δଌఆͷύʔε
< - Starbucks ԣͦ͝͏ళ ࠓ͜͜·ͰདྷΔ·Ͱͷిं(ΓΜ͔͍ઢ) ↓
3. Live Demo PixelͰಈ͔ͯ͠Έ·͢ʙ
FlutterͰγϦΞϧίϯιʔϧ௨৴Ͱ͖ΔΜ! 4. ·ͱΊ ͱ Φν - Flutter͔ͩΒωΠςΟϒ৮Δػೳ͑ͳ͍ΜͰ͠ΐ? -
> ͍͍͑ Plugin͕͋Γ·͢ (વྫ֎͋Γ·͕͢) - γϦΞϧίϯιʔϧ௨৴ͰཧతͳσόΠεͱଓͯ͠ ใΛૹड৴͢Δ͜ͱ͕Ͱ͖Δ - ࠓޙ ՃηϯαʔGNSSड৴ػͷApp࡞͍ͬͯͭ͘ΓͰ͢
FlutterͰγϦΞϧίϯιʔϧ௨৴Ͱ͖ΔΜ! - Flutter͔ͩΒωΠςΟϒ৮Δػೳ͑ͳ͍ΜͰ͠ΐ? - > ͍͍͑ Plugin͕͋Γ·͢ (વྫ֎͋Γ·͕͢)
- γϦΞϧίϯιʔϧ௨৴ͰཧతͳσόΠεͱଓͯ͠ ใΛૹड৴͢Δ͜ͱ͕Ͱ͖Δ - ࠓޙ ՃηϯαʔGNSSड৴ػͷApp࡞͍ͬͯͭ͘ΓͰ͢ 4. ·ͱΊ ͱ Φν pub.devʹग़͍ͯͳ͍͚ͩͰ ίʔυ ͢ͰʹରԠ͞Εͯͨ!!!
FlutterͰγϦΞϧίϯιʔϧ௨৴Ͱ͖ΔΜ! 4. ·ͱΊ ͱ Φν - Flutter͔ͩΒωΠςΟϒ৮Δػೳ͑ͳ͍ΜͰ͠ΐ? -
> ͍͍͑ Plugin͕͋Γ·͢ (વྫ֎͋Γ·͕͢) - γϦΞϧίϯιʔϧ௨৴ͰཧతͳσόΠεͱଓͯ͠ ใΛૹड৴͢Δ͜ͱ͕Ͱ͖Δ - ࠓޙ ՃηϯαʔGNSSड৴ػͷApp࡞͍ͬͯͭ͘ΓͰ͢ - IssueͪΌΜͱಡΈ·͠ΐ͏ - ਂͰஅྗ͕Լ͍ͯ͠Δͱ͖ʹॏཁͳஅΛ͠ͳ͍ํ͕ྑ͍
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠! ࣭ɾؾʹͳΔ͜ͱ͕͋Ε ͍ͭͰ࿈བྷ͍ͩ͘͞! Follow me on X: @YumNumm https:
/ / github.com/YumNumm/CO2SensorViewer