n1kdo / n1mm_view

Real-time statistics viewer for N1MM+ on Field Day
BSD 2-Clause "Simplified" License
32 stars 13 forks source link

Is there a way to sync the n1mm_view.db file #33

Closed N6WT closed 4 months ago

N6WT commented 3 years ago

If a contest has already started, is there a way to add or sync the qso's to the n1mm_view.db file?

ke0pci commented 3 years ago

n1mm_view is designed to only listen to the sync communication between N1MM logs to populate its internal database. if N1MM were to expose its data through a REST API, this would be possible.

N6WT commented 3 years ago

Got it!

Thanks 73 Kent N6WT

On Thu, Jul 1, 2021, 14:26 ke0pci @.***> wrote:

n1mm_view is designed to only listen to the sync communication between N1MM logs to populate its internal database. if N1MM were to expose its data through a REST API, this would be possible.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/n1kdo/n1mm_view/issues/33#issuecomment-872561397, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUV3JMTIJTKPFLEM7U3QS4DTVTMQHANCNFSM47VOIPMA .

n1kdo commented 3 years ago

Well, kind of. I don't know if you can sync it with N1MM running, but I know it works when N1MM is not running.

The replayer.py script can read a N1MM database and send broadcast messages that the collector will accept.

the name of the database must be specified in config.py with the N1MM_LOG_FILE_NAME variable.

this is useful mostly for debugging and testing, but also if you want to analyze a field day log after the fact.

start collector.py in one window, then start replayer.py in the other window. wait for it to finish. there is a 50 msec delay after each qso is sent, so it can send about 20/sec.

73

Jeff n1kdo

N6WT commented 3 years ago

When I do ./replayer.py I get the error: pi@raspberrypi:~/n1mm_view $ ./replayer.py 2021-07-04 18:10:56.553 INFO replayer started... Traceback (most recent call last): File "./replayer.py", line 129, in main() File "./replayer.py", line 99, in main cursor.execute('SELECT TS, band, Freq, QSXFreq, Operator, Mode, Call, CountryPrefix, WPXPrefix, \n' sqlite3.OperationalError: no such table: DXLOG

n1kdo commented 3 years ago

did you set the variable name in config.py to point at the database file? It will probably be a .s3db file.

N6WT commented 3 years ago

Yes, the file is called FD2021.s3db.

N6WT commented 3 years ago

Im reading the replayer file. It says "NOTE: the sqlite3 dll that ships with windows python won't read the N1MM+ log file. You must get the latest sqlite3 dll from https://www.sqlite.org/download.html and replace the version in your python dlls folder. I've not tried this on Linux. Make sure your download the version for the same architecture as your python installation (32- vs. 64-bit.)"

Is this saying I need the sqlite3.dll on the PC running windows and n1mm??

n1kdo commented 3 years ago

You might need a newer sqlite3.dll, I don't know. Those comments were written ~ 5 years ago, I don't remember. I can tell you at the time, Python could not open the N1MM+ sqlite files.

The error you saw, no such table, will definitely occur if the file cannot be opened, I don't remember if that is the error that occurs if sqlite3.dll is too old.

I'm running and testing this with Python 3.8, which is far newer than the python 2.7 this stuff originally supported. I look on my disk and there are about 5 different versions. Ouch.

I will push a new version of the replayer.py script tomorrow; the new version first checks that the file exists before it tries to make a database connection to it. You will want to do a git pull to fetch the latest.

Jeff

N6WT commented 3 years ago

Does Python have to be installed on the windows computer running n1mm for repalyer to work, I do not have it installed there currently.

n1kdo commented 3 years ago

If you want to run the replayer on windows, then yes, python must be installed.

I think that python should be able run replayer on a raspberry pi, but I have not tried that, and it is unlikely I will have time to any time soon as I am getting crushed by work and school.

My first inclination is that there is another reason why the file cannot be opened. On Linux, filename case (upper/lower) is significant; windows does not care. Check the name is spelled exactly right. try the linux command file FD2021.s3db -- what does that tell you?

It might be a while before I can answer again. I'm working on a paper that is due on Friday and I am behind.

Jeff

ny4i commented 2 years ago

You can use the function in N1MM to resend all the contacts via UDP. Right now, you would need to delete n1mm_view.db, restart the collector and then select the option to resend all the contacts.