コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2024年6月23日 >>> 2024年6月10日
link もっと後

2024年6月17日

GPSDに外部から接続する方法

目次: 自宅サーバー

昔買って放置していた秋月のGPS受信機キット(太陽誘電のGYSFDMAXBを使用しているそうな)を組み立てて、サーバーPCに接続しました。GPSが送ってくるNMEAメッセージはgpsdが一旦受け取りますが、このメッセージをローカルマシン以外から見る方法が地味にわからなかったのでメモしておきます。環境はDebian Bookwarmです。

どうやらgpsdは直接ソケットをlistenしているわけではなく、gpsd -> systemd -> 外部という形になっているようです。まず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(外部からの接続を受け付けるためのオプション)を追加します。

gpsdの設定変更
# /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衛星を捕捉しません。壊れてしまったのだろうか……。

編集者:すずき(2024/06/22 16:26)

コメント一覧

  • hdkさん(2024/06/22 22:08)
    GPSの最初の同期を取る時は見晴らしのいい屋外に持ち出してやったほうがいいと思います。以前買ったGPS内蔵のノートパソコンでも、最初だけは外付けアンテナをつないで屋外でやっとという感じでした。スマートフォンは携帯電話の電波や無線LANの情報を元に高速同期するのであれに慣れてしまうと簡単に掴めそうに思ってしまいますが、そういうのがないGPSは窓際なんかでは厳しそうです。
  • すずきさん(2024/06/23 00:12)
    ありがとうございます。バルコニーではない出窓(天井など邪魔なものがなく、空が全面に見える)、ギリギリまで持ってきたらやっと同期が取れました。
    でも電池入れてないので、電源を切ったら同期情報が消えてしまうんですよね。もう出窓の側から動かせないぞ……これ……。
open/close この記事にコメントする



2024年6月11日

ROCK 3Cの描画速度改善

目次: Arduino

エアガン的当てゲームを作り始めたとき(1月くらいかな?)から気になっていたのですが、ROCK 3C上でJavaを使って画面を描画すると妙に描画速度が遅いです。もうひとつ不思議なことに、マウスカーソルをぐりぐり動かすと描画が止まります。なんで?

最初はJava側の問題か?と思ったものの、秋葉原のTARGET-1に置いている機体はJava側のプログラムは全く同じなのに、描画速度がメチャ速いです(マウスカーソルを動かしても画面描画が止まらない)。ROCK 3C側(というかメインSoCであるRockchip RK3566)のグラフィック関連がどこかおかしいんでしょう。たぶん。

描画が遅い機体と速い機体で大きな違いがあるとするとaptでアップデートしたくらいです。描画速度が遅い機体を持ち帰ってきてアップデートしました。結果だけ先に言ってしまうと、描画速度はやや改善したものの全く同じにはなりませんでした。何が違うんだろう?

カーネルとlibmaliのアップデート

描画速度に効いていると思われるのは下記の2つです。

  • カーネルバージョン: 5.10.160-33-rk356x -> 5.10.160-34-rk356x
  • libmali: libmali-bifrost-g31-g2p0-x11-gbm -> libmali-bifrost-g52-g2p0-x11-gbm

アップデート方法はapt-get updateとapt-get upgradeですが、下記のようにchanged its 'Origin' value from 'AAAA' to 'BBBB'というエラーが出る場合があります。

apt-get updateのエラー
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すれば先に進みます。

最新のRockchip用カーネルに更新
# 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フレームスキップ)

うーん?何が違うんだろう?

編集者:すずき(2024/06/22 15:42)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2024年6月10日

PCBを設計して注文、第二弾

目次: Arduino

前回(2024年3月24日の日記参照)発注して燃えた(2024年4月3日の日記参照)PCBの設計を改修して発注しました。前回と同様にJLPCBにお願いしています。

JLPCBはドル決済なので円安だと支払いが増えて結構痛いんですよね……。円安がマシにならないかなーと思って1ヶ月くらい待ったんですが、特に良くなる傾向がなかったので諦めました。

編集者:すずき(2024/06/22 15:48)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2024年6月23日 >>> 2024年6月10日
link もっと後

管理用メニュー

link 記事を新規作成

<2024>
<<<06>>>
------1
2345678
9101112131415
16171819202122
23242526272829
30------

最近のコメント5件

  • link 24年6月17日
    すずきさん (06/23 00:12)
    「ありがとうございます。バルコニーではない...」
  • link 24年6月17日
    hdkさん (06/22 22:08)
    「GPSの最初の同期を取る時は見晴らしのい...」
  • link 24年5月16日
    すずきさん (05/21 11:41)
    「あー、確かにdpkg-reconfigu...」
  • link 24年5月16日
    hdkさん (05/21 08:55)
    「システム全体のlocale設定はDebi...」
  • link 24年5月17日
    すずきさん (05/20 13:16)
    「そうですねえ、普通はStandardなの...」

最近の記事3件

  • link 22年3月18日
    すずき (06/22 17:32)
    「[射的 - まとめリンク] 目次: 射的一覧が欲しくなったので作りました。ガスガン その1ガスガン その2ガスガンが増えました...」
  • link 23年11月25日
    すずき (06/22 17:31)
    「[JTSA Limited大会参加2023] 目次: 射的JTSA Limitedの大会に参加しました。いつも使っているエアガ...」
  • link 24年5月26日
    すずき (06/22 17:16)
    「[JTSA Unlimited大会参加2024] 目次: 射的JTSA Unlimitedの大会に参加しました。去年は選手登録...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 06/23 00:12