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
990
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
65
FlutterKaigi 2024における開発チームの取り組み と 2025への展望
yumnumm
0
39
Dart WebAssemblyを使ったWeb API on Cloudflare Workers
yumnumm
0
52
Apple Walletでパスを作るお話
yumnumm
0
170
私がやってきたアウトプット集
yumnumm
0
150
俺/私のこだわりデスク大大大自慢LT大会 (LTFes #12)
yumnumm
0
77
仕事以外で作成したプロダクトの自慢大会
yumnumm
0
93
Cloudflare Workers でプリントシール機の画像共有システムを制作したお話 @serverlessF
yumnumm
0
250
Flutter × Jetpack Composeの相互運用 @ GDG Tokyo 2023
yumnumm
0
1.2k
Other Decks in Programming
See All in Programming
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
140
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
130
A2A プロトコルを試してみる
azukiazusa1
2
810
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
120
レガシーシステムの機能調査・開発におけるAI利活用
takuya_ohtonari
0
610
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
エラーって何種類あるの?
kajitack
5
270
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
380
WindowInsetsだってテストしたい
ryunen344
1
190
CursorはMCPを使った方が良いぞ
taigakono
0
140
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
2
170
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
4 Signs Your Business is Dying
shpigford
184
22k
Bash Introduction
62gerente
614
210k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The World Runs on Bad Software
bkeepers
PRO
69
11k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
660
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
GitHub's CSS Performance
jonrohan
1031
460k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
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