{"id":1626,"date":"2019-03-11T09:48:55","date_gmt":"2019-03-11T08:48:55","guid":{"rendered":"http:\/\/tech4.pl\/SQ9MDD\/?p=1626"},"modified":"2019-03-11T09:48:55","modified_gmt":"2019-03-11T08:48:55","slug":"dwie-instancje-direwolfa-na-jednym-raspberry-pi","status":"publish","type":"post","link":"https:\/\/sq9mdd.hamspirit.pl\/?p=1626","title":{"rendered":"Dwie instancje DIREWOLFA na jednym Raspberry Pi"},"content":{"rendered":"<p>Aby uruchomi\u0107 DIGI dwupasmowe w oparciu o softwareowe TNC na direwolfie musimy zadba\u0107 o odpowiedni\u0105 jego konfiguracj\u0119.<br \/>\nPoni\u017cej znajduje si\u0119 opis mojej konfiguracji digi dla pasma 2m i 70cm.<br \/>\n<!--more--><\/p>\n<p>Zak\u0142adam \u017ce prace rozpoczynamy na ju\u017c dzia\u0142aj\u0105cym jednopasmowym digi kt\u00f3re <a href=\"http:\/\/10.9.48.151\/?p=626\">opisa\u0142em tutaj<\/a> wcze\u015bniej, Oraz skorzystamy z konfiguracji APRX-a dla digi dwupasmowego te\u017c ju\u017c <a href=\"http:\/\/10.9.48.151\/?p=559\">wcze\u015bniej opisanego<\/a>.<br \/>\nZatem prace rozpoczynamy od zalogowania si\u0119 do raspberrypi za pomoc\u0105 SSH. Po zalogowaniu zatrzymujemy procesy aprx-a i direwolfa.<\/p>\n<pre>sudo killall aprx\nsudo killall direwolf\n<\/pre>\n<p>Nast\u0119pnie kopiujemy oryginalny plik konfiguracyjny direwolf.conf znajduj\u0105cy si\u0119 w katalogu \/home\/pi do dw\u00f3ch nowych plik\u00f3w konfiguracyjnych, gdy\u017c ka\u017cda instancja direwolfa b\u0119dzie korzysta\u0142a z innej konfiguracji.<br \/>\nNowe pliki umie\u015bcimy w katalogu \/etc<\/p>\n<pre>sudo cp \/home\/pi\/direwolf.conf \/etc\/direwolf-2m.conf\nsudo cp \/home\/pi\/direwolf.conf \/etc\/direwolf-70cm.conf\n<\/pre>\n<p>Po utworzeniu nowych plik\u00f3w konfiguracyjnych mo\u017cemy przyst\u0105pi\u0107 do ich konfiguracji jednak\u017ce musimy jeszcze pod\u0142\u0105czy\u0107 do raspberrypi druga kart\u0119 muzyczn\u0105 po USB i podejrze\u0107 sobie jak je wida\u0107 w systemie.<\/p>\n<pre>aplay -l\n<\/pre>\n<p>Po wydaniu powy\u017cszej komendy, powinni\u015bmy zobaczy\u0107 mniej wi\u0119cej co\u015b takiego:<\/p>\n<p><a href=\"http:\/\/10.9.48.151\/?attachment_id=1630\" rel=\"attachment wp-att-1630\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1630\" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2019\/03\/aplay-dwie-karty-300x173.png\" alt=\"aplay-dwie-karty\" width=\"300\" height=\"173\" srcset=\"https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/aplay-dwie-karty-300x173.png 300w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/aplay-dwie-karty.png 595w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Jak wida\u0107 w systemie mamy dwie karty muzyczne o id 1 i 2.<\/p>\n<p>Teraz mo\u017cemy przyst\u0105pi\u0107 do modyfikacji plik\u00f3w konfiguracyjnych direwolfa. Na pocz\u0105tek edytujemy plik \/etc\/direwolf-2m.conf<\/p>\n<pre>sudo pico \/etc\/direwolf-2m.conf\n<\/pre>\n<p>Interesuj\u0105 nas wpisy dotycz\u0105ce: wyboru karty muzycznej, sterowania GPIO, oraz port\u00f3w TCP do kt\u00f3rych b\u0119dziemy podpina\u0107 APRX-a. W moim przypadku wygl\u0105da to tak jak poni\u017cej<\/p>\n<pre>ADEVICE\u00a0 plughw:1,0\nPTT GPIO 25\nAGWPORT 8014\nKISSPORT 8144\n<\/pre>\n<p>Nast\u0119pnie edytujemy plik konfiguracyjny dla pasma 70cm<\/p>\n<pre>sudo pico \/etc\/direwolf-70cm.conf\n<\/pre>\n<p>I tak jak poprzednio konfigurujemy niezb\u0119dne opcje:<\/p>\n<pre>ADEVICE\u00a0 plughw:2,0\nPTT GPIO 26\nAGWPORT 8043\nKISSPORT 8433\n<\/pre>\n<p>Maj\u0105c gotowe pliki konfiguracyjne mo\u017cemy uruchomi\u0107 sobie direwolfa z odpowiednim plikiem konfiguracyjnym, s\u0142u\u017cy do tego komenda:<\/p>\n<pre>\/home\/pi\/direwolf\/direwolf -c \/etc\/direwolf-2m.conf\n<\/pre>\n<p>lub:<\/p>\n<pre>\/home\/pi\/direwolf\/direwolf -c \/etc\/direwolf-70cm.conf\n<\/pre>\n<p>Pod\u0142\u0105czamy radia do odpowiedniej karty muzycznej i regulujemy poziomy audio. Poziom sygna\u0142u jest raportowany przez direwolfa podczas dekodowania:<\/p>\n<p><a href=\"http:\/\/10.9.48.151\/?attachment_id=1645\" rel=\"attachment wp-att-1645\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1645\" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2019\/03\/direwolf-poziomy-sygna%C5%82u-300x157.png\" alt=\"direwolf-poziomy sygna\u0142u\" width=\"300\" height=\"157\" \/><\/a><\/p>\n<p>Poziomy wej\u015bciowe i wyj\u015bciowe ustawiamy w systemie za pomoc\u0105 alsamixer, jest to prosty program konsolowy, gdzie w \u0142atwy spos\u00f3b mo\u017cemy dokona\u0107 wyboru karty muzycznej i ustawi\u0107 poziomy g\u0142o\u015bno\u015bci.<\/p>\n<p><a href=\"http:\/\/10.9.48.151\/?attachment_id=1632\" rel=\"attachment wp-att-1632\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1632\" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2019\/03\/alsamixer-300x148.png\" alt=\"alsamixer\" width=\"300\" height=\"148\" srcset=\"https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/alsamixer-300x148.png 300w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/alsamixer-768x378.png 768w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/alsamixer.png 916w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Po zako\u0144czonych czynno\u015bciach regulacyjnych, pod\u0142\u0105czeniu radii do odpowiedniej karty muzycznej, nale\u017cy skonfigurowa\u0107 automatyczny start dw\u00f3ch instancji direwolfa z ich plikami konfiguracyjnymi. Tak by po resecie raspberry pi wszystko wstawa\u0142o automatycznie.<br \/>\nW tym celu edytujemy plik rc.local w katalogu \/etc:<\/p>\n<pre>sudo pico \/etc\/rc.local\n<\/pre>\n<p>Wewn\u0105trz musz\u0105 si\u0119 znale\u017a\u0107 dwa wpisy:<\/p>\n<pre>su -l pi -c 'direwolf -c \/etc\/direwolf-2m.conf &gt; \/dev\/null &amp;'\nsu -l pi -c 'direwolf -c \/etc\/direwolf-70cm.conf &gt; \/dev\/null &amp;'\n<\/pre>\n<p>Po resecie maliny, logujemy si\u0119 ponownie poprzez SSH i sprawdzamy czy direwolf pracuje poprawnie i s\u0142ucha na skonfigurowanych portach, s\u0142u\u017c\u0105 do tego komendy:<\/p>\n<pre>ps aux |grep direwolf\nsudo netstat -atnp |grep direwolf\n<\/pre>\n<p>W efekcie powinni\u015bmy zobaczy\u0107 co\u015b podobnego jak poni\u017cej:<\/p>\n<p><a href=\"http:\/\/10.9.48.151\/?attachment_id=1634\" rel=\"attachment wp-att-1634\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1634\" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2019\/03\/netstat-atnp-300x81.png\" alt=\"netstat-atnp\" width=\"300\" height=\"81\" srcset=\"https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/netstat-atnp-300x81.png 300w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/netstat-atnp-768x207.png 768w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/netstat-atnp.png 835w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Ostatni krok to konfiguracja APRX-a tak by korzysta\u0142 z pracuj\u0105cych TNC.<\/p>\n<p>Edytujemy plik konfiguracyjny aprx-a:<\/p>\n<pre>sudo pico \/etc\/aprx.conf\n<\/pre>\n<p>Najbardziej interesuj\u0105ce s\u0105 sekcje interface, z kt\u00f3rych ka\u017cda jest pod\u0142\u0105czona do w\u0142a\u015bciwej instancji direwolfa.<\/p>\n<p><a href=\"http:\/\/10.9.48.151\/?attachment_id=1636\" rel=\"attachment wp-att-1636\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1636\" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2019\/03\/aprx-conf-300x98.png\" alt=\"aprx-conf\" width=\"300\" height=\"98\" srcset=\"https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/aprx-conf-300x98.png 300w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/aprx-conf-768x250.png 768w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/aprx-conf.png 773w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Nale\u017cy zwr\u00f3ci\u0107 uwag\u0119 na odpowiednie nazwanie interfejs\u00f3w oraz na pod\u0142\u0105czenie do w\u0142a\u015bciwego portu na kt\u00f3rym s\u0142ucha direwolf.<\/p>\n<p>Reszta konfiguracji zasadniczo nie r\u00f3\u017cni si\u0119 od tej opisywanej w jednym z <a href=\"http:\/\/10.9.48.151\/?p=559\">poprzednich artyku\u0142\u00f3w<\/a> gdzie u\u017cywa\u0142em sprz\u0119towych TNC.<\/p>\n<p>R.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aby uruchomi\u0107 DIGI dwupasmowe w oparciu o softwareowe TNC na direwolfie musimy zadba\u0107 o odpowiedni\u0105 jego konfiguracj\u0119. Poni\u017cej znajduje si\u0119 opis mojej konfiguracji digi dla pasma 2m i 70cm.<\/p>\n","protected":false},"author":2,"featured_media":300,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,9,16],"tags":[],"class_list":["post-1626","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aprs","category-direwolf","category-informacje"],"_links":{"self":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts\/1626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1626"}],"version-history":[{"count":0,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts\/1626\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/media\/300"}],"wp:attachment":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}