nextzlog / todo

ToDo lists for ATS-4, CW4ISR, QxSL, ZyLO.
https://nextzlog.dev
1 stars 0 forks source link

N1MMのログ形式の対応 #203

Open jucky154 opened 1 week ago

jucky154 commented 1 week ago

問題意識

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

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

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

解決方法

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

JG1VPP commented 6 days ago

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

jucky154 commented 6 days ago

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 commented 6 days ago

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

JG1VPP commented 5 days ago

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 commented 5 days ago

自分が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 commented 5 days ago

https://github.com/bjorgan/n1mm_log_listener/tree/master 車輪の再発明をすでにしてくれた人ぽい人を発見? → いや、これも結局N1MMのUDPとかいうやつで情報を入手し, それをSQLに変換しているだけぽい?

JG1VPP commented 4 days ago

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

jucky154 commented 3 days ago

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