CANYON AEROAD の泣き所と補修部品の入手

私の周辺には CANYON AEROAD CF SLX を日常的に使用しているホビーライダーが5人います。周辺と言っても一人は仙台、一人は九龍、一人はロッテルダムに住んでいるので、なかには実際に一緒に走行した経験は数えるほどしかない人もいます。

それぞれに異なる土地で、異なるモデルを使用しており、一番古いのは2014年の DURA-ACE 9000 キャリパーブレーキ仕様、一番新しいのは2018年の SRAM RED eTap ディスクブレーキ仕様モデルという差異があります。ちなみに私の所有しているモデルは2017年の DURA-ACE R9100 キャリパーブレーキ仕様になります。

これだけ使用環境も、使用者の体格も、コンポーネントも異なるにも関わらず、壊れやすいところとなると意外と多くの共通点が見られます。

そのうちの一つがヘッドセットのエクスパンダーです。この小さな部品がフォークをフレームに固定しますので、ここが故障するとフォークがガタつきます。

AEROAD CF SLX (というか H11/H36 CF Aerocockpit)のヘッドセットは専用部品であり、エクスパンダーの固定に 3mm の hex bolt を使用しています。このボルトを大きな力を掛けて締め上げると割と簡単にエクスパンダーが故障します。

私だけが壊しているのであれば、私個人に問題があるだけですが、知っているだけで他にも2人も同じ部位の故障を経験していますので、取り扱いに気を遣う部品であることが疑われます。

故障した場合には Aeroad Aero-Spacer Kit を新規購入して部品交換することになりますが、じつは一般的に市販されているエクスパンダーも同じものなので、ヘッドキャップはそのまま、エクスパンダーだけ市販の互換品に交換してしまっても大きな問題は無さそうに見えました。もちろん、保証の面では問題がありそうですが。




とくに乗車予定もなかったので Aeroad Aero-Spacer Kit を注文すると、(2019年8月時点で)わずか4日のうちに DHL で東京都内の自宅まで到着しました。

沖縄県など送料が高額になりがちな地域では、同一の送料で短時間のうちに配達してくれる CANYON のサービスはとくにメリット絶大かも知れません。ただし補修部品自体がやや割高な上に、毎回の送料が掛かる点には微妙な気持ちになります。

せっかく補修部品が入手できましたので、問題のエクスパンダーやボルトごとヘッドセットを取り外して、まるごと交換するとバイク自体がまるで新品のようになりました。

サイクルコンピュータを自作する — GPS トラッキング

今から数えてちょうど1年前 — 2018 年の 11 月に日本の衛星測位システム 『みちびき』の運用が開始されました

これは米国の GPS と協調して測位精度を向上させたり、2k bps もの伝送量のある信号を送信してセンチメータ級の測位補強情報を提供する日本独自の画期的な取り組みを行ったりしています。

ごく最近までの衛星信号の民生利用では、およそ 20,000 km も離れた位置にある GPS の微弱な信号しか拾えないことが一般的で、誤差も 10.0 m ぐらいあることが当たり前でした。

ロシアの GLONASS の信号が拾えるのは良い機器で、他の衛星(たとえばヨーロッパの Galileo や中国の北斗)の信号まで拾えるモジュールは個人では手が出せないような値段が付いていました。

それが現在では誤差 2.5-3.0 m 程度の高精度モジュールが 2,000 円から 5,000 円ぐらいで市販されていて、その一部は日本の『みちびき』にも対応しています。

さらに SONY に至っては衛星信号受信モジュールを標準搭載したボードコンピュータまで販売しています。これを使うと SONY 製のサイコンを作れます


SONY SPRESENSE メインボード

これから衛星測位システムの活用が本格化し、測位精度も高まってくるとホイールの回転数から移動速度を推定するよりも、距離と時間から速度を求めるほうが正確な数値を得られるのではないか…と思うかどうかは別として、わりと簡単に実装できるので知っておいて損はないかと思われます。

そこで、みんな大好き、GPS 受信機キット (太陽誘電社 GYSFDMAXB) を用意しました。




これと Raspberry Pi を組み合わせると、それだけでも市販のサイコンよりも高機能な玩具が作れます。しかし、どうせ雨で濡れたり、ダウンヒルで飛んでいったりするので、ここではそんなに高価で高性能なものは求めません。

安価で小型で通信機能が使えればいいということで ESP32 を使います。


ESP32 ESP-32S 2個セット NodeMCU-32S ESP32-WROOM-32 開発ボード 2.4GHz WiFi + Bluetooth

これを使って GPS 受信機キットで受信した測位情報を BLE でスマートフォンに転送し、 SQLite にログを残したり、走行記録を地図上にオーバーレイ表示することを考えているわけです。

取り付けようと思えば、液晶ディスプレイなども付けられますが、大きく、重たく、電池消費量が激しくなるだけで実用性があまりないので、個人的には不要に思えます。

また反対に機能を削って走行記録を SD カードに残すだけならば、さらに小型化しつつ稼働時間を伸ばせますが、それでは地味でつまらないので、必要なときだけスマートフォンの液晶ディスプレイを借りる方針です。

BLE 通信で接続するので、うまくやらないとスマートフォンのバッテリを無駄に消費する懸念があります、というか、そこを調べることが最大の目的で GPS もサイコンも本当はオマケです。

ただ、いきなり、スマートフォンのアプリ開発という重たいタスクに取り掛かるのは大変なので、今回は測位情報を Bluetooth で送信するところまでを行います。

まずは ESP32-WROOM-32 のデータシートを見て Pin Layout を確認します。そこから TxD の接続先がわかりますので、線でつないでスケッチを動かしてみます(RxDはいまのところは不要です)。

#include "HardwareSerial.h"
#include "BluetoothSerial.h"
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run 'make menuconfig' to and enable it
#endif

BluetoothSerial SerialBT;
HardwareSerial mySerial(2);

void setup() {
  SerialBT.begin("Hoge");
  mySerial.begin(9600, SERIAL_8N1, 34, 35);
}

void loop() {
  if (mySerial.available()) {
    SerialBT.write(mySerial.read());
  }
  delay(1000);
}

このスケッチをコンパイルしてアップロードすると、ESP32 は Bluetooth で測位情報を送信し続けるようになるはずなので、無事にデータ送信ができているかどうかを確認します。

うまくアップロードを行えない場合は、こちらを参考にしてみてください

送信されたデータを Linux で確認するには rfcomm コマンドを使用してシリアルポートにバインドしてしまえば良いです。

$ sudo bluetoothctl
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# scan on
Discovery started
[bluetooth]# pair 00:00:00:00:00:00 
Attempting to pair with 00:00:00:00:00:00
[bluetooth]# exit
$ sudo rfcomm connect /dev/rfcomm0 1 00:00:00:00:00:00
Connected /dev/rfcomm0 to 00:00:00:00:00:00 on channel 1
Press CTRL-C for hangup
$ sudo cat /dev/rfcomm0 

※ 00:00:00:00:00:00 は架空のMACアドレスです

できましたら、ファイルを標準出力に表示するときと同様に cat で出力できるようになります。上の例ですと、GPS受信機キットの出力をそのまま Bluetooth に流してしまっていますけれども、いちど Arduino Serial Monitor に書き出して内容を確認してから同じものが表示されるかどうかを確かめたほうが安全かも知れません。

ともかく、これで位置情報を表示できていれば、ESP32 側の準備は万端です。

ここまでは難しいことはないのですが、遠隔でセンサデータを取得できるのはいつ見ても楽しいものですね。

スマートフォン側のアプリ開発は、こう簡単にはいきません。

BLE通信が前提になりますので、少しばかり手間と時間がかかります。

いま忙しくて、実際に走行ログを集めに行く暇もないので、だいぶ後回しになりそうな気がしますが、せっかくなので既存のサイコンと同一条件で計測を行って、結果を比較してみたいですね。


つづき: サイクルコンピュータを自作する #2 – みちびき対応 GPS と市販のサイコンの比較実験


関連: Garmin / Strava の走行記録をまとめて表示する

茨城県のサイクルツーリズムに対する自転車乗りの意見

関東の平野部において抜群に道路環境がよく、東京からも日帰りで遊びに行ける茨城県。

山間部が雪に閉ざされる厳冬期でも降雪とは無縁の気候から、一年を通して自転車を楽しめる関東以北では数少ない場所の一つでもあります(ただし朝方の冷え込みと季節風は強烈です)。

この点が認識されているのか、茨城県内では行政と民間企業が一体となって自転車を用いた観光創生の取り組みが活発に行われています。

筑波山や道の駅にはサイクルラックが常設され、霞ヶ浦の外周道路をはじめとした自転車道の整備が進み、土浦駅構内には輪行用の部屋まで確保されています。

こうした取り組みの概要は茨城県が公開する公的資料からも読み取れます。


いばらきサイクルツーリズム構想の策定について/茨城県
https://www.pref.ibaraki.jp/kikaku/chikei/keikaku/cycling/tourismkousou.html


目を通してみると、全体として悪くはないのですが、もったいないなと思える点もいくつかないわけではありません。

資料の焦点は人を呼び込むことにあるようですが、今でも多くのサイクリストが茨城県を訪れていることを認識されているのかどうかは資料からは読み取れません。

どこにいるのかと言えば、大洗から北海道の苫小牧へと向かうフェリー乗り場に行けば分かります。

現状でも首都圏のサイクリストにとって、茨城県は北海道への玄関口であり、また北海道ツーリングは本州縦断(東京-直江津間)やキャノンボール(東京-大阪間)に並ぶサイクリストの憧れです。

その北海道ツーリングのスタート地点として、たとえば土浦駅(もしくは高浜駅)から大洗港まで自転車で快適に走れるルートがあれば、それだけで茨城県の魅力が十分に伝わります。

幸いにしてフェリーの出航は夜で、到着は昼なので、大洗から北海道ツーリングに出かけるサイクリストにも出航前や到着後の時間を使って、茨城県を知ってもらうことを考えても良いのではないかと思うわけです。

そのための場所として、大洗・ひたち海浜シーサイドルート(仮)は最適だと思います。

魅力があることが分かれば、自然と人は集まります。

私自身が何度も訪れていて、茨城県は自転車で観光するには結構いいところだと感じています。

また、日本国内最高峰の自転車ロードレースとして名高い Japan Cup Cycle Road Race(ジャパンカップ)も、ツール・ド・フランスさいたまクリテリウムも、日本最大のスポーツバイクイベントであるサイクルモードも、茨城県の視点で見ると全ての会場が隣接県(土浦からの直線距離 60-80 km 圏)にあります。

とくにジャパンカップの会場である宇都宮市の森林公園周回コースに至っては、つくば霞ヶ浦りんりんロードの岩瀬駅から僅か 50km の近距離です。

茨城空港を起点としても最短 90km 程度と、スポーツ自転車であれば無理なく走行できる距離です。




さらに言えば、栃木県内の真岡(りんりんロードの岩瀬の隣町)から宇都宮までの 25km 間には既に自転車道(二宮宇都宮自転車道・鬼怒川CR)が整備されています。

協力して地域創生を行えれば、茨城県にとっても、栃木県にとっても、訪問者にとっても魅力的な試みになる可能性があるのではないでしょうか。

せっかく自転車道で土浦駅や茨城空港を結ぶ計画なのであれば、サイクリストに茨城空港や土浦駅を売り込めるように周辺の魅力にも目を向けても良いと思います。

土浦駅に到着して、自転車道に入ったところで宇都宮や大洗や苫小牧までの距離が表示されていたら、それだけでも旅情を感じます。

茨城空港に到着して、輪行の荷物を全部空港に預けて、そこからサイクルモードやジャパンカップの会場にサイクリングロード経由で行けるとなれば、茨城空港を使ってみようと思う人もいるかもしれません。

その道中で茨城県の魅力に気づいてもらい、次回の訪問からは茨城県自体も目的地の一つに含めてもらう。

その視点で見ると、隣県に恵まれている茨城県なら、いくらでも人を呼び込める可能性があります。

ぜひ、サイクルツーリズムで地域創生を成功させてもらいたいです。