目次: 自宅サーバー
昔買って放置していた秋月のGPS受信機キット(太陽誘電のGYSFDMAXBを使用しているそうな)を組み立てて、サーバーPCに接続しました。GPSが送ってくるNMEAメッセージはgpsdが一旦受け取りますが、このメッセージをローカルマシン以外から見る方法が地味にわからなかったのでメモしておきます。環境はDebian Bookwarmです。
どうやらgpsdは直接ソケットをlistenしているわけではなく、gpsd -> systemd -> 外部という形になっているようです。まずsystemdの設定を変更します。
# /etc/systemd/system/sockets.target.wants/gpsd.socket [Socket] ListenStream=/run/gpsd.sock #ListenStream=[::1]:2947 #ListenStream=127.0.0.1:2947 # To allow gpsd remote access, start gpsd with the -G option and # uncomment the next two lines: ListenStream=[::]:2947 ListenStream=0.0.0.0:2947 SocketMode=0600 BindIPv6Only=no
次にgpsdの設定を変更します。オプションに-G(外部からの接続を受け付けるためのオプション)を追加します。
# /etc/default/gpsd # Other options you want to pass to gpsd GPSD_OPTIONS="-G"
設定を反映します。
# systemctl daemon-reload # systemctl restart gpsd.socket # systemctl restart gpsd.service # netstat -tlp | grep gpsd tcp 0 0 0.0.0.0:gpsd 0.0.0.0:* LISTEN 1/init
設定を反映するとsystemd(pid=1, initプロセス)がポートgpsd(= 2947)をlistenしていること、listenアドレスがlocalhostではなく0.0.0.0つまりinaddr_anyになっていることが確認できます。
あとは外部のマシンからxgps (gpsdが動いているマシンのIP):2947などとすれば、gpsdに接続してNMEAメッセージが届いていることを確認できるはずです。
NMEAメッセージは送ってきてくれますが、窓際に設置して1時間位放置してもまったくGPS衛星を捕捉しません。壊れてしまったのだろうか……。
目次: Arduino
エアガン的当てゲームを作り始めたとき(1月くらいかな?)から気になっていたのですが、ROCK 3C上でJavaを使って画面を描画すると妙に描画速度が遅いです。もうひとつ不思議なことに、マウスカーソルをぐりぐり動かすと描画が止まります。なんで?
最初はJava側の問題か?と思ったものの、秋葉原のTARGET-1に置いている機体はJava側のプログラムは全く同じなのに、描画速度がメチャ速いです(マウスカーソルを動かしても画面描画が止まらない)。ROCK 3C側(というかメインSoCであるRockchip RK3566)のグラフィック関連がどこかおかしいんでしょう。たぶん。
描画が遅い機体と速い機体で大きな違いがあるとするとaptでアップデートしたくらいです。描画速度が遅い機体を持ち帰ってきてアップデートしました。結果だけ先に言ってしまうと、描画速度はやや改善したものの全く同じにはなりませんでした。何が違うんだろう?
描画速度に効いていると思われるのは下記の2つです。
アップデート方法はapt-get updateとapt-get upgradeですが、下記のようにchanged its 'Origin' value from 'AAAA' to 'BBBB'エラーが出る場合があります。
Reading package lists... Done E: Repository 'https://radxa-repo.github.io/bullseye rockchip-bullseye InRelease' changed its 'Origin' value from 'rsdk-local rockchip-bullseye' to 'Radxa' E: Repository 'https://radxa-repo.github.io/bullseye rockchip-bullseye InRelease' changed its 'Label' value from 'rsdk-local rockchip-bullseye' to 'Freight' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details. E: Repository 'https://radxa-repo.github.io/bullseye bullseye InRelease' changed its 'Origin' value from 'rsdk-local bullseye' to 'Radxa' E: Repository 'https://radxa-repo.github.io/bullseye bullseye InRelease' changed its 'Label' value from 'rsdk-local bullseye' to 'Freight' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details. Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done
これはリポジトリのReleaseファイルが変わっているが良いのか?と確認してくれているためで、今回は無視して良いので--allow-releaseinfo-changeを付けてapt-get updateすれば先に進みます。
# apt-get update --allow-releaseinfo-change (...略...) # apt-get dist-upgrade Hit:1 https://download.vscodium.com/debs vscodium InRelease Hit:2 https://deb.debian.org/debian bullseye InRelease Hit:3 https://deb.debian.org/debian bullseye-backports InRelease Hit:4 https://deb.debian.org/debian-security bullseye-security InRelease Hit:5 https://deb.debian.org/debian bullseye-updates InRelease Hit:6 https://radxa-repo.github.io/bullseye rockchip-bullseye InRelease Hit:7 https://radxa-repo.github.io/bullseye bullseye InRelease Reading package lists... Done Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following NEW packages will be installed: librtui linux-headers-5.10.160-34-rk356x linux-image-5.10.160-34-rk356x r8125-dkms radxa-system-config-r8125-dkms The following packages will be upgraded: aic8800-firmware aic8800-sdio-dkms aicrf-test linux-headers-rock-3c linux-image-rock-3c radxa-firmware radxa-overlays-dkms radxa-system-config-aic8800-sdio-dkms radxa-system-config-bullseye radxa-system-config-common radxa-system-config-kernel-cmdline-ttyfiq0 radxa-system-config-rockchip radxa-udev rsetup rsetup-config-aic8800-ttys1 task-rock-3c
描画速度はやや改善したものの全く同じにはなりません。描画速度が速い機種と改善後の機種を比べると、
描画が速い機種 | 描画が遅い機種(改善後) | |
---|---|---|
マウスカーソル | ちらつく | ちらつかない |
マウスカーソルを動かし続ける | 描画が止まらない | 描画が止まる |
描画速度 | 16ms〜32ms(たまに1フレームスキップ) | たまに16ms、ほぼ32ms〜64ms(ほぼ1フレームスキップ) |
うーん?何が違うんだろう?
目次: Arduino
前回(2024年3月24日の日記参照)発注して燃えた(2024年4月3日の日記参照)PCBの設計を改修して発注しました。前回と同様にJLPCBにお願いしています。
JLPCBはドル決済なので円安だと支払いが増えて結構痛いんですよね……。円安がマシにならないかなーと思って1ヶ月くらい待ったんですが、特に良くなる傾向がなかったので諦めました。
< | 2024 | > | ||||
<< | < | 06 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | - | - | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | - | - | - | - | - | - |
合計:
本日: