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
Wio Terminalのなんやかんや
Search
Kenta IDA
September 22, 2020
Technology
2
1.5k
Wio Terminalのなんやかんや
SeeedJP UG Online のLTで発表したWio Terminalの資料です。
Kenta IDA
September 22, 2020
Tweet
Share
More Decks by Kenta IDA
See All by Kenta IDA
Matter開発環境をざっくり眺める
ciniml
0
1.4k
組込みRustでも でかい?JSONを扱いたい!
ciniml
3
1.1k
ATOMDisplay_DisplayModule_M5Stack_UG_2023_Tokyo.pdf
ciniml
1
1.5k
Rusty Stack-chanのすすめ
ciniml
0
420
Raspberry Pi Picoデバッガ使用のすすめ
ciniml
0
1.8k
ベアメタル向けRust stdクレートの実装調査
ciniml
2
650
ESP32でSORACOM Arcつないでみた
ciniml
2
1.1k
RustでCMSIS-DAP実装してみた。
ciniml
2
830
技書博初出展してみた
ciniml
0
330
Other Decks in Technology
See All in Technology
PDF Viewer作成の今までとこれから
hunachi
0
390
Discovering AI Models
picardparis
4
3.9k
忙しい人のためのLangGraph概要まとめ
__ymgc__
1
170
実務における脅威モデリングを考えよう
nikinusu
0
440
Fediverse Discovery Providers overview
andypiper
0
160
DroidKaigi 2024 たすけて!ViewModel
mhidaka
5
880
Next.js のページ遷移を全力で止める
ypresto
2
1.3k
あなたの知らないiOS開発の世界
recruitengineers
PRO
3
170
Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤
andoshin11
0
240
Functional TypeScript
naoya
11
4.8k
ナレッジグラフとLLMの相互利用
koujikozaki
0
400
サーバレスでモバイルアプリ開発! NTTコム「ビジネスdアプリ」のアーキテクチャ / The architecture of business d app
nttcom
12
240
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Unsuck your backbone
ammeep
667
57k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
GraphQLとの向き合い方2022年版
quramy
43
13k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
5
480
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
BBQ
matthewcrist
83
9.2k
Transcript
Wio Terminalのなんやかんや SUGOi 2020/09/22 Kenta IDA (@ciniml)
自己紹介 •井田 健太 (@ciniml) •仕事:組み込みソフト開発 •使用言語:C++, SystemVerilog, Go, Python 2020/9/22
Wio Terminalのなんやかんや 2
Wio Terminal 2020/9/22 Wio Terminalのなんやかんや •最近流行の筐体入りマイコン・モジュール • Wi-Fi 2.4GHz +
5GHz • Bluetooth5 • 液晶 (320x240) • ボタン • スピーカー • etc… •いろいろ付いてて楽しい 3
なんやかんや 2020/9/22 Wio Terminalのなんやかんや •ハードウェア構成 •拡張基板をつくってみた •デバッガのつなぎ方 •QSPIフラッシュの使い方 4
ハードウェア構成 2020/9/22 Wio Terminalのなんやかんや 5
ハードウェア構成 2020/9/22 Wio Terminalのなんやかんや •MCUが2つある • ATSAMD51P19A • RTL8720DN 6
ハードウェア構成 2020/9/22 Wio Terminalのなんやかんや •ATSAMD51P19A • Microchip製 • Cortex-M4F 120[MHz]
• 512[kiB] Flash • 192[kiB] RAM 7
ハードウェア構成 2020/9/22 Wio Terminalのなんやかんや •RTL8720DN • Realtek製 • Cortex-M0 20[MHz]
• Cortex-M4F 200[MHz] • 64+512[kiB] RAM • Wi-Fi + Bluetooth •ATSAMD51より強い 8
ハードウェア構成 2020/9/22 Wio Terminalのなんやかんや •周辺回路 • ほとんどATSAMD51側 に接続されている • LCD
• ボタン • ブザー, マイク, LED • 加速度センサー 9
メインMCU 2020/9/22 Wio Terminalのなんやかんや •開発者が使うのは (主に)ATSAMD51 • Arduinoで触れるのはこっち • RTL8720DNも
触れなくはない • SDKは公開されている • UART経由で書き込みも可 10
無線通信 2020/9/22 Wio Terminalのなんやかんや •Wi-FiとBluetoothはRTL8720DN側 •ATSAMD51とはSPI+GPIOで接続 • ATSAMD51がSPIマスター • RTL8720DNのリセット(CHIP_EN)
• RTL8720DNからの割り込み(IRQ0) 11
無線通信 2020/9/22 Wio Terminalのなんやかんや •RTL8720DN側に ネットワーク・スタック • TCP/IP, TLS •
Bluetooth Stack 12
無線通信 2020/9/22 Wio Terminalのなんやかんや •ATSAMD側はRTL8720DNに ATコマンドを送って制御 •制御用にESP32用のライブラリを いろいろ魔改造してぶち込んである • 結構カオス
13
拡張基板をつくってみた 2020/9/22 Wio Terminalのなんやかんや 14
Wio Terminalの拡張コネクタ 2020/9/22 Wio Terminalのなんやかんや •本体裏に40pinコネクタがある • 配列はRaspberry Pi 互換
• ただしRPiに直結は不可 • 筐体が干渉する • 3.3Vがデフォルトで出力方向 15
Wio Terminalの拡張コネクタ 2020/9/22 Wio Terminalのなんやかんや •拡張基板のサイズ • Wio Terminalの基板外形から作成 •
外形 • 穴位置 • ピンヘッダ位置 16
Wio Terminalの拡張コネクタ 2020/9/22 Wio Terminalのなんやかんや •単3・4電池拡張基板 • つくってみた。 • Fusion
PCBで5枚 17
Wio Terminalの拡張コネクタ 2020/9/22 Wio Terminalのなんやかんや •単3・4電池拡張基板 • つないでみた。 • けっこうでかい…
•測定アプリ(無線なし)で7時間くらい • 単3(eneloop)x2 18
感想 2020/9/22 Wio Terminalのなんやかんや •ピン数が多いので柔軟な設計が可能 • RPi互換ヘッダ • (M5Stackはピンが少なくて難しい) •高いピンヘッダが欲しい
• 日本では入手性に難あり • Battery Chassisの部品ほしい… 19
デバッガのつなぎ方 2020/9/22 Wio Terminalのなんやかんや 20
Wio Terminalのデバッグ事情 2020/9/22 Wio Terminalのなんやかんや •ATSAMD51のSWDが接続可能 • 出荷時書き込み用パッド • デバッグ用コネクタ
(v1.2以降) •RTL8720DNのSWDは未接続 • 頑張って引き出せなくもないが 結構難しい 21
Wio Terminalのデバッグ事情 2020/9/22 Wio Terminalのなんやかんや •デバッグ用コネクタ • 7月頃入荷分くらいから • 0.5[mm]x10ピン
FFCコネクタ • FFC+FFC変換基板でデバッガに接続 • どちらもAmazonやaitendoで買える 22
Wio Terminalのデバッグ事情 2020/9/22 Wio Terminalのなんやかんや •SWDを使用可能なデバッガで接続 • OpenOCD • J-Link
•普通に デバッグ可能 • 便利! 23
QSPIフラッシュの使い方 2020/9/22 Wio Terminalのなんやかんや 24
QSPIフラッシュ 2020/9/22 Wio Terminalのなんやかんや •4[MiB]のフラッシュ •ATSAMD51に接続 25
アクセス方法 2020/9/22 Wio Terminalのなんやかんや •ATSAMD51のブートローダー • QSPIフラッシュの読み書き機能無し •Arduino内蔵ライブラリ • QSPIフラッシュの読み書き機能なし
→実装するしかない 26
QSPIフラッシュに置けるもの 2020/9/22 Wio Terminalのなんやかんや •データ •プログラム • ATSAMD51は QSPIフラッシュ上のプログラムを直接実行できる 27
ExtFlashLoader 2020/9/22 Wio Terminalのなんやかんや •つくってみた •Wio Terminal用のQSPIフラッシュ・ドライバ • ArduinoのプログラムからQSPIの読み書き •https://github.com/ciniml/ExtFlashLoader
28
ExtFlashLoader 2020/9/22 Wio Terminalのなんやかんや •サンプル • DownloadFromSerial • USBシリアル経由でPCからQSPIフラッシュにデータを書き込む •
LaunchExtFlash • QSPIフラッシュ上のプログラムを実行する • WriteSampleMenu • サンプルのメニューアプリをQSPIフラッシュに書き込む 29
メニューアプリ 2020/9/22 Wio Terminalのなんやかんや •QSPIフラッシュ上で動作 •TFカード上のバイナリを ATSAMD51内蔵フラッシュに書き込み • メニューアプリはQSPI上なので 内蔵フラッシュを書き換えられる
30 内蔵フラッシュ QSPIフラッシュ アプリA メニュー アプリ TFカード アプリB アプリC アプリD
メニューアプリ 2020/9/22 Wio Terminalのなんやかんや 31 •メニューから アプリを選択 • アプリ書き込み •
アプリ起動 •メニューを起動 • ボタンを押しながら リセット
メニューアプリ 2020/9/22 Wio Terminalのなんやかんや 32 •M5Stackにもこういうのありますね •とりあえずWio Terminalでも 技術的に可能ということは示せた
その他 2020/9/22 Wio Terminalのなんやかんや 33
他作ったもの 2020/9/22 Wio Terminalのなんやかんや 34 •タイマー割り込みライブラリ • https://github.com/ciniml/SAMD51_Timer •バックライト制御ライブラリ •
https://github.com/ciniml/WioTerminal_BackLight •GROVEポートからUART出すコードサンプル • https://gist.github.com/ciniml/bd2bb4dea22a55c067ca6790ad0c 3eae
宣伝 2020/9/22 Wio Terminalのなんやかんや •技術書典9でWioTerminal本出してます • 今回唯一のWioTerminal本らしい • BOOTHでも頒布中 •内容は今日話したことの詳細
35
おしまい 2020/9/22 Wio Terminalのなんやかんや 36