Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

N1MMのログ形式の対応 #203

Open
jucky154 opened this issue Jun 27, 2024 · 8 comments
Open

N1MMのログ形式の対応 #203

jucky154 opened this issue Jun 27, 2024 · 8 comments
Assignees
Labels
ATS-4 Issue about ATS-4 enhancement New feature or request

Comments

@jucky154
Copy link
Member

jucky154 commented Jun 27, 2024

問題意識

ATS4をよりアマチュア無線界隈に広めたいが, コンテスト主催者側から攻めるのは困難が一部存在するということがわかった
そのため, 逆にコンテスト参加者側から主催者側に「なんで ATS4にしないの? あれ便利だからそっちにして欲しいんだけど」という方向の作戦もありだと思われる

それを踏まえると, コンテスターの利便性向上が求められる.
有名コンテスターはN1MMを使っていることが多いため, N1MMのログをadifにせずに, そのまま直接提出することができれば, 利便性向上につながると考えられ, 目的の一部達成につながる可能性がある.

また, 世界的にも進出させることを考えると, 世界的なロギングソフトへの対応は, 重要だと考えている

解決方法

N1MMはSQLiteのs3dbなるものを使っているぽい?

@jucky154 jucky154 added ATS-4 Issue about ATS-4 enhancement New feature or request labels Jun 27, 2024
@JG1VPP
Copy link
Member

JG1VPP commented Jul 3, 2024

SQLite Database File Formatでしょうか?テストファイルを頂けませんか?

@jucky154
Copy link
Member Author

jucky154 commented Jul 3, 2024

https://drive.google.com/drive/folders/1qCJawyODodVFTIDgORqx9XcnNIi3Y2nJ?usp=sharing
にN1MMをダンロードして, 日本国内コンテスト向けの入力形式みたいな設定で, ログを作成したものを入れておきました.
ham.s3dbの方が基本的に常時保存される方で, test_data.s3dbという名前の方がコンテスト向けに保存されるものぽいです.

中身はJA1ZLOが100110Hを創出し, JA1YWXとJA1YGXが100105Mを創出しているみたいなデータです
JA1ZLO.adiというファイルがそこから作り出したADIF形式のファイルになります.

https://n1mmwp.hamdocs.com/appendices/technical-information/#the-sqlite-databases
単純なSQLiteなのかは不明ですが, SQLite系統ではあると思います.
https://github.com/jrhy/s3db
拡張子的にはこれが実態なのかなと思っています

気になるのは, sendやrecvのナンバーが, コンテストごとに別の名前のkeyで保存されていないか不安ですね…

@jucky154
Copy link
Member Author

jucky154 commented Jul 3, 2024

さらに, admin.s3dbなるものも存在していて, これはよくわかりません... (おそらく, コンテスト超えて共通の何かを記録しているファイルと思われます)
また, 古いN1MMではmdbを使っていたようなので, それも一応は生成(test.mdb)しておきました.

@JG1VPP
Copy link
Member

JG1VPP commented Jul 4, 2024

SQLite format 3で確定ですね。ただ、汎用的なDBファイルなので、車輪の再発明を回避したいです。

00000000  53 51 4c 69 74 65 20 66  6f 72 6d 61 74 20 33 00  |SQLite format 3.|
00000010  10 00 02 02 00 40 20 20  00 00 00 07 00 00 00 27  |.....@  .......'|
00000020  00 00 00 22 00 00 00 01  00 00 00 1b 00 00 00 04  |..."............|
00000030  00 00 00 00 00 00 00 00  00 00 00 01 00 00 00 04  |................|
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 07  |................|
00000060  00 2e 3b f1 05 00 00 00  01 0f fb 00 00 00 00 0f  |..;?......?.....|
00000070  0f fb 0c a7 07 20 07 d7  06 1d 06 e9 05 f2 05 f2  |.?.?. .?...?.?.?|
00000080  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

@jucky154
Copy link
Member Author

jucky154 commented Jul 4, 2024

自分が1時間くらい調べた限りでは, N1MMのs3dbを読んでいるものはなさそうですね…
(公式のマニュアルにも, SQLiteで作っているよと それは消すなくらいしか書いていない…)

https://github.com/n1kdo/n1mm_view?tab=readme-ov-file
UDP broadcastsなるものがN1MMにあって, それを使っているアプリが結構ある(リアルタイムコンテストに使えるのでは?)
とか
https://github.com/mbridak/not1mm?tab=readme-ov-file
みたいな類似商品
を発見する謎はありました…

@jucky154
Copy link
Member Author

jucky154 commented Jul 4, 2024

https://github.com/bjorgan/n1mm_log_listener/tree/master
車輪の再発明をすでにしてくれた人ぽい人を発見?

いや、これも結局N1MMのUDPとかいうやつで情報を入手し, それをSQLに変換しているだけぽい?

@JG1VPP
Copy link
Member

JG1VPP commented Jul 5, 2024

単純にSQLiteをインストールした環境でJDBC経由でSQLiteと通信すれば良いのですが、QxSLは、交信記録を読むだけでなく書き込む機能も大切にしているので、N1MMで処理できるs3dbファイルにするにはどんな内容が必要なのか、検討しようと思います

@jucky154
Copy link
Member Author

jucky154 commented Jul 6, 2024

自分がN1MMを使った際にも設定させられたんですけど,
https://n1mmwp.hamdocs.com/getting-started/setting-up-for-a-contest/
databaseを作った後に, コンテスト形式とかを設定させられるので, その辺がN1MMで処理できるs3dbでないといけないような気がしました(デフォルトはアメリカのコンテストぽい? 今回のテストデータは日本のコンテスト向けのやつを使いました)
(s3dbにコンテストの情報が記載されているのかわかりませんが…)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ATS-4 Issue about ATS-4 enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants