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
MicroPython × BLE × テプラ 〜リバースエンジニアリングを添えて〜 /mic...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takumi Sueda
October 16, 2021
Technology
1.1k
2
Share
MicroPython × BLE × テプラ 〜リバースエンジニアリングを添えて〜 /micropython-ble-tepra
PyCon JP 2021 オンライン
Takumi Sueda
October 16, 2021
More Decks by Takumi Sueda
See All by Takumi Sueda
これまでのハード遊びまとめ ノンストップ40分スペシャル
puhitaku
1
230
令和最新版 OpenWrt を 22 年前のルーターで動かす
puhitaku
0
5.9k
組み込みLinuxの時系列
puhitaku
4
1.9k
電子辞書にステータスバーを実装する
puhitaku
0
380
知育おもちゃの遊び方 Lv. 999
puhitaku
5
3.3k
ルーターでプレゼンする
puhitaku
1
7.5k
AST as Black Magic
puhitaku
0
200
次世代の足下を舗装するコミュニティ
puhitaku
5
2k
電子辞書で学ぶ Linux のサスペンド
puhitaku
0
810
Other Decks in Technology
See All in Technology
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
210
Building applications in the Gemini API family.
line_developers_tw
PRO
0
760
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
740
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
430
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
460
Claude code Orchestra
ozakiomumkj
3
940
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.4k
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
160
LLMと共に進化するプロセスを目指して
ymatsuwitter
7
1.5k
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
6.9k
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
1.2k
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
340
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Optimizing for Happiness
mojombo
378
71k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
It's Worth the Effort
3n
188
29k
Navigating Team Friction
lara
192
16k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
840
Building an army of robots
kneath
306
46k
Un-Boring Meetings
codingconduct
0
310
Transcript
MicroPython × BLE × PyCon JP 2021 @puhitaku
TEPRA 2
https://twitter.com/ejo 090 /status/ 425 52 334 04 306 96 448
3
https://twitter.com/okayan 08 /status/ 7 972 55 664 46 460 10
89 4
https://twitter.com/okayan 08 /status/ 5 658 60 495 74 418 43
22 5
https://www.kingjim.co.jp/products/tepra/sr 37 0 .html 6
TEPRA Lite LR 30 TEPRA Lite LR 3 0 https://www.kingjim.co.jp/sp/lr
3 0 / 7
TEPRA Lite LR 30 https://www.kingjim.co.jp/sp/lr 3 0 / 8
TEPRA Lite LR 30 9
TEPRA Lite LR 30 https://www.kingjim.co.jp/products/tepra/sr 37 0 .html 10
TEPRA Lite LR 30 11
TEPRA Lite LR 30 12
13
Bluetooth Low Energy (BLE) https://www.kingjim.co.jp/sp/lr 3 0 /feature/index.html 14
Switch Science Bluefruit LE Sni ff er 15
Wireshark 16
BLE 17 💻 ⚡
PC Bluetooth 2 Bluetooth Bluez Linux BT Python BLE 18
😇
PC Bluetooth API Wi-Fi BLE 🥰 BLE (ESP 3
2 ) 19 ESPr® Developer 32 https://www.switch-science.com/catalog/ 3 21 0 /
MicroPython × BLE × 20
MicroPython × BLE × Python json, time, asyncio (uasyncio), zlib
batteries included CPython (REPL) MicroPython machine GPIO MicroPython 21
MicroPython × BLE × BLE bluetooth bluetooth.BLE IRQ API gattc_discover_services
Service discovery prop_write_without_response Characteristic MicroPython BLE 22
MicroPython × BLE × 0x180f Battery Service … 0x2a19 Battery
Level Characteristic 0xfff0 TEPRA Lite Service 0xfff1 TEPRA Lite Char. … Notify (RX) 0xfff2 TEPRA Lite Char. … Write Without Response (TX) ESP 3 2 Service Characteristic 23 Characteristic
MicroPython × BLE × 0xfff2 24 0 5
MicroPython × BLE × 25 f0 5c = 00 03
00 00 00 00 00 00 = 1 00 03 00 00 00 00 00 00 = 2
MicroPython × BLE × f0 5c 26
MicroPython × BLE × 1 27
MicroPython × BLE × 28
PC Wi-Fi ESP 3 2 29 💻 ⚡
MicroPython × BLE × 30 0 5 REST API zlib
/prints POST
MicroPython × BLE × 31 0 5 CLI Pillow QR
REST API https://github.com/hugokernel/micropython- nanoweb asyncio Flask API Web API nanoweb
32
MicroPython × BLE × https://github.com/puhitaku/tepra-lite-esp32 33 GitHub
MicroPython BLE MicroPython 34
None