AIS – do it yourself

0
1881

Za zgodą Jerzego Kulińskiego

Tadeusz Lis, to dzisiejszy Adam Słodowy*). Twierdzi, że 5 funtów (UK) i 2 godziny pracy wystarczą, aby Wasze jachty uzbroić w broń defansywną, czyli AIS. Ja to twierdzenie zaliczam do kategorii „licentia poetica”, bo o ile o kosztach nie ma co dyskutować, to o tych 2 godzinach pracy, to i owszem. 

Tadeusz bowiem nie uwzględnia ilości godzin potrzebnych do uzyskania wymaganych przez Niego opis umiejętnosci i … cierpliwości.

Był kiedyś taki estradowy muzyk, nazywał się Tuszko. Grał równoczesnie na kilku instrumentach. Widzów zapewniał – moi drodzy – to nic trudnego; trzeba tylko umieć.

Żyjcie wiecznie !

Don Jorge

__________________________________

*) obecnie ma 92 lata i nadal majsterkuje

==============================================================================================

Wysokiej klasy odbiornik AIS za 500 funtów? Nie – wystarczy Wam 5 funtów i 2 godziny pracy…

Czcigodni,

Stare przysłowie angielskie mówi, że lepiej być zdrowym i bogatym, niż chorym i biednym. Zgadzamy się z tym w całej rozciągłości. Zwłaszcza, że jak uczy doświadczenie mimo perfekcyjnego przygotowania jachtu do następnego sezonu przed utuleniem go do snu zimowego sakiewka przedrejsowa opróżnia się nader szybko.

Mój przyjaciel, Tomek Lipski, spytał mnie kiedyś podstępnie, czy znam sposób, aby uprawniając intensywnie jachting (co kochamy obaj) można zostać milionerem. Prawidłowa odpowiedź brzmi: można, pod warunkiem, że uprzednio było się miliarderem…

Mając na uwadze to dość powszechne doświadczenie postanowiliśmy ze znanym Wam  Krzysiem  Putonem  zastanowić się, czy nie można by spowolnić nieco procesu osuszania sakiewki – w temacie elektroniki jachtowej. 

Podzieliśmy się pracą zgodnie ze scenariuszem filmu „Piękna i Bestia”. Krzyś jest tym pięknym umysłem, który znajduje i wdraża rozwiązania, a ja Bestią, która agresywnie tnie koszty wynajdując najtańsze opcje. 

Zatem zgodnie z kulturą zaszczepioną przez Mistrza Don Jorge w klubie dżentelmenów o nazwie SSI – dzielimy się tym co mamy. 

Dzisiejszy temat: przenośny, możliwie najtańszy odbiornik AIS. Jest to pierwszy artykuł z tej serii.

Nasz cel strategiczny: dostarczyć Klubowi SSI sprawdzonych rozwiązań zintegrowanej elektroniki jachtowej, w której każdy moduł nie przekroczy kosztu 100 zł. 

 

 

Na dzisiaj mamy:

1. zaawansowane prace nad zintegrowanym wyświetlaczem 7” kursu, prędkości i pozycji (trochę przekroczyliśmy budżet, ale szukamy tańszej obudowy wodoszczelnej)

2. prawie skończony układ do sterowania ładowaniem akumulatorów, z kompensacją temperaturową oraz alarmami pożarowym i zalania (ale utknęliśmy na cenie 111,5 groszy co nie spełnia ZTE (Założeń Techniczno-Ekonomicznych),

3. działający alarm rozszczelnienia jachtowej instalacji gazowej (76,4 zł)

4. zaawansowane prace nad bilansowaniem energii wpakowanej do akumulatorów z jej dobowym rozchodem (87 zł)

5. zaawansowane prace nad elektronicznym barografem z automatycznym generowaniem ostrzeżeń sztormowych (92 zł) – szukamy tańszego wyświetlacza, bo chcemy w kilku kolorach ilustrować gradienty zmian ciśnienia

Jeżeli będą zainteresowani to opiszemy w szczegółach te rozwiązania. Wykorzystujemy tutaj stosunkowo drogi komputer ADUINO (72 zł), ale mamy już pierwsze pozytywne rezultaty z jego prostszą wersją za 6,5 zł + 4,2 zł za programator (który można wykorzystywać wielokrotnie).

Brak komentarzy wyrażających zainteresowanie jest pewną gwarancją, że nie napiszemy ani słowa…

Zatem do dzieła. Na początek krótkie przypomnienie czym jest AIS i jakie typy odbiorników występują w przyrodzie technicznej. Nie interesują nas w tym momencie urządzenia nadawcze – umiemy je zrobić, ale nie dostalibyśmy na nie homologacji od UKE. Jeżeli jednak bardzo pragniecie transpondera – to nie błąkajcie się po sklepach jak dusze z Latającego Holendra – tylko od razu dzwońcie do firmy ESCORT w Szczecinie z hasłem „SSI Jurka Kulińskiego”. Dostaniecie nie tylko przyzwoitą cenę, ale też wszechstronne wsparcie techniczne przy uruchomieniu i integracji z Waszym systemem nawigacyjnym. Firma hojnie wsparła śp. Edka Zająca. 

My zajmiemy się dziś konstrukcją i uruchomieniem odbiornika AIS oraz sposobem zobrazowania jego sygnałów w naszym ulubionym oprogramowaniu OPENCPN.

Jak zapewne część Was wie występują dwie odmiany odbiorników AIS – jedno i dwukanałowe. Nie wdając się w szczegóły odbiorniki jednokanałowe monitorują faktycznie oba kanały – ale naprzemiennie. Dlatego odczyt z nich jest wolniejszy. Dlatego nasz odbiornik będzie dwukanałowy. Oto opis Krzyśka, jak go samodzielnie wykonać z moim komentarzem.

Na stronie OpenCPN jest opis trzech różnych strategii samodzielnego zbudowania odbiornika AIS. Ale Krzysiek je zakwestionował ze względu na dosyć duże skomplikowanie. Przeciętny użytkownik komputera może i skonfigurowałby ten układ, ale jak przestanie działać to w tym przypadku jest za dużo miejsc potencjalnych problemów do rozwiązania. 

Sercem proponowanego rozwiązania jest tani układ odbiornika SDR czyli Software Defined Radio. Tak, to ten sam układ, którym grzeszyliście w młodości podsłuchując milicyjne i esbeckie radiostacje (choć w środku była to zupełnie inna elektronika – no i nie kosztowała 5-10 funtów). Dla tych, którzy się lenili w tych pożytecznych i przyjemnych zabawach przypominamy, że aktualny SDR jest malutkim odbiorniczkiem wtykanym w USB, w którym w którym działanie podstawowych elementów elektronicznych (takich jak mieszacze, filtry, modulatory i demodulatory, detektory) jest realizowane za pomocą programu komputerowego. 

 

Fig. 1 – Tak wygląda typowy zestaw. Są jednak jeszcze mniejsze odbiorniki

Dzięki temu większość procesu przetwarzania sygnału jest realizowana przez tani procesor ogólnego przeznaczenia, zamiast układów specjalizowanych. Tak zaprojektowany odbiornik może obsługiwać różne typy transmisji radiowych jedynie dzięki zmianie programu przetwarzającego sygnał. Mamy nadzieje, że tak jak Krzyś zbudował opisany niżej odbiornik AIS uda nam się zbudować NAVTEX’a – będzie to prostsze niż moje eksperymenty z kartą dźwiękową jako wejściem do NAVTEX’a.

Procedura instalacji i konfiguracji takiego układu jest opisana tutaj:
http://www.rtl-sdr.com/rtl-sdr-tutorial-cheap-ais-ship-tracking/

Jak widać klasyczne rozwiązanie wygląda następująco:

1. -oprogramowanie SDRSHARP obsługuje bezpośrednio odbiornik SDR. 

2. -wyjście audio z SDRSHARP-a podawane jest na wirtualny kabel audio. Uwaga! Virtual Audio Cable kosztuje 25$ i zabija nam założenia kosztowe. Dlatego ściągnijcie zamiast niego darmowy program (VB-cable). Faktycznie nie jest do końca darmowy (donationware) – więc wrzućcie jakiegoś pieniążka do czapki autorowi, a dostaniecie odblokowane funkcje, które przydadzą nam się przy NAVTEX’ie. Tutaj link: http://vb-audio.pagesperso-orange.fr/Cable/index.htm. Ten wirtualny kabelek sprawi, że na wejście następnego pudełeczka trafi sygnał interpretowany tak, jak foniczny, 

3. – drugi koniec wirtualnego kabla przypięty jest do wejścia dekodera AIS (np. AISmon). AISmon przekształca popiskiwania w strumień NMEA i karmi nim OpenCPN’a,

4. – OpenCPN interpretuje dane (chłepcząc je miesza łyżeczką komendy z AIS i GPS’a) oraz wykreśla dane na otwartej na swoimi pulpicie mapie w postaci kolorowych trójkątów.

Ale – SDRSHARP jest uniwersalnym kombajnem do obsługi odbiornika SDR. Można go ściągnąć stąd http://www.sdrsharp.com/#download. Uwaga: przycisk download jest na samym dole strony. i Jednak jak każde uniwersalne rozwiązanie potrzebuje użytkownika który ma przynajmniej podstawowe wiadomości z zakresu radiokomunikacji. Wniosek: Ludwiku Dorn, Psie Sabo – nie idźcie w tę stronę! Jak na przeciętnego amatora jest tu za dużo miejsc, w których można grzebnąć w niewłaściwą stronę… 

Krzysiek znalazł lepsze rozwiązanie. Szczęśliwie niedawno pojawił się programik integrujący w sobie funkcje trzech pierwszych segmentów standardowego rozwiązania. Jest to PNAIS:

https://sites.google.com/site/f4eyuradio/ais-decoder

Ważna uwaga: 

a. instalujecie go z uprawnieniami Administratora

b. nie przejmujecie się komunikatem jak poniżej:

 

 

Fig. 2 Pierwszy ekran instalacji dekodera AIS

Program obsługuje SDR-a w obu kanałach AIS (87B – 161,975MHZ i 88B – 162,025MHz), dekoduje sekwencje AIS i udostępnia je na standardowym porcie sieciowym UDP (ang. User Datagram Protocol – protokół pakietów użytkownika) – jeden z protokołów internetowych. Jest to protokół bezpołączeniowy, więc nie ma narzutu na nawiązywanie połączenia i śledzenie sesji (w przeciwieństwie do TCP). Nie ma też mechanizmów kontroli przepływu i retransmisji. Korzyścią płynącą z takiego uproszczenia budowy jest większa szybkość transmisji danych i brak dodatkowych zadań, którymi musi zajmować się komputer posługujący się tym protokołem. Z tych względów UDP jest często używany w takich zastosowaniach jak wideokonferencje, strumienie dźwięku w Internecie i gry sieciowe, gdzie dane muszą być przesyłane możliwie szybko, a poprawianiem błędów zajmują się inne moduły. Zatem jeżeli sprzęgacie OpenCPN z sygnałem fonicznym z dowolnego urządzenia i nie wiecie gdzie go przekierować – wybierajcie właśnie UDP. Dopisek TL) .

Przy tym rozwiązaniu mamy następujący układ oprogramowania:

1. PNAIS obsługuje SDR-a w zakresie komunikacji AIS, dekoduje komunikaty AIS i udostępnia je na standardowym porcie sieciowym w UDP postaci strumienia NMEA,

2. OpenCPN wyświetla zdekodowane dane AIS.

Jak widać taki układ jest znacznie prostszy i powinien pracować znacznie stabilniej. To jest właśnie rozwiązanie w którym Piękna zachwyca Bestię…

Nie ma jednak róży bez kolców. Podstawowym problemem w wykorzystaniu taniego SDR-a jest jego konstrukcja. Nie jest to urządzenie profesjonalne ze wszystkimi tego konsekwencjami. Elementy używane do jego produkcji mają spore tolerancje i najkrócej to ujmując częstotliwości fizycznie odbierane mogą się (z naszego punktu widzenia) znacznie różnić od ustawionych. Nie bardzo to przeszkadza przy odbiorze TV, ale w naszym przypadku może to uniemożliwić poprawną pracę naszego odbiornika. Pokonamy to jednak kalibrując układ w prosty sposób. Zatem bierzcie się do pracy. 

Co nam będzie potrzebne:

1. odbiornik SDR z układem RTL2832, ja do prób użyłem kupionego w markecie za 70 zł odbiornika Not Only TV, LV5T deluxe (komentarz TL: to gorsząca rozrzutność – na giełdzie komputerowej kupicie odpowiednik za około 25-30 zł czyli tytułowe 5 funtów brytyjskich. Ten z giełdy ma mniejsze pasmo odbioru – bo tylko 48- 863 Mhz – ale nam to wystarczy) 

2. anteny VHF z odpowiednim dla odbiornika złączem (w przypadku LV5T – IEC),

3. źródła sygnału VHF o znanej częstotliwości do kalibracji odbiornika (ja użyłem ręcznej UKF-ki ICOM-a IC-M3A),

4. pakietu SDRSHARP (będzie potrzebny do kalibracji odbiornika) http://sdrsharp.com/#download

5. programu zadig do instalacji odpowiednich sterowników odbiornika SDR (jest w niektórych pakietach SDRSHARP) http://zadig.akeo.ie/

6. programu PNAIS https://sites.google.com/site/f4eyuradio/ais-decoder 

7. zainstalowanego OpenCPN-a.

KROK 1, instalujemy odbiornik SDR.

Nie podłączamy jeszcze odbiornika! Jeżeli tego nie będziecie przestrzegać do przyczepi się do Was jakiś cholerny uniwersalny sterownik z Windows i stracicie długie godziny zanim dojdziecie dlaczego to nie działa! Zatem prawidłowo uruchamiamy zadig, otrzymamy takie okienko:

 

 

Fig. 3 – Instalacja sterownika odbiornika SDR

Teraz podłączamy odbiornik do złącza USB i po chwili wybieramy Options/List All Devices.
Na rozwijanej liście urządzeń powinny pojawić się dwa nowe urządzenia. W moim przypadku (Win7pro) pojawiły się dwa nowe interfejsy Bulk-In, Interface (Interface 0) i Bulk-In, Interface (Interface 1) tak jak na poniższym obrazku:

 

 

Fig. 4 – Uwaga! Interfejsy muszą być instalowane w kolejności podanej w artykule

Wybieramy najpierw pierwszy i naciskamy Install driver, po instalacji sterownika (pozostawiamy domyślny sterownik WinUSB) powtarzamy procedurę dla drugiego interfejsu. Wyłączamy zadig-a. Mamy już zainstalowany odbiornik SDR.

KROK 2, kalibrujemy odbiornik SDR na częstotliwość AIS’a.

Instalujemy i uruchamiamy SDRSHARP-a. Na ekranie zobaczycie taki obraz:

 

Fig. 5 – ekran po otwarciu jest zimny i martwy jak nóżki w galarecie – tak ma być!

To nic że jest ciemno i głucho. Tak ma być. Na liście źródeł sygnału (Source) w lewym górnym rogu wybieramy pozycję RTL-SDR/USB.
W zakładce Radio wybieramy parametry posiadanego źródła sygnału wzorcowego. W tym przypadku źródłem jest radyjko ręczne IC-M3A na kanale 16. Wybieramy modulację NFM, pasmo (Bandwith) 25000 i częstotliwość sygnału 156,8MHz. Czyli częstotliwość odbioru kanału 16.

Uruchamiamy sterowanie przyciskiem Play (trójkącik na górnym pasku) i naciskamy przycisk nadawania w ręczniaku. Dostaniemy takie coś:

 

Fig. 6 – odczyt odchylenia częstotliwości od pożądanej. Zaraz to skorygujemy

Jak widać odbiornik stroi około 11,5 kHz powyżej kanału 16 (zakładam że ręczniak, jako urządzenie profesjonalne ma dokładność co najmniej rząd wyższą od SDR-a). Jeżeli prążek wychodzi nam bardzo blisko środka możemy rozszerzyć górne okno suwakiem Zoom po prawej stronie.

Wywołujemy okno konfiguracji urządzenia (trzeci przycisk od lewej na pasku) naciskamy przycisk nadawania i wartością w polu Frequency correction (ppm) okna konfiguracyjnego staramy się sprowadzić prążek do częstotliwości 156,8MHz jak widać poniżej:

 

 

Fig. 7 – Langsam, langsam aber sicher! Róbcie to starannie. W przypadku odbiornika, który macie na stole odchylenia mogą być w każdą stronę…

W tym przypadku korekcja wyniosła -72ppm ale jest to wartość indywidualna dla każdego odbiornika. Zapisujemy uzyskaną poprawkę, będzie nam potrzebna później.

Możemy już wyłączyć SDRSHARP-a, odbiornik mamy skalibrowany.

KROK 3, instalujemy dekoder AIS.

Instalujemy PNAIS. 

UWAGA. PNAIS wymaga Microsoft.NET Framework-a, musimy go mieć zainstalowanego lub w czasie instalacji PNAIS-a być podłączeni do Internetu. Wtedy instalator PNAIS-a sam ściągnie wymagane oprogramowanie. Uwaga: Microsoft.Net Framework jest dość ciężki. Ściągnijcie oryginał stąd http://www.microsoft.com/en-us/download/details.aspx?id=42643 To jest wersja 4.5. Jeżeli nie mieliście wcześniej żadnych komponentów zainstalowanych, to czas ładowania wynosi nie mniej niż 2 duże kawy…

Uruchamiamy PNAIS-a, otrzymamy następujące okienko:

 

 

Fig. 8 – to powinniście zobaczyć po rozpakowaniu PNAIS. NIE NACISKAJCIE NIC INNEGO POZA WYKRZYKNIKIEM!

Naciskamy przycisk konfiguracji (ten z wykrzyknikiem):

 

 

Fig. 9 – przeczytajcie uważnie wymaganie z tego obrazka. Biblioteki muszą być w tym samym skorowidzu jak PnAis. Nie wystarczy dopisać tutaj lokalizacji do zmiennej systemowej %path%. Trzymajcie się ściśle instrukcji.

Jako Adress pozostawiamy 127.0.0.1, Port 10110 a w okno Frequency correction wpisujemy wartość określoną w poprzednim kroku (w moim przypadku -72). Zatwierdzamy OK.

Mamy zainstalowany i skonfigurowany dekoder, wracamy do głównego okna programu. Jeżeli nie chcemy żeby PNAIS do nas gadał kilkukrotnie naciskamy drugi przycisk, aż pojawi się na nim napis 
Is silent. Uruchamiamy dekoder przyciskiem Start.

Po jakimś czasie (o ile w okolicy znajdują się jakieś źródła komunikatów AIS) powinniśmy otrzymać takie coś:

 

Fig. 10 – odczyt sekwencji NMEA

W górnym okienku pojawiają się odebrane komunikaty AIS lub opisy błędów w odebranych transmisjach, niżej ich zdekodowana zawartość. Wartości u dołu okna pokazują procentową ilość prawidłowo odebranych i zdekodowanych komunikatów w obu kanałach. Jak widać u mnie jest olbrzymia liczba błędów, ale wynika to z tego że próby robione były na standardowej antenie DVB-T dołączonej do kupionego odbiornika (Dopisek TL: aby dołączyć antenę zewnętrzną dedykowaną do AIS będziecie prawdopodobnie potrzebowali takiej przejściówki:

 

Fig. 11 – typowa przejściówka antenowa

KROK 4, konfigurujemy OpenCPN-a.

W zakładce Connections okna konfiguracji programu tworzymy nowy port wejścia danych:

 

Fig. 12 – zaznaczcie u siebie dokładnie te pola wyboru, które zaznaczył Krzysiek w drodze eksperymentów uruchomieniowych. W szczególności nie wybierajcie opcji SERIAL, tak jak w przypadku tańszych odbiorników AIS starego typu, komunikujących się RS232…

W polach Address i Port wpisujemy wartości określone w konfiguracji PNAIS-a, wybieramy protokół UDP. Dla kontroli odebranych danych możemy zaznaczyć okno Show NMEA Debug Window.

 

KROK 5, cieszymy się działającym dwukanałowym odbiornikiem AIS za 70zł J (dopisek TL – powiedzmy za 25 zł – po co oddawać za darmo wszystkie zgrzewki wody mineralnej na cały, dwutygodniowy rejs – JESTEŚMY BOGACI, BO JESTEŚMY OSZCZĘDNI).

Pozwoliłem sobie na ten dopisek, ponieważ każda łódka jest rodzaju żeńskiego. Jest tutaj pełna analogia do kochającej kobiety, która wymaga nie tylko wysokich nakładów inwestycyjnych na Jej pozyskanie, ale także znacznych kosztów operacyjnych Jej eksploatacji bieżącej – jeżeli ma być dla nas stałem źródłem radości. 

 

Fig. 13 – Mała rzecz, a cieszy!

Powodzenia w zabawie 

Tadeusz Lis

———————————-

PS TL. Od dłuższego czasu noszę się z zamiarem poprawienie wizualizacji wyświetlanych jednostek – tak aby rozróżniać ich typy i prędkości. To nie jest duża praca. Może ktoś chciałby się tym zająć? Ja jestem pod dużą kreską czasową – ale chętnie wytłumaczę jak to zrobić i ewentualnie zweryfikuje kod oraz napisze skrypty testowe do sekwencji NMEA.

PS. TL 2 Jeżeli zdecydujecie się zainwestować dodatkowe 2 funty w super antenę, to tu znajdziecie komiks ze sprawdzonym rozwiązaniem http://nmearouter.com/docs/ais/aerial.html

PS TL 3 Ci, których zafascynowaliśmy tematem zaglądają tutaj dla pogłębienia wiedzy: http://nmearouter.com/docs/ais/ais_decoder.html Wybrałem ten dekoder ponieważ nie tylko rozpoznaje on 27 typów standardowych komunikatów ASCII ale też 50 typów binarnych. Nie polegnijcie tylko na tym, że niektóre wiadomości mogą być typu multi-part, co sprawia trochę kłopotów przy zrzucie do bazy danych albo EXCELL’a….

www.kulinski.navsim.pl 

Komentarze