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
屋内自転車競技場を走行する自転車の走行状態を 遠隔取得するテレメトリーデバイスの開発
Search
MIXI ENGINEERS
PRO
June 01, 2023
Technology
1
460
屋内自転車競技場を走行する自転車の走行状態を 遠隔取得するテレメトリーデバイスの開発
MIXIでは、公益財団法人日本自転車競技連盟 様より、デバイス開発の提案依頼を受け、プロトタイプの開発を受託しました。本スライドでは、その開発内容についてご紹介します。
MIXI ENGINEERS
PRO
June 01, 2023
Tweet
Share
More Decks by MIXI ENGINEERS
See All by MIXI ENGINEERS
【D2-5】MIXI SREの最新事例まるわかり! 〜 各事業のSRE活動にかかわるエンジニアに本音を聞く | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
2
37
【D2-7】共闘ことばRPG コトダマンの自律分散型QA組織 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
0
11
【D2-S1】MIXIオンプレミス設備のこれまでとこれから~そして印西へ~ | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
0
12
【D2-6】モンスト10周年における真獣神化実装担当者が10年分の形態変化の設計をイチから作り直した話 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
1
9
【D2-8】WordPressのヘッドレス運用化 〜minimo roomのJamstack構成移行プロジェクト〜 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
1
11
【D2-S2】Kotlin と Flutter を愛であう会 for Android開発 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
1
22
なんで私に登壇依頼が?! ~頼られるエンジニアになるためには~ /
mixi_engineers
PRO
2
200
【D1-3】フィギュアスケートにおける自動追尾カメラ開発 - 位置情報+AI画像解析 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
0
16
【D1-6】netkeibaにおける機械学習を用いた競馬オッズ予測手法の開発とその変革 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
0
14
Other Decks in Technology
See All in Technology
Tohoku.Tech #1 「EC-CUBE/AWSの構築をChatGPTに相談してみました」by テンダ
jun2882
0
140
匠MethodとRDRAとICONIXとDDDで実現する一気通貫オブジェクト指向開発
haru860
4
2k
プッシュ型子育てサービスを、先行プロジェクト実施自治体において開始します
govtechtokyo
0
250
継続的テストモデルを実現するためにスリーアミーゴスを用いた10Xでのシフトレフトの事例
nihonbuson
3
160
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
0
220
サービス成長と共に肥大化するモノレポ、長くなるCI時間 / As services grow, monorepos get bigger and CI time gets longer
kohbis
5
2.1k
#51 “Empowering Azure Storage with RDMA”
cafenero_777
3
210
大規模なアジャイル開発の現場と技術負債 / Technical Debt
yoshiitaka
20
4k
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
24
6.9k
2023 Japan AWS Jr.Championsに選出されての振り返りとこれから
hiropy877
1
130
初心者が行く!サーバレスWebアプリ開発の道
nagaharutogawa
0
440
HoneycombとOpenTelemetryでオブザーバビリティに入門してみる
sumiren
2
150
Featured
See All Featured
Scaling GitHub
holman
456
140k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
113
18k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
In The Pink: A Labor of Love
frogandcode
137
21k
[RailsConf 2023] Rails as a piece of cake
palkan
21
3.8k
Done Done
chrislema
178
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
GitHub's CSS Performance
jonrohan
1023
450k
Fantastic passwords and where to find them - at NoRuKo
philnash
35
2.4k
Side Projects
sachag
451
41k
Transcript
©MIXI 屋内自転車競技場を走行する自転車の走行状態を 遠隔取得するテレメトリーデバイスの開発 2023年4月 株式会社MIXI 開発本部CTO室
©MIXI 概要 公益財団法人日本自転車競技連盟 様よりデバイス開発の提案依頼を受け、プロトタイプの開発を受託。 2023年3月にプロトタイプを納品。 2 公益財団法人日本自転車競技連盟 HPCJC(High Performance Center
of Japan Cycling) 日本自転車競技連盟(JCF)トラック競技強化指定選手のトレーニングセンターとして、世界選手権やオリンピック でメダルを獲得を目指してアスリートを強化、育成する組織 https://japanhpc.com/ 開発内容 トラック競技用自転車のサドル後ろに取り付ける、ANT+センサーデータのネットワーク転送機能付きデータロガーの 開発 ※各社の商品またはサービスなどの名称は各社の商標または登録商標です。 なお、本開発は競輪の補助を受けて公益財団法人日本自転車競技連盟と共同で実施しました。
©MIXI 開発の流れ 日本自転車競技連盟 様からご依頼を受け事前検証を実施、納期までの完成可否を確認しました。 競技用自転車とANT+センサーを連盟よりご提供していただき開発と動作確認を繰り返し行い、伊 豆ベロドロームでの走行動作確認を経て2023年3月にプロトタイプを納品。 事前検証 ・ANT+の調査 ・部品の調査、選定 ・技適確認
・提案内容の検討 …etc 開発 ・logger ・Cplane ・ディスプレイ表示 ・筐体設計 ・部品の再選定 ...etc 動作確認 ・ANT+受信 ・データ記録、転送 ・ディスプレイ表示 ・伊豆バンク走行 ...etc 納品 3
©MIXI 事前検証 当初、Nordic社nrf52832をファームアップしANT+の通信を検討していたが、ファームアップする には新規で技適取得が必要なため大幅に開発期間が必要になってしまうことが判明。プランを変更 し連盟へ提案しました。 ANT+に対応したファームのマイコンで国内技 適取得しているものが無く、別の方法を模 索、開発期間(約2カ月)を考慮し技適取得済 の製品を組み込む方針で連盟へ提案 プランの変更
ANT+センサー受信 Garmin USB ANT+STICK マイコン Wi-Fi2.4GHz BCM2835 RaspberryPi/Zero-W 当初のプラン ANT+ Sensors nrf52832 ISP1507 ANT ProtocolStack S332 SoC ESP32-W ROOM Wi-Fi ProtocolStack Specific firmware SoC UDP/IP management Application /Server UDP/IP UART RX/TX Wi-Fi 2.4Ghz radio ANT+ 2.4Ghz radio 4
©MIXI MIXI-CycleComputer MIXI-CycleComputer Cplane for Development Speed Sensor MIXI-CycleComputer は、自転車側に取り付けてある各種センサーをANT+USBドングル、GPIO、I2C、
UART、インタフェイス等によって制御、終端し、それら各センサーデータを同一ネットワーク上の受 信機(cplane)に転送および、制御するモジュールです。 5 Power Sensor Wi-Fi Logger UART 6-Axis Accelerometor ANT+ センサーデータ 制御・設定
©MIXI 電子回路ブロック Logger Logger は RaspiOS Lite 32bit 環境でCompile/Link して動作するCycleComputerモジュールです。
6 搭載パーツ BCM2835 RaspberryPi/Zero-W 加速度、角速度センサー ディスプレイ/ボタン バッテリー USB ANT+STICK 6-axis Accelerometor Display Button Battery Power BCM2835 RaspberryPi Zero-W USB ANT+STICK Garmin UART/TX,RX GND 3.3V UART/TX,RX GND 3.3V SDA/SCL GPIO GND SDA/SCL GND 5V SDA/SCL GND 5V 5V GPIO GND 5V USB micro USB micro
©MIXI Logger 7 Logger は RaspiOS Lite 32bit 環境でCompile/Link して動作するCycleComputerモジュールです。
OLEDディスプレイ、ボタンを搭載することでセンサーデータの表示や操作が可能です。 主な機能 ・各センサーデータの受信 ・ANTセンサーとのペアリング、キャリブレーション ・センサーID、通信状況等の各ステータス表示 ・スピード、パワー、ケイデンスデータ表示 ・Cplaneとの時刻同期 ・ログデータの書き出し 端末番号 通信状況 時刻 電池残量 スピード、パワー、ケイデンス データ表示
©MIXI Control Plane Cplaneは Loggerと同一ネットワーク上に配置することで、Loggerに対してリモートコントロー ルコマンドを発行できます。 リアルタイムにセンサーデータをデコードし視覚化し、logger 開発時/動作確認に利用するソフ トウェアモジュールです。 8
©MIXI 筐体製作 Loggerの筐体は自社設計、複数の形状を3Dプリンターにて製作しています 9 横型、最小サイズ案 縦型、厚みを抑えた案 プロトタイプ用筐体
©MIXI 動作確認 動作確認のため伊豆ベロドロームにて走行テストを実施 走行時のセンサーデータの転送(Wi-Fi 2.4GHz)を確認しました。 10 Logger Cplane Wi-Fi 2.4GHz
ANT+ デバイス センサーデータ 制御・設定 使用機材 logger MIXI開発プロトタイプ Cplane macOS x86_64 ANT+デバイス 自転車競技連盟様ご提供 Wi-Fi AP 2.4GHz Aruba APIN0515 ネットワーク SW NETGEAR GS105E Wi-Fi AP Internet SW
©MIXI 動作確認 動作確認のため伊豆ベロドロームにて走行テストを実施 走行時のセンサーデータの転送(Wi-Fi 2.4GHz)を確認しました。 11
©MIXI 動作確認(一部抜粋) ANT+ センサーデータの受信 内容 データロガーのUSB ANT StickでANT+センサーデータを受信する 確認 事項 a.
ANT+ Device Profile Bike Speed (Device type 123) センサーデータの受信を確認する 検証 方法 speedデータの連続パケット差分を確認する ANT+センサーデータのUDPパケットの流し込みは有線クロス接続経由とする 結果 SPDセンサーID : 62937 到達パケット - 1(ID: f5 d9, データ: 7b 01 ff) 到達パケット - 2(ID: f5 d9, データ: 7b 01 7f) 同一のUIDでSpeedデータが更新されていることを確認 12
©MIXI 動作確認(一部抜粋) NTP同期 内容 NTPでサーバーと時刻同期しタイムスタンプを付与する cplane端末とlogger端末の時刻同期先(ntp.nict.jp) 確認 事項 データに付与されているパケット内のtimestampが cplane端末と同時刻であることを確認する 検証
方法 cplane端末とlogger端末はWi-Fi経由でNTP時刻同期 ANT+センサーデータのUDPパケットの流し込みは有線クロス接続経由とする 結果 データ受信時刻 = 12:17:37 JST(EpochTime : 1679455057) ANT+センサーデータパケット内時刻 = 641A893D 16進数(EpochTime : )1679455057 cplane端末時刻 = データ受信時刻 logger端末時刻 = パケット内時刻 = データ生成時刻 となり。時刻同期ができていることを確認 13
©MIXI 動作確認(一部抜粋) ANT+ Wi-Fi UDP転送 内容 データロガーが受信したANT+センサーデータを 2.4GHz Wi-Fi で同 一ネットワーク上のホストに
UDP で転送する(約4Hz) 確認 事項 約4HzでUDP転送できていること 4Hz = 0.25秒間隔 検証 方法 speedデータの連続パケット到達時刻を確認する ANT+センサーデータのUDPパケットの流し込みは同一AP接続経由とする 結果 センサーデータのパケット到達状況 おおよそ0.25秒間隔で到達していることを確認 ※ただし現地Wi-FiのRTTの状況によっては到達時間が遅れる場合がございます 14
©MIXI 動作確認(一部抜粋) ANT+ Wi-Fi UDP転送 内容 センサーデータは、ANT トランシーバーが受信(RX)した Broadcast メッセージをデコードせずに転送する 確認
事項 デコードせずに転送していること 検証 方法 cplane端末でパケットキャプチャ(wireshark)利用して到達パケットの中身を確認する 結果 最後のデータ領域のとおりデコードされていない状態で到達していることを確認 15
©MIXI