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
520
屋内自転車競技場を走行する自転車の走行状態を 遠隔取得するテレメトリーデバイスの開発
MIXIでは、公益財団法人日本自転車競技連盟 様より、デバイス開発の提案依頼を受け、プロトタイプの開発を受託しました。本スライドでは、その開発内容についてご紹介します。
MIXI ENGINEERS
PRO
June 01, 2023
Tweet
Share
More Decks by MIXI ENGINEERS
See All by MIXI ENGINEERS
スクラムマスターなしでもいい感じにスクラム開発している話
mixi_engineers
PRO
1
47
組織のデータリテラシー向上に向けて ~ MIXI データ活用ガイドラインができるまで 〜
mixi_engineers
PRO
5
74
MIXI配信取り組み
mixi_engineers
PRO
2
23
MIXIにおけるWebRTC技術の活用/Use of WebRTC Technology in MIXI
mixi_engineers
PRO
2
61
「人物ごとのアルバム」の精度改善の軌跡/Improving accuracy of albums by person
mixi_engineers
PRO
2
220
「モンスターストライク」の運営を支えるデータ分析基盤の歴史と進化 / History and evolution of the data analysis infrastructure supporting “Monster Strike” operations
mixi_engineers
PRO
3
270
【全貌公開】 MIXI の Atlassian Cloud 移行の裏側 / Behind MIXI's Migration to Atlassian Cloud
mixi_engineers
PRO
0
340
MIXI TECH NOTE #12
mixi_engineers
PRO
2
49
運営11年目タイトルを守る最強の盾の有効性と活用法
mixi_engineers
PRO
2
370
Other Decks in Technology
See All in Technology
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
110
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
83k
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.8k
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.2k
OPENLOGI Company Profile
hr01
0
60k
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
160
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.2k
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
2.7k
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
120
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
140
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
910
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
640
Featured
See All Featured
KATA
mclloyd
29
14k
A Tale of Four Properties
chriscoyier
158
23k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Automating Front-end Workflow
addyosmani
1368
200k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Into the Great Unknown - MozCon
thekraken
35
1.6k
GraphQLとの向き合い方2022年版
quramy
44
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
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