{"id":187,"date":"2014-11-01T19:42:55","date_gmt":"2014-11-01T17:42:55","guid":{"rendered":"http:\/\/www.dj1bb.de\/?p=187"},"modified":"2016-03-03T20:13:50","modified_gmt":"2016-03-03T19:13:50","slug":"ais-decodieren-mit-dem-raspi","status":"publish","type":"post","link":"https:\/\/www.dj1bb.de\/?p=187","title":{"rendered":"AIS decodieren mit dem RasPi"},"content":{"rendered":"<p>Da ich in der unmittelbarer n\u00e4he des Mittellandkanals wohne und hier im Marinetraffic hier die &#8222;Daten fehlten&#8220; habe ich mal ein kleines Project gestartet. F\u00fcr den Empfang reicht ein DVB-T Usb-Stick mit einem RTL2832U Chipsatz um die Daten auszuwerten.<!--more--><\/p>\n<h2>RTL_SDR auf dem RASPI<\/h2>\n<p>Es wird von einem installierten Debian System auf dem RasPi ausgegangen.<\/p>\n<pre><code> sudo apt-get install git cmake libusb-1.0-0.dev build-essential\r\n\r\nNun wird die RTL_SDR umbegung aus dem Git installiert.<\/code><\/pre>\n<pre><code> git clone git:\/\/git.osmocom.org\/rtl-sdr.git <\/code><\/pre>\n<p>Wir wechseln in das neue Verzeichnis, erstellen den Ordner &#8222;build&#8220; und wechseln in diesen.<\/p>\n<pre><code> cd rtl-sdr\/ <\/code>\r\n<code> mkdir build <\/code>\r\n<code> cd build <\/code><\/pre>\n<p>Wir f\u00fchren &#8222;cmake&#8220; auf dem darunter liegenden Ordner aus. Das Resultat landet in dem Ordner &#8222;build&#8220;, den wir eben angelegt haben.<\/p>\n<pre><code> cmake ..\/ <\/code>-DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=ON<\/pre>\n<pre><code><\/code><span style=\"font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;\">Compilieren des Codes und anschlie\u00dfendes Installieren der Software.<\/span><\/pre>\n<pre><code> make <\/code>\r\n<code> sudo make install <\/code><\/pre>\n<p>Der Befehl &#8222;<code>ldconfig<\/code>&#8220; steuert die Verwaltung der Bibliotheken, die im System verwendet werden und mit dem nachfolgenden Befehl werden die Verweise auf diese Bibliotheken aktuallisiert.<\/p>\n<pre><code> sudo ldconfig <\/code><\/pre>\n<p>F\u00fcr die Kommunikation mit dem Stick muss noch eine Datei kopiert werden. &#8222;udev&#8220; ist dabei ein Ger\u00e4tedienst, der die Ger\u00e4te im Verzeichnis \/dev dynamisch verwalten kann. Wir m\u00fcssen dazu zun\u00e4chst in das dar\u00fcberliegende Verzeichnis wechseln und anschlie\u00dfend die Datei kopieren:<\/p>\n<pre><code>cd .. \r\nsudo cp rtl-sdr.rules \/etc\/udev\/rules.d <\/code><\/pre>\n<h3>AISdecoder<\/h3>\n<h4>Download<\/h4>\n<h3><a href=\"http:\/\/www.aishub.net\/downloads\/aisdecoder-1.0.0.tar.gz\">http:\/\/www.aishub.net\/downloads\/aisdecoder-1.0.0.tar.gz<\/a><\/h3>\n<h4>Entpacken und Bauen<\/h4>\n<pre> #&gt; apt-get install pulseaudio libpulse-dev\r\n #&gt; \u0003tar zxvf aisdecoder-1.0.0.tar.gz\r\n #&gt; cd aisdecoder-1.0.0\r\n #&gt; mkdir build\r\n #&gt; cd build\r\n #&gt; cmake ..\/ -DCMAKE_BUILD_TYPE=RELEASE\r\n #&gt; make<\/pre>\n<p>Da dort leider kein &#8222;make install&#8220; existiert, habe ich die Dateien mal mit der Hand verschoben.<\/p>\n<pre> #&gt; sudo cp aisdecoder \/usr\/local\/bin\/\r\n #&gt; sudo cp lib* \/usr\/local\/lib\/<\/pre>\n<h3>Starten<\/h3>\n<p>Wenn die beiden Programme installiert sind kann man nun alles Starten.<\/p>\n<p>#&gt; mkfifo \/tmp\/aisdata<\/p>\n<p>#&gt; screen rtl_fm -f 161975000 -g 40 -p 95 -s 48k -r 48k \/tmp\/aisdata<\/p>\n<p>screen mit CTRL-A D verlassen<\/p>\n<p>#&gt; screen aisdecoder -h 5.9.207.224 -p 1234\u00a0-a file -c mono -d -l -f \/tmp\/aisdata<\/p>\n<p>Zum Testen ob nun was empfangen wird<\/p>\n<p><img loading=\"lazy\" class=\"alignleft wp-image-201 size-medium\" src=\"https:\/\/www.dj1bb.de\/wp-content\/uploads\/2014\/11\/raspi-ais-300x193.png\" alt=\"raspi-ais\" width=\"300\" height=\"193\" srcset=\"https:\/\/www.dj1bb.de\/wp-content\/uploads\/2014\/11\/raspi-ais-300x193.png 300w, https:\/\/www.dj1bb.de\/wp-content\/uploads\/2014\/11\/raspi-ais-1024x659.png 1024w, https:\/\/www.dj1bb.de\/wp-content\/uploads\/2014\/11\/raspi-ais.png 2004w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>#&gt; sudo tcpdump -i eth0 -n port 1234<\/p>\n<p>So kann man sehen ob UDP Packete gesendet werden.<\/p>\n<p>Wie \u00a0man sch\u00f6n sehen kann ist der RasPi schon fast ausgelastet. Und das bei nur wenigen zu Empfangenen Stationen hier in der Gegend.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Colliar Antenne<\/h2>\n<p>Wenn man keine Antenne f\u00fcr 162MHz besitzt baut man sich mal eine. \ud83d\ude42<\/p>\n<p>Am einfachsten geht dieses mit einer Colliar Antenne nach diesem PDF von Broos Docter (Netherlands)\u00a0<a title=\"Bauanleitung\" href=\"https:\/\/www.dj1bb.de\/wp-content\/uploads\/2014\/11\/colliar_162_bau.pdf\">Bauanleitung<\/a><\/p>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=olekole\" class=\"twitter-share-button\">Twittern<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Da ich in der unmittelbarer n\u00e4he des Mittellandkanals wohne und hier im Marinetraffic hier die &#8222;Daten fehlten&#8220; habe ich mal ein kleines Project gestartet. F\u00fcr den Empfang reicht ein DVB-T Usb-Stick mit einem RTL2832U Chipsatz um die Daten auszuwerten.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[23,27,26,25,24],"_links":{"self":[{"href":"https:\/\/www.dj1bb.de\/index.php?rest_route=\/wp\/v2\/posts\/187"}],"collection":[{"href":"https:\/\/www.dj1bb.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dj1bb.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dj1bb.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dj1bb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=187"}],"version-history":[{"count":13,"href":"https:\/\/www.dj1bb.de\/index.php?rest_route=\/wp\/v2\/posts\/187\/revisions"}],"predecessor-version":[{"id":323,"href":"https:\/\/www.dj1bb.de\/index.php?rest_route=\/wp\/v2\/posts\/187\/revisions\/323"}],"wp:attachment":[{"href":"https:\/\/www.dj1bb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dj1bb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dj1bb.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}