Announcement

Collapse
No announcement yet.

ZeroTier Networking

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ZeroTier Networking

    About 9 years ago I made a Java program to exchange target info between users. This was based on Port 30003 SBS-1 data. I use modesmixer2 and an old Beast receiver connected to a RPi in my rafters, and using Power over Ethernet to power it.

    This gives me port 30003 data which on the same RPi I run the Java shim ADSBNet to convert the data into network target reports that can be exchanged. Originally I used a list of IP's to the people I was sharing with. There's no MLAT or anything, just ADS-B and Mode-S. Also it sends the reports over a Multicast network. This allows all your PC's to listen, and ADSBNet only has to send each target once, as Multicast is a one-to-many UDP broadcast.

    Now there is a great network system in the form of ZeroTier. This requires a client to be loaded onto your machine, which then connects you to a peer-2-peer worldwide network. Thus, your Multicast targets are sent over this network to everyone, as it is one-to-many. No server required! No non-disclosure problems!

    You could even have multiple ZeroTier networks. Maybe the Worldwide Multicast network on one LAN, and maybe smaller regional network LAN's that are formed by copying targets that pass a location filter, and re-transmitted onto the regional LAN.

    Just a comment and idea. No business plan :-)

    github.com/srsampson/ADSBNet

    Have fun,
    Steve/alias coupe
    Last edited by coupe; 2020-02-03, 22:33.

  • #2
    Coupe!

    Nice to see you here. I'm still using adsmysql to dump SQL and make pretty pages!

    Did you ever update from 1.27 (I think thats what I'm running)
    Posts not to be taken as official support representation - Just a helpful uploader who tinkers

    Comment


    • #3
      I haven't had a database here at the house for a long time, so that was probably the last version, ha.

      Comment


      • #4
        Aha, I found a file on my computer, and the latest was 1.8. However I don't know how complete it is. I'll have to install MySQL and find out.

        github.com/srsampson/ADSBMySQL

        oops, they don't let me post links yet...
        Last edited by coupe; 2019-05-10, 10:15.

        Comment


        • #5
          Only just noticed you gave an updated link! legend.

          Now to work out where I went wrong creating the latest rendition of it tablewise.

          I think I used the .sql included step by step, but may have lost some of the metric functions when transferring SQL versions :/

          I'm sure I shouldn't be backing up 20Gb tables.. :Padsmysql.JPG
          Posts not to be taken as official support representation - Just a helpful uploader who tinkers

          Comment


          • #6
            Hi Coupe,

            I notice you've archived 1.8 and now have a 1.9

            I'll happily move to that if I can work out how to trim my current dbase and keep my current data/append to it if possible

            How linked is target echo? I have a 4Gb table head with 20Gb of actual data - and I don't tend to reference historic positions, only the hex and date/time

            Like if I set a regular drop for targetecho for 30days+, is that likely to also prune the targethistory references
            Posts not to be taken as official support representation - Just a helpful uploader who tinkers

            Comment


            • #7
              Originally posted by Oblivian View Post
              Hi Coupe,

              I notice you've archived 1.8 and now have a 1.9

              I'll happily move to that if I can work out how to trim my current dbase and keep my current data/append to it if possible

              How linked is target echo? I have a 4Gb table head with 20Gb of actual data - and I don't tend to reference historic positions, only the hex and date/time

              Like if I set a regular drop for targetecho for 30days+, is that likely to also prune the targethistory references
              The targetecho isn't linked anywhere I'm pretty sure. Targethistory entries come from when the target fades out, but it isn't linked anywhere. I think both of these can be dropped. Obviously you probably have to stop ADSBMySQL when doing the archive and then truncate the table.

              The targetecho was kind of an afterthought as I created it to use with the TrackView program. The theory being to use a database rather then memory.

              As you know, I'm not a database guru, so a lot of the design was on the fly...

              Comment


              • #8
                Sorry for not seeing your comments, as I haven't been logging in regularly.

                Comment


                • #9
                  All good

                  In the intrim I've ended up doing a stop and full backup. Change global to per file IBD (old sql 5.6 via WAMP) and re import. Lost 5Gb in the process which was better than the 100mb free the machine had (but did take nearly 8hours of fluffing about before realising my backups were being truncated!)

                  From here I can do a trim and drop a date range if need be and have the file shrink. I started to do <2015 thinking I could find a use for historic location mapping at some point using the track data similar to how VirtualRadar does with current on-screen targets. But it was taking AAAGGEEES. Presumaby the associated log updates

                  If I get brave I'll compare the table columns/data with your new version and see if I can import the old data and continue capture with the new version. The heading data and so on sounds fun.

                  Then work out how to cycle the tracked echo data regularly to a preset amount
                  Posts not to be taken as official support representation - Just a helpful uploader who tinkers

                  Comment


                  • #10
                    The Zerotier idea wasn't very good, as the network Multicast data was too intensive. So I started converting it to just connect sites together using UDP via Zerotier or normal method. Not sure where I left off, but I think the code has been slightly abandoned...

                    Comment


                    • #11
                      Struck quirks much like you mention in the readme about the differences in 30003 outputs

                      I've not changed to the 'new' version sql writer as yet, (worried the tables are slightly different and not smart enough to check/merge).
                      But as a result of 0 planes during the day and non-persistance in checking the port is open, keep losing connection to 30003 out of fr24feed as it restarted thinking there was a fault

                      So, though, lets try dump1090-fa 30003 output - uh oh, no more altitude decodes being captured

                      OK, So lets try modesmixer2 like your example (I have a classic beast and beast-splitter too - but I have mine in :B out rather than radarcape)


                      ADSMysql missing altitude again. DOH!

                      Looks like there is some variance in the full decoded MSG String between the software now. Sigh. Including UTC vs gmt/local time stamping 0.o

                      'Session' and 'Flight' ID seems to differ - possibly expected as different sources. And the alert,emergency, spi and ground are viewed different. But the middle bits aren't so can't work out why it cant find altitude in the middle

                      Guess it's more reason to goto 1.9

                      Samples from (readable) FR24feed out:

                      MSG,3,333,1,C822E9,101,2020/05/11,23:45:22.896,2020/05/11,23:45:22.896,,7150,,,-43.14716,172.63705,,,0,0,0,0 MSG,3,333,1,C822E9,101,2020/05/11,23:45:23.392,2020/05/11,23:45:23.392,,7125,,,-43.14771,172.63629,,,0,0,0,0 MSG,3,333,1,C822E9,101,2020/05/11,23:45:23.857,2020/05/11,23:45:23.857,,7100,,,-43.14829,172.63556,,,0,0,0,0 MSG,3,333,1,C822E9,101,2020/05/11,23:45:26.507,2020/05/11,23:45:26.507,,7025,,,-43.15123,172.63175,,,0,0,0,0 MSG,4,333,1,C822E9,101,2020/05/11,23:45:26.699,2020/05/11,23:45:26.699,,,336.0,223.2,,,-2048,,,,,

                      And modesmixer2

                      MSG,3,0,0,C822E9,0,2020/05/11,11:46:47.905,2020/05/11,11:46:47.905,,5575,,,-43.237672,172.520272,,,,,,0 MSG,3,0,0,C822E9,0,2020/05/11,11:46:48.432,2020/05/11,11:46:48.432,,5575,,,-43.238297,172.519524,,,,,,0 MSG,3,0,0,C822E9,0,2020/05/11,11:46:48.927,2020/05/11,11:46:48.927,,5575,,,-43.238789,172.518899,,,,,,0 MSG,3,0,0,C822E9,0,2020/05/11,11:46:49.392,2020/05/11,11:46:49.392,,5575,,,-43.239212,172.518374,,,,,,0 MSG,8,0,0,C822E9,0,2020/05/11,11:46:49.406,2020/05/11,11:46:49.406,,,,,,,,,,,,0 MSG,4,0,0,C822E9,0,2020/05/11,11:46:49.630,2020/05/11,11:46:49.630,,,294.4,222.8,,,-512,,,,,0 MSG,3,0,0,C822E9,0,2020/05/11,11:46:49.822,2020/05/11,11:46:49.822,,5575,,,-43.239578,172.517863,,,,,,0 MSG,4,0,0,C822E9,0,2020/05/11,11:46:50.125,2020/05/11,11:46:50.125,,,294.4,222.8,,,-512,,,,,0 MSG,3,0,0,C822E9,0,2020/05/11,11:46:50.238,2020/05/11,11:46:50.238,,5575,,,-43.240082,172.517225,,,,,,0 MSG,8,0,0,C822E9,0,2020/05/11,11:46:50.461,2020/05/11,11:46:50.461,,,,,,,,,,,,0 MSG,4,0,0,C822E9,0,2020/05/11,11:46:50.589,2020/05/11,11:46:50.589,,,294.4,222.8,,,-512,,,,,0
                      Posts not to be taken as official support representation - Just a helpful uploader who tinkers

                      Comment


                      • #12
                        Woof. I haven't run this in awhile and had to remember how to start MySQL and use the application. Looks like MYSQL is really dorked up, as I had to add a timezone parameter to my login. This took an hour to figure out. Then I think I had to upgrade my java connector.

                        Anyway, when I got done (using a RTL-SDR and modes2deco (My beast is torn apart for re-design into a box) it did start adding stuff to the table

                        MSG,7,0,0,AE5F9B,0,2020/05/11,17:04:01.202,2020/05/11,17:04:01.202,,2650,,,,,,,,,,0
                        MSG,8,0,0,ACC9D5,0,2020/05/11,17:04:01.312,2020/05/11,17:04:01.312,,,,,,,,,,,,0
                        MSG,8,0,0,ACC9D5,0,2020/05/11,17:04:01.314,2020/05/11,17:04:01.314,,,,,,,,,,,,0
                        MSG,5,0,0,AE5F9B,0,2020/05/11,17:04:01.314,2020/05/11,17:04:01.314,,2650,,,,,,,,,0,0
                        MSG,8,0,0,ACC9D5,0,2020/05/11,17:04:01.315,2020/05/11,17:04:01.315,,,,,,,,,,,,0
                        MSG,8,0,0,AE5E13,0,2020/05/11,17:04:01.426,2020/05/11,17:04:01.426,,,,,,,,,,,,0
                        MSG,8,0,0,AE5F9B,0,2020/05/11,17:04:01.431,2020/05/11,17:04:01.431,,,,,,,,,,,,0
                        MSG,7,0,0,ACC9D5,0,2020/05/11,17:04:01.534,2020/05/11,17:04:01.534,,34000,,,,,,,,,,0
                        MSG,1,0,0,AE01F2,0,2020/05/11,17:04:01.764,2020/05/11,17:04:01.764,HOOK41,,,,,,,,,,,0
                        MSG,4,0,0,AE01F2,0,2020/05/11,17:04:01.866,2020/05/11,17:04:01.866,,,106.6,174.1,,,64,,,,,0
                        MSG,3,0,0,ACC9D5,0,2020/05/11,17:04:01.983,2020/05/11,17:04:01.983,,34000,,,35.610397,-97.586918,,,,,,0
                        MSG,3,0,0,AE01F2,0,2020/05/11,17:04:02.200,2020/05/11,17:04:02.200,,3675,,,35.545240,-97.606863,,,,,,0
                        MSG,4,0,0,AE01F2,0,2020/05/11,17:04:02.210,2020/05/11,17:04:02.210,,,106.5,174.6,,,64,,,,,0
                        MSG,7,0,0,AE01F2,0,2020/05/11,17:04:02.418,2020/05/11,17:04:02.418,,3675,,,,,,,,,,0
                        Attached Files

                        Comment


                        • #13
                          Oh it was adding to the table, but leaving out the 11th? , group field when it come to merging the records - NULL

                          I wonder if it's because some decoders flags all messages with the same ID and can't marry the airbone/height msg3 to an ident properly (fr24feed output seems to increment those IDs)

                          See yours first fields are all ID 0,0 for all hex too. Perhaps the sampling can't match msg3 hex to msg4 etc with them all being 0

                          I run querys into daily logs. Its awesome for that

                          The orange bracket ones all got added from beast splitter or dump1090 before changing back

                          Screenshot_20200512_083301.jpg
                          Posts not to be taken as official support representation - Just a helpful uploader who tinkers

                          Comment


                          • #14
                            Originally posted by Oblivian View Post
                            Oh it was adding to the table, but leaving out the 11th? , group field when it come to merging the records - NULL

                            I wonder if it's because some decoders flags all messages with the same ID and can't marry the airbone/height msg3 to an ident properly (fr24feed output seems to increment those IDs)

                            See yours first fields are all ID 0,0 for all hex too. Perhaps the sampling can't match msg3 hex to msg4 etc with them all being 0

                            I run querys into daily logs. Its awesome for that

                            The orange bracket ones all got added from beast splitter or dump1090 before changing back
                            The latest version was tested with a newer MySQL version. I think my development box is even a newer version of MySQL. I tried to punt and just use SQLite but SQLite didn't work very well with two applications using the database at the same time. Very slow due to locking.

                            I'm not very impressed with MySQL as the versions keep getting more complex. I mean the latest version you have to send it your timezone on login. This is crazy.

                            To be honest I don't really keep the software up to date. It took me an hour to figure out how to use it again :-) If I were you, I'd stick to the earlier program.

                            If I update the software, I'll probably try to find a better client/server database. MySQL is just too overkill for the simple tables used.

                            Comment


                            • #15
                              The ADSB SQLite Version is at: https://github.com/srsampson/ADSBSQLite

                              Maybe try it out, it might work for you, as I was trying to use it for a display application. But anyway, in that version the database is built-in. No crusty MySQL install :-)

                              Comment

                              Working...
                              X