アナリティクス

2016年8月6日土曜日

Raspberry Pi で DDNS

ここ超最高

レトロな6桁

ちょっと前に、ラズパイを買ったPIMORONIから新製品のお知らせメールが届いた。そこにはドットマトリクスがカワイイモジュールのお知らせ。何に使うとかそういうの一切なしに即注文。ついでにラズパイzeroをもう一枚。
Micro Dot pHAT
赤と緑が売られていた。両方美しいので両方買った。商売上手が過ぎる。

プログラムサンプルもPIMORONIのページがからダウンロード出来るので、ピンヘッダとドットマトリクスのモジュールを基板に半田付けすれば、ラズパイにくっつけて即遊べる。秋月で部品買ってブレッドボードで結線してというのも楽しいけど、これはこれでオモチャ感MAXでいい。

で、出来れば電源入れたら即レトロ時計になってほしいのでサンプルの時計スクリプトをサービス化してみた。

exampleのclockをmicrodotphat_clockd.pyとしてコピーして編集。
ここを参考にしてサービス化対応。
while True: の手前に...

pid = os.fork()
if pid > 0:
 f = open('/var/run/microdotphat_clockd.pid','w')
 f.write(str(pid)+"\n")
 f.close()
 sys.exit()
if pid == 0:

あとは、while True: のループのインデントを下げてスクリプトはおしまい。

で、同じくここを参照して、microdotphat_clock.serviceを作る。
[Unit]
Description=Pimoroni micro dot phat clock service

[Service]
ExecStart=/usr/local/sbin/microdotphat_clockd.py
Restart=always
Type=forking
PIDFile=/var/run/microdotphat_clockd.pid

[Install]
WantedBy=multi-user.target
で、このファイルを /usr/lib/systemd/system 配下にコピー(適当な場所に作ったものをシンボリックリンクして5分はまる)する。あとは
sudo systemctl daemon-reload
sudo systemctl enable microdotphat_clock
あぁ、かわえぇ。

電源入れてNTPの時刻同期でピコっと表示がかわるとこなんかたまらん。

ニキシー管思い出してしまったけど、値段見て忘れよう。

2016年8月4日木曜日

RPiインストールメモ(2)

Raspbianの導入初期に入ってしまう不要ファイルの削除を行い、空き領域をBleachBitでクリーンアップしてイメージバックアップサイズの抑制をしてみた。

不要と判断するものは以下の基準。
  • X(GUI)
  • game
とりあえず、パッケージの一覧を取得してそこから選んで削除。パッケージの一覧は
dpkg -l
で取得。
パッケージは以下にて削除。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get --purge remove adwaita-icon-theme 
sudo apt-get --purge remove alacarte
sudo apt-get --purge remove aspell
sudo apt-get --purge remove aspell-en 
sudo apt-get --purge remove blt
sudo apt-get --purge remove bluej
sudo apt-get --purge remove claws-mail
sudo apt-get --purge remove claws-mail-i18n
sudo apt-get --purge remove desktop-file-utils
sudo apt-get --purge remove dictionaries-common
sudo apt-get --purge remove dillo
sudo apt-get --purge remove epiphany*
sudo apt-get --purge remove gconf*
sudo apt-get --purge remove geany*
sudo apt-get --purge remove gnome*
sudo apt-get --purge remove gtk*
sudo apt-get --purge remove idle*
sudo apt-get --purge remove leafpad
sudo apt-get --purge remove minecraft-pi
sudo apt-get --purge remove penguinspuzzle
sudo apt-get --purge remove pi-package*
sudo apt-get --purge remove pulseaudio-module-x11
sudo apt-get --purge remove scratch
sudo apt-get --purge remove wolfram-engine
sudo apt-get --purge remove X11* 
sudo apt-get --purge remove x2x 
sudo apt-get --purge remove xarchiver 
sudo apt-get --purge remove xauth
sudo apt-get --purge remove xcompmgr
sudo apt-get --purge remove xdg*
sudo apt-get --purge remove xfconf
sudo apt-get --purge remove xfonts* 
sudo apt-get --purge remove xinit 
sudo apt-get --purge remove xkb-data   
sudo apt-get --purge remove xpdf
sudo apt-get --purge remove xserver*
sudo apt-get --purge remove python-pygame
sudo apt-get --purge remove python3-pygame
sudo apt-get autoremove

ついでにいらないディレクトリも。
rm -rf ~/Desktop
rm -rf ~/Documents
rm -rf ~/Downloads
rm -rf ~/Music
rm -rf ~/Pictures
rm -rf ~/Public
rm -rf ~/Templates
rm -rf ~/Videos
rm -rf ~/python_games



これでバックアップすれば、イメージサイズも抑制されると思いきや、1.6GBから1.9GBに跳ね上がってしまった。結局削除可能フラグがついたままの不可視データがディスク上に残ってしまうので、これがイメージに残ってしまうのでなんとかきれいにしなければならない。nautilus-wipeが使えればそれを使いたかったが、ubuntu16.04LTS への導入の仕方がさっぱりだったので、Ubuntu Software から BleachBit を導入し、空き領域をクリアすることにした。
ソフトウェアインストール後、ubuntuにSDを認識させて以下の手順で空き領域をクリーンな状態にする。
  1. BleachBit(as root) を起動
  2. 設定画面はClose
  3. メニューから[ファイル]->[フリースペースをワイプする]
  4. フォルダの"root"を選択->[OK]
  5. 進捗の残り時間はあてにならないのでひたすら待つ。
  6. なんか、時々画面がモノトーンになってものすごく不安になるけどひたすら待つ。

この作業の後にバックアップイメージを作ったところ0.9Gになった。
-rw-r--r-- 1 501 dialout 1625M  8月  3 19:34 01_RPi_Base_With_X.img.gz
-rw-r--r-- 1 501 dialout 1926M  8月  3 22:55 02_RPi_Base_No_X_and_useless.img.gz
-rw-r--r-- 1 501 dialout  939M  8月  4 00:39 03_RPi_Base_Wiped_free_area.img.gz

そこそこスッキリした。

2016年8月3日水曜日

RPiインストールメモ(1)

何度かラズパイのインストールを繰り返して、なんとなく自分が使う基本的な設定が固まったのでメモ。
手順は Raspberry Pi 3 で確認。
  • SD作成
    NOOBS Lite を使用して Raspbian を入れる
  • ネットワーク設定(1)
    WiFiの固定IPをインフラストラクチャ環境用に割り当てる
  • ラズパイ設定
    I2C,SPI,カメラの有効化,日本語環境
  • ネットワーク設定編(2)
    USB-WiFi(wlan1)にAd-hoc環境用に固定IPを割り当てる
※wlan1用のUSB-Wifiは接続しないで始める。
  1. SD作成
    1. NOOBS Liteのインストール
      なぜか手持ちのNOOBSはウンともスンとも言わないので、NOOBS Liteを使う。インストールの時は地域をUS、キーボードはJPでインストールする。
  2. ネットワーク設定(1)
    アクセスポイントへの接続設定を行い固定IPを割り当てる
    1. Wireless LAN(wlan0) の接続設定
      既存の設定ファイルをテンプレートとして、SSIDごとにコピーする
      > sudo cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant_[SSID].conf
                
      設定内容を生成する
      > wpa_passphrase [SSID] [KEY]
                
      出力された内容をコピーする
      network={
       ssid="SSID-HOGE"
       #psk="WIFI-KEY-HOGE"
       psk=0d3e2e20346f004de5f49aed4aa52b740b1b0254f88dc25820a7696090414afc
      }
                
      コピーした内容を設定ファイルに貼り付け
      > sudo vi /etc/wpa_supplicant/wpa_supplicant_[SSID].conf
                
      country=JP
      ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
      update_config=1
      network={
       ssid="SSID-HOGE"
       #psk="WIFI-KEY-HOGE"
       psk=0d3e2e20346f004de5f49aed4aa52b740b1b0254f88dc25820a7696090414afc
      }
                
    2. 固定IP設定
      > sudo vi /etc/network/interfaces
              
      iface wlan0 net static
       address 192.168.0.118
       netmask 255.255.255.0
       gateway 192.168.0.1
       dns-nameservers 192.168.0.1
       wpa-conf /etc/wpa_supplicant/wpa_supplicant_[SSID].conf
              
  3. ラズパイ設定
    1. Raspberry Pi Configuration による基本設定
      X で Menu -> Preferences -> Rasberry Pi Configuration
      1. System
        Change Password → 変更
        Hostname → テキトーに
        Boot -> To CLI
        Auto Login → チェックを外す
      2. Interfaces
        Camera → Enabled
        SPI → Enabled
        I2C → Enabled
      3. Localisation
        Set Locale → Language → ja
        Set Locale → Country → JP
        Set Timezone → Area → Japan
        Set Keyboard → Japan + Japanese(OADG109A)
        Set WiFi Country → JP
    2. コンソールの文字化け対処
      コマンドで起動できる日本語コンソール環境。毎回起動しなきゃならないのがアレだが。
      > sudo apt-get install jfbterm
              
    3. Xの文字化けに対する対処
      jfbtermを入れた時点で文字化けそのものには対処出来ているが、フォントがアレなので。Xを使う予定がないならスキップスキップ。
      > sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese*
              
  4. ネットワーク設定編(2)
    アドホック用の設定を行い固定IPを割り当てる。
    ※wlan1用のUSB-Wifiを接続して始める。
    > sudo vi /etc/network/interfaces
        
    allow-hotplug wlan1
    iface wlan1 net static
     address 192.168.1.118
     netmask 255.255.255.0
     wireless-channel 2
     wireless-mode ad-hoc
     wireless-essid [SSID]
     wireless-key [key]
        
  5. FTPサーバー
    sambaもいいけど速度的にアレなので、古き良きFTP。
    1. インストール
      > sudo apt-get install vsftpd
              
    2. 設定
      > sudo vi /etc/vsftpd.conf
              
      以下2項目をそれぞれ探して、行頭のコメントアウトを削除。
      #write_enable=YES
      #local_umask=022
              

2016年7月21日木曜日

RPiのSDをバックアップして別のSDに書き込む

せっかく作ったSDなのでバックアップしたい。
バックアップしたものは書き戻せるか試したい。
書き戻した先の容量に余裕があるならフルに使いたい。

なので以下実施。

■SDカードのバックアップとリストア
MacのDDで出来るかと思ったが、DDで書き戻したら起動はするし大概は動作するけど、hostnameと/etc/hostsがぶっ壊れるという、ワケのわからん状態になったので、Ubuntu-16.04LTSで作業。バックアップ/リストアのやり方そのものはここを参照。
ubuntuでBeagleBone付属SDカードをバックアップ

[バックアップ]
sudo dd if=/dev/sdb bs=8M | gzip -c > RPiZero.img.gz

[リストア]
zcat RPiZero.img.gz | sudo dd of=/dev/sdb bs=8M


■SDカードのサイズに合わせたパーティションのサイズ変更
fdiskコマンドでできるかと思ったけど、拡張領域と論理パーティションに対する操作がわからなかったのでGUIに逃げた。UbuntuにGPartedをインストールしてズルをする。ズルの仕方はここを参考にした。
Manually resizing the SD card using a GUI with GParted

  1. GPartedのインストール
    パーティション操作のGUIツールを入れる
    sudo apt-get install gparted
    


  2. SDをUbuntuで認識 コピーしたSDカードをUbuntuで認識させる。この後の作業のためにアンマウントする。


  3. GPartedの起動
    こんな感じで


  4. SDの表示とパーティションの確認
    最初はUbuntuのシステムが表示されるので、SDの表示に切り替える(緑枠)。

    変更したいのは青枠の論理パーティションなのだが、それを格納する赤枠の拡張領域も広げてやらなければならない。

  5. 拡張領域のサイズ変更 1
    拡張領域をクリックして選択し、メニューから"リサイズ/移動"をクリック。


  6. 拡張領域のサイズ変更 2
    拡張可能なサイズと現在のサイズが表示される。現在の表示を示す箱の右にある右三角をドラッグして広げる。


    広げ終わったら設定を登録する。


  7. 論理パーティションのサイズ変更
    [SDの表示とパーティションの確認]で示した、青枠の/dev/sdb7にも同様のサイズ変更を行う。


  8. サイズ変更の適用
    まだ、SDに対しては何の操作も開始されていないので、登録したサイズ変更の操作を適用する。


    操作が開始されると以下の画面が表示される。


    完了するまでとにかく待つ。


Ubuntuあって良かった。
Macだけでどうこうするとか自分には無理。

今日もお祈りされてしまった…そろそろ真面目にやらんと…

2016年7月20日水曜日

RPi camera を GPIO から操作するサンプル

まじめにタイトル書くとキモいな

カメラの操作にありがちな、プレビュー開始/停止と録画の開始/停止をタクトスイッチから操作できるようにしたPythonのコードを作ってみた。


  • GPIO21 = プレビューの開始/停止
  • GPIO16 = 録画の開始/停止
  • 録画を続けると15分ごとにファイル化
こんなもんあれば大体満足。


タクトスイッチ…
そんな格好いいもの持っているワケがない。

にしても、モジュールは色々。機能は選び放題。コーディングはちょこっとで動く。
スゲー世界だ

そんなことより、就職活動しようぜ、俺。

2016年7月19日火曜日

NO IR, YES IR

ラズパイ来てもネットに繋がらないんじゃ進まないなぁということで、USBのWiFiを購入。ヤマダ電機でも500円のこれ

Zeroから供給される電力ではウンともスンとも言わないので、バスパワーハブを使ってどうにか動かす。 使ったバスパワーハブのせいなのか、電力がUSBのポートから供給されてPWR INのポートを繋がなくても動くようになってしまった。

動けばいい…

とりあえず、WiFiを使えるようにして、SSHFTPを使えるようにする。sambaも入れてみたけど、でかいファイルを落とそうとすると一向にセッションが進まない。FinderやExplorerからアクセスするとサムネイル作ったりするので、余計にのろい…ので、却下。

別で注文していたカメラも到着したので装着。

センサーをフルに生かして赤外線まで撮れます。
Raspberry Pi NoIR Camera V2

NoIR≠赤外線を撮らない
NoIR=赤外線除去フィルタが無い=赤外線が撮れる
アイゴー

とりあえず、ここを参考にカメラからの撮像を動画としてw=960,h=540,fps=24として5秒ほど保存してみる。
#!/usr/bin/python3
# coding=utf-8
import picamera
camera = picamera.PiCamera()
camera.resolution = (960, 540)
camera.framerate = 24
camera.start_recording('video.h264')
camera.wait_recording(5)
camera.stop_recording()

これだけなんですか?

2016年7月17日日曜日

ものすごい拍子抜け

Raspberry Pi の実機(第一弾)が来た。
来るまで仮想環境作って我慢しとこうと思ったのにタイミング良いのか悪いのか。Amazonの出品者スゲェや。高かったけど、Budget Packなら妥当な値段なのかな?




Raspberry Pi zero マジでちっこい。

で、Noobsを入れる。ネットワーク無いので、LITEじゃ無い方。

ダウンロードして、展開して、中のファイルをフォーマットしたSDにコピーして、SDをラズパイに差し込んで電源接続。

こいつ、動くぞ。
てか、簡単にもほどがあるだろ・・・

ネットワーク無いから何もできないかなと思いつつ、import wiringpi してみると当然エラー(ですよね〜) 諦めず import RPi.GPIO してもエラーが吐かれなかったのでLチカだけやってみた。

コードこんだけ。

import RPi.GPIO as GPIO,time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(18, GPIO.OUT)
while (True):
  GPIO.output(18, True)
  time.sleep(1)
  GPIO.output(18, False)
  time.sleep(1)



今はこれが精一杯
道具もモジュールも素子も知識も、なんもかんも足りない。

⬛︎ 今日の教訓
Windows 10 IoT Core はRaspberry Pi Zero には入らない。

Jessie told me

無職プー太郎になって暇になったせいか、ラズパイやってみたくなったので物を入手する前にqemuで試そうとしてみた。が、2016-05-27-Raspbian-jessie.imgを使おうとしたものの
まったくさっぱりどうにもこうにも
動かなかったのでどうにかこうにかして動かしてみた。

環境はMacのVMWareにこの為に突っ込んでみた Ubuntu 16.04 LTS。
作業に用意したディレクトリと配置したファイルは以下の通り
  • /qemu
  • /qemu/jessie
    2016-05-27-Raspbian-jessie.img
    kernel-qemu-4.4.12-jessie
  • /qemu/jessie/mnt

⬛︎ イメージファイルの編集
イメージファイルの中にあるLinuxパーティションの中から、ファイルを編集しなければならない。イメージファイルのパーティションを確認し、一つのパーティションをマウント、アクセスできるようにして編集する。
  • パーティションの確認
    $ fdisk -l 2016-05-27-raspbian-jessie-lite.img
    → セクタのサイズと、Linuxパーティションの開始セクタが分かる。
  • イメージファイルのマウント
    $ sudo mount -v -o offset=$((137216*512)) -t ext4 2016-05-27-raspbian-jessie.img /qemu/jessie/mnt
    → イメージファイル内の指定したパーティションにアクセスできるようになる。
  • ld.so.preload の編集
    /qemu/jessie/mnt/etc にある ld.so.preload をテキストエディタで開いて、先頭行の頭に # を追加してコメントアウト。
    # /usr/lib/arm-linux-gnueabihf/libarmmem.so
  • fstab の編集
    /qemu/jessie/mnt/etc にある fstab をテキストエディタで開いて、2行目、3行目の頭に # を追加してコメントアウト。
    proc /proc proc defaults 0 0 #/dev/mmcblk0p1 /boot vfat defaults 0 2 #/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
  • イメージファイルのアンマウント
    マウントされているディレクトリ下にアクセスしていないことを確認して
    $ sudo umount /qemu/jessie/mnt
  • イメージファイルの拡張
    そのままでは動かないらしいので
    $ qmem-img resize 2016-05-27-raspbian-jessie.img +2G

⬛︎ 起動コマンド
マウスが使えるようにした上で起動する
$ qemu-system-arm -kernel kernel-qemu-4.4.12-jessie -cpu arm1176 -m 256 -machine versatilepb -no-reboot -serial stdio -usb -device usb-host,hostbus=2,hostaddr=1 -show-cursor -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -drive format=raw,file=2016-05-27-raspbian-jessie.img

⬛︎ 書いてしまえばこれだけだが
手順を書いてしまえばこれだけだが、わからんことだらけでこんな感じでハマり、こんなとこを参考にしたの一覧。
先人達マジスゲェ…
なんで、こういうこと調べていけるんだろ?

実機を注文するにはしてみたが、こんなんで実機が手に入った時動かせるのだろうか? 動くには動くけど、そもわかってないですっ飛ばしてるところだらけだし。
仮想環境なのに環境整備から含めて、2日半もかかってるしなぁ。。。

2016年5月21日土曜日

金で解決

いいのあるじゃん。


これでいいじゃん。


これゴミじゃん。


音、真ん中にくるじゃん。

いらないものは容赦なく

iPhoneにナビさせると、当然電池がガンガン減る。マウントを買った当初はそれでも良いかと思ったけど減りっぷりを見るとやっぱり欲しくなる充電手段。なので、USBポートのキットを購入。


でも使うのこれとハンドルクランプ部だけ。

抱き合わせ販売反対

キットにはバッテリーへ接続するためのハーネスが付いているけど、ハンドルからバッテリーまで配線引き廻すとか天竺への旅かよと。なので途中でブッタ切って自分の好きなように配線させてもらう。

電源の取り出しはETC同様にキーONで使えるところから。


この箇所をETCとUSBキットで共有させてもらうついでに脱着可能に改善。というか、この端子を試したくなった


既存の横取り端子を外して交換

フォークのような端子で平型端子を受けるとか、おもろい。

ETCの側の配線も、XBの頭を開くととぐろを巻いて場所を取っていたので、こちらもブッタ切って省スペース化を図る。


ETCの防水接続端子から先、15cmくらいで切り、ヒューズホルダーを配線し直す。USBの変圧部分から先も同様にして、それぞれの+配線、-配線をまとめて平型端子に突っ込みカシメて完成。


着脱自由になってスッキリ


USBポートはマスターシリンダー裏に隠して装着。存在を主張しないし、タイラップの先端をマスターシリンダー裏に送っておけば切らずに済んで再利用可能になるので。


頭の中は変圧器が入る部分を確保できて、どうにか全部収まった。



こうしてみると、時計が一番うるさい。

奥まで届いてる



RAM Mountsのハンドルバーポスト用のボールを買って、ネジNo1に即座にボルトを注文。これで抜かりないと思っていたが長すぎた・・・。最小ロット3本買って送料払って2000円以下だったからカード払いが使えず代引き手数料払って一本あたり600円全部で1800円かかったボルトが長すぎた。


どう見ても1インチ間違えて注文してます、ありがとうございました。

もう一度1800円払うのも癪なので、Napsにハーレー用ボルトとして何か置いていないか探しに行ってみる。

ステンなのは気に入らないが、2本で600円。
今なら2本で600円。

つまり一本300円。ステンで。


2016年5月15日日曜日

難聴

iPhoneをホルダに置くと、ナビを使ってみたくなり、そして音声案内を聞きたくなる。

買うのもなんなので、音の左右バランスがなんか変だったオーディオテクニカの巻き取りヘッドホンをメット用に犠牲になってもらう。
バラしてみると、三重丸に接点が残された基盤、それに接触する接点。みょうに右の音が小さいのはこういう機構のせいなんだろうなと考えつつ、基盤から配線を切って外していく。

配線に繊維が入っていることもあるのかハンダづけしにくいったらありゃしない。いつ買ったか記憶を辿れないほど昔のコテ先が悪いのかもしれんけど、削る気にもならず適当につける。

配線そのままだと不安なので、配線部分をグルーガンで固めてメットに仕込む。




そして家の中にもかかわらず、メットをかぶり試し聞きしてみる・・・


やっぱり右側が聞こえにくい・・・

2016年5月14日土曜日

ドヤ顔マカー

いつもの仕事はWindowsでDCと格闘するばっかだけど一応マカー。

買ったものをお供にターンパイクのスカイラウンジにドヤ顔しに出かける。やたらと〇〇じみたバイク乗りがターンパイクを登っていたのでパスして向かうとアグスタのイベント。1ミリも興味がわかないのでとりあえずパスして椿を一往復してスカイラウンジに。

コーヒー飲み放題で、しかも空いていて静か。マジ最高。

椿を往復した時、スマホのホルダを使ってとりあえずやることをやってみた。


ワロス
"夢のような走りだ"
履いてるのはミシュランだけど

2016年5月7日土曜日

ピッタリの

たまにターンパイクの誰も居ないスカイラウンジにMacBookを持ち運んでドヤ顔しながらポチポチ時間を潰したいという衝動に駆られるが、良いバッグがなくずっと探していた。バックパックはややでかいし紐だらけだし、後ろに積むとかどうやって?だし。

Napsウロウロしてたら突然良いボディバッグがあった。現物を持ち合わせて無かったのでMacBookの寸法調べて、タグに書いてあった寸法を無理やり信じ込んで即購入。


内部のポケットにぴったり収まり安心。



どうしてカバン屋になくてNapsにあるんだよ...
何故かBianchiの名前が入っていた今まで使っていたカバンはこうして押入れへ。


なんだ。このカバン、GREEDYの会社なのか。
カーキーあったのかぁぁぁぁぁ...

失われる記憶、繰り返される時間

バイクを乗らないときはバッテリーのマイナス端子を切るようにしているので、そのたびにメーターの時計はリセット。乗出すたびに1:00になってしまう。Napsでスマホホルダーを物色してウロついている時に見つけた。

時計

あぁ、そうだよね。そういやあったねこんな製品。

電池で動くだけの単純さ。ボタン操作でEL発光。十分です。


裏側にマジックテープが貼られてるのはありがた迷惑。剝がして両面のブチルテープで固定することにする。中の電池もディスプレイ用で交換しとけと説明があるので、裏蓋を外してクリーンアップする...精密ドライバーの+で外す。精密ドライバーって、普通のライダーは持ってないんじゃないだろうか?


裏蓋を外して電池交換。電池を抑えている金属プレートは内部の爪に引っかかってるので、それを浮かして外す...極細のラジオペンチで...何気にツール要求高いな、この製品。


電池を変えて、裏蓋をきれいにして。


裏蓋はめてブチルテープをはる。


貼る場所どうしよと思いつつ、メーター脇の各種インジケーターのある領域の下側「ここって光ったことないよな?」という曖昧な記憶を元に、おもむろに貼り付けて完了。

これで時間がいつでも確認できるし、トリップメーターとも併用可能。走っている最中に手袋つけたままモードスイッチ操作するのも、面倒だったしこれでいい。