{"id":1369,"date":"2014-03-17T01:32:40","date_gmt":"2014-03-17T00:32:40","guid":{"rendered":"http:\/\/majek.mamy.to\/?p=1369"},"modified":"2014-05-27T23:34:31","modified_gmt":"2014-05-27T21:34:31","slug":"rtlsdr-and-adsb","status":"publish","type":"post","link":"https:\/\/majek.sh\/pl\/rtlsdr-and-adsb\/","title":{"rendered":"RTL-SDR i ADS-B"},"content":{"rendered":"<p>Szuka\u0142em sobie w Internecie o FLARMie i innych mo\u017cliwo\u015bciach \u015bledzenia ma\u0142ych samolot\u00f3w, najlepiej pod k\u0105tem mo\u017cliwo\u015bci u\u017cycia tego w modelach \ud83d\ude42<br \/>\nOczywi\u015bcie znalaz\u0142em ca\u0142kiem co\u015b innego, co przypomnia\u0142o mi, \u017ce ma\u0142y tuner DVB-T na usb ze znanym chipsetem Realteka RTL2832U mo\u017ce by\u0107 r\u00f3wnie\u017c u\u017cyty jako odbiornik ADS-B.<br \/>\nW uproszczeniu: ADS-B jest systemem, kt\u00f3ry pozwala na \u015bledzenie wi\u0119kszych statk\u00f3w powietrznych dzi\u0119ki informacjom nadawanym przez nie. Protok\u00f3\u0142 jest na tyle dobrze znany, \u017ce ka\u017cdy, kto jest w stanie odebra\u0107 te sygna\u0142y mo\u017ce je r\u00f3wnie\u017c zdekodowa\u0107 i co\u015b z tym zrobi\u0107. Najbardziej znan\u0105 stron\u0105 wizualizuj\u0105c\u0105 te dane jest <a href=\"http:\/\/flightradar24.com\" target=\"_blank\">flightradar24.com<\/a>.<\/p>\n<p>Prosta aplikacja odbieraj\u0105ca i dekoduj\u0105ca ADS-B (rtl_adsb) jest nawet cz\u0119\u015bci\u0105 podstawowej biblioteki rtlsdr, ale niewiele ona robi poza wypisaniem na konsol\u0119 odebranych pakiet\u00f3w i cz\u0119\u015bciowym ich dekodowaniem.<br \/>\nPoniewa\u017c m\u00f3j stary tuner oparty o FC0013 nie mo\u017ce odbiera\u0107 cz\u0119stotliwo\u015bci 1090MHz, wi\u0119c nie testowa\u0142em tego, a po zakupie nowego zapomnia\u0142em o tym \ud83d\ude42<\/p>\n<h2>dump1090 by antirez<\/h2>\n<p>Ale dzisiaj znalaz\u0142em co\u015b o wiele lepszego, wr\u0119cz imponuj\u0105cego, co potrafi nie tylko odebra\u0107 dane ADS-B, ale r\u00f3wnie\u017c je zwizualizowa\u0107: <strong>dump1090<\/strong> (<a href=\"https:\/\/github.com\/antirez\/dump1090\" target=\"_blank\">https:\/\/github.com\/antirez\/dump1090<\/a>), wi\u0119c oczywi\u015bcie musia\u0142em to sprawdzi\u0107 \ud83d\ude42<\/p>\n<p>Skompilowa\u0142o si\u0119 to bezproblemowo przez zwyk\u0142e 'make&#8217;.<br \/>\nUruchomienie bez \u017cadnych opcji daje wynik podobny do w\u0142\u0105czenia bardziej gadatliwej opcji 'rtl_adsb -V&#8217;, czyli na razie nic szczeg\u00f3lnego \ud83d\ude42<\/p>\n<pre>$ .\/dump1090\r\nFound 1 device(s):\r\n0: Realtek, RTL2838UHIDIR, SN: 00000001 (currently selected)\r\nFound Rafael Micro R820T tuner\r\nMax available gain is: 49.60\r\nSetting gain to: 49.60\r\nExact sample rate is: 2000000.052982 Hz\r\nGain reported by device: 49.60\r\n*8d471f4e9941f28fa8948de31fa4;\r\nCRC: 000000 (ok)\r\nDF 17: ADS-B message.\r\n  Capability     : 5 (Level 2+3+4 (DF0,4,5,11,20,21,24,code7 - is airborne))\r\n  ICAO Address   : 471f4e\r\n  Extended Squitter  Type: 19\r\n  Extended Squitter  Sub : 1\r\n  Extended Squitter  Name: Airborne Velocity\r\n    EW status         : Valid\r\n    EW velocity       : 497\r\n    NS status         : Valid\r\n    NS velocity       : -124\r\n    Vertical status   : Valid\r\n    Vertical rate src : 0\r\n    Vertical rate     : -2304\r\n\r\n*5d471f4e76710a;\r\nCRC: 00002c (ok)\r\nDF 11: All Call Reply.\r\n  Capability  : 5 (Level 2+3+4 (DF0,4,5,11,20,21,24,code7 - is airborne))\r\n  ICAO Address: 471f4e\r\n  IID         : SI-28\r\n\r\n*200014121f6bd2;\r\nCRC: 471f4e (ok)\r\nDF 4: Surveillance, Altitude Reply.\r\n  Flight Status  : Normal, Airborne\r\n  DR             : 0\r\n  UM             : 0\r\n  Altitude       : 31050 feet\r\n  ICAO Address   : 471f4e\r\n<\/pre>\n<p>Ale robi si\u0119 bardziej interesuj\u0105co przy dodawaniu dodatkowych prze\u0142\u0105cznik\u00f3w. Pierwszym jest <em>&#8211;interactive<\/em>, kt\u00f3ry rysuje tabelk\u0119 z bardziej przyjaznymi w odczycie danymi, posortowanymi wg. samolot\u00f3w.<\/p>\n<p>Wygl\u0105da to o wiele lepiej:<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b1-640x332.png\" alt=\"dump1090 with --interactive\" width=\"640\" height=\"332\" class=\"alignnone size-medium wp-image-1374\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b1-640x332.png 640w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b1-150x77.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b1.png 655w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Nast\u0119pn\u0105 interesuj\u0105c\u0105 opcj\u0105 jest <em>&#8211;net<\/em>, kt\u00f3ra odblokowuje funkcje sieciowe. Najbardziej imponuj\u0105cy jest wbudowany serwer www generuj\u0105cy map\u0119 z zaznaczonymi na niej samolotami przemieszczaj\u0105cymi si\u0119 w czasie rzeczywistym!<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b2-640x454.png\" alt=\"web interface of dump1090\" width=\"640\" height=\"454\" class=\"alignnone size-medium wp-image-1375\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b2-640x454.png 640w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b2-150x106.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b2.png 687w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Ciekaw\u0105 rzecz\u0105 jest to, \u017ce odbieram to wszystko tylko na do\u0142\u0105czonej do zestawu tunera ma\u0142ej antence umieszczonej ko\u0142o okna. Tuner odbiera sygna\u0142 bez specjalnej anteny z samolot\u00f3w oddalonych o ponad 250km ode mnie &#8211; niesamowite!<\/p>\n<h2>dump1090 by MalcolmRobb<\/h2>\n<p>Ale to jeszcze nie wszystko! Powsta\u0142 fork tego projektu udoskonalony przez MalcolmRobb (<a href=\"https:\/\/github.com\/MalcolmRobb\/dump1090\" target=\"_blank\">https:\/\/github.com\/MalcolmRobb\/dump1090<\/a>).<\/p>\n<p>Na konsoli mamy dodatkowe informacje jak np. numer transpondera, kierunek poruszania si\u0119 samolotu, informacje wy\u015bwietlane s\u0105 te\u017c bardziej przejrzy\u015bcie:<\/p>\n<p><a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b3.png\" alt=\"dump1090 --interactive by fork by MalcolmRobb\" width=\"637\" height=\"290\" class=\"alignnone size-full wp-image-1380\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b3.png 637w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b3-150x68.png 150w\" sizes=\"(max-width: 637px) 100vw, 637px\" \/><\/a><\/p>\n<p>Interfejs www r\u00f3wnie\u017c zosta\u0142 ulepszony. Samoloty teraz wygl\u0105daj\u0105 jak samoloty, a nie strza\u0142ki. Dodatkowo przegl\u0105darka zapisuje histori\u0119 pozycji co pozwala rysowa\u0107 \u015blad dla ka\u017cdego lotu. Dodatkowo jako podk\u0142ad mapy mo\u017cna u\u017cy\u0107 dodatkowo Openstreetmap (wcze\u015bniej by\u0142y tylko mapy Google).<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b4-640x419.png\" alt=\"web interface of fork of dump1090 by MalcolmRobb\" width=\"640\" height=\"419\" class=\"alignnone size-medium wp-image-1381\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b4-640x419.png 640w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b4-150x98.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b4.png 953w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b5-640x385.png\" alt=\"web interface of fork of dump1090 by MalcolmRobb\" width=\"640\" height=\"385\" class=\"alignnone size-medium wp-image-1382\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b5-640x385.png 640w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b5-150x90.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b5.png 954w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>S\u0105 te\u017c innego usprawnienia i poprawki b\u0142\u0119d\u00f3w, soft ci\u0105gle \u017cyje.<\/p>\n<p>Obydwie wersje <strong>dump1090<\/strong> posiadaj\u0105 r\u00f3wnie\u017c prze\u0142\u0105cznik <em>&#8211;agressive<\/em>. Mimo ostrze\u017ce\u0144, na normalnym PC nie widz\u0119 specjalnie wi\u0119kszego obci\u0105\u017cenia, wi\u0119c mo\u017cna tego u\u017cywa\u0107 bez wahania jako domy\u015bln\u0105 opcj\u0119. Zw\u0142aszcza, \u017ce poprawia ona troch\u0119 odbi\u00f3r (lepsza korekcja b\u0142\u0119d\u00f3w kosztem obci\u0105\u017cenia procesora).<\/p>\n<p>Jednej rzeczy mi tylko brakuje &#8211; bezpo\u015brednioego wrzucania danych do flightradar24. Ale to nie marudzenie, raczej \u017cyczenie &#8211; <strong>dump1090<\/strong> to naprawd\u0119 kawa\u0142ek dobrego oprogramowania!<\/p>","protected":false},"excerpt":{"rendered":"<p>Szuka\u0142em sobie w Internecie o FLARMie i innych mo\u017cliwo\u015bciach \u015bledzenia ma\u0142ych samolot\u00f3w, najlepiej pod k\u0105tem mo\u017cliwo\u015bci u\u017cycia tego w modelach \ud83d\ude42 Oczywi\u015bcie znalaz\u0142em ca\u0142kiem co\u015b innego, co przypomnia\u0142o mi, \u017ce ma\u0142y tuner DVB-T na usb ze znanym chipsetem Realteka RTL2832U <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/majek.sh\/pl\/rtlsdr-and-adsb\/\"><span class=\"more-msg\">Czytaj dalej &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6],"tags":[63,56],"_links":{"self":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts\/1369"}],"collection":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/comments?post=1369"}],"version-history":[{"count":17,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts\/1369\/revisions"}],"predecessor-version":[{"id":1404,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts\/1369\/revisions\/1404"}],"wp:attachment":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/media?parent=1369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/categories?post=1369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/tags?post=1369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}