Odpowiedz 
 
Ocena wątku:
  • 4 Głosów - 5 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Nowy pomysł związany z APRS-em
SQ9MDD Offline
Rysiek
****

Liczba postów: 378
Dołączył: 01-02-2009
Post: #1
Nowy pomysł związany z APRS-em
Witam.

To będzie nieco długi post. Mam nadzieję że dojdę do sedna zanim się znudzicie.
Wpadłem ostatnio na pomysł, który po przedyskutowaniu ma szanse stać się ciekawym impulsem do rozwoju projektów dedykowanych do pracy w sieci APRS.

Kilka słów na temat APRS-u:
Jest to system którego zadaniem jest wspomaganie łączności mobilnej. W sieci tej nadawane są pakiety informacji zawierające znak stacji częstotliwość na której dana stacja słucha, często przesyła się obiekty przemienników, echo-linków, itp. Możliwe jest także przesyłanie wiadomości dla konkretnych stacji. Niewątpliwie jest to system dedykowany do pracy radiowej, aczkolwiek dzięki sieci IGate-ów całość ruchu jest kierowana do specjalnych serwerów w internecie. dzięki temu możliwe jest przesyłanie wiadomości do praktycznie dowolnej innej stacji ruchomej na całym świecie. Możliwa jest także obserwacja ruchu za pomocą przeglądarki internetowej.

Dwa słowa na temat technologii:
Protokół APRS jest protokołem warstwy aplikacyjnej i jako taki natywny w czystej formie funkcjonuje jedynie w sieci APRSIS (część internetowa systemu).

Przykładowe ramki protokołu APRS
Kod:
SQ9MDD-7>URQU03,WIDE1-1,WIDE2-2,NOGATE :`0SXl [/`op.Rysiek _
OK4FD-9>UR5S30,SR5NWR,WIDE1,SR5NRV*,WIDE2-1 :`2[/]"55}438.825MHz Frankie on tour TM-D710 VA =
SQ5BLK-1>APU25N,SR5NRV*,WIDE2-1 :=5222.74NI02055.29E&PHG2280 I-Gate Jablonna

To co słyszymy na radiu (144.800) Jest już enkapsulowane w protokole AX.25.
Sama enkapsulacja i przygotowanie ramki AX.25 do wysyłki to już ciekawsze zagadnienie, ale o tym będzie w następnych postach. Należy tylko nadmienić że z całego protokołu AX.25 APRS korzysta tylko(!) z jednego typu ramki (UI).

Przejdźmy do meritum:
W chwili obecnej największym problemem dla osób chcących tworzyć nowe rozwiązania dedykowane do pracy w sieci APRS jest konieczność zrozumienia istoty protokołu AX.25, zaimplementowanie tego w swoim rozwiązaniu, bądź użycie jakiegoś modemu TNC z istniejących projektów.
Niestety projekty TNC to w większości zamknięte rozwiązania, drogie, stosunkowo trudno dostępne, często już nie są wspierane. Natomiast analiza protokołu AX.25 sposobu formowania ramki jest czasochłonna i często poza możliwościami wielu z nas.

W związku z tym proponuję opracowanie prostego modemu dedykowanego do pracy w systemie APRS. Modem ten będzie pracował w trybie natywnego protokołu APRS, będzie obsługiwał tylko ramkę AX.25 UI, dzięki temu łatwo będzie go zastosować do wszelkich naszych projektów. Dodatkowo projektując urządzenie czy tez software do pracy w systemie APRS nie będzie trzeba zaprzątać sobie głowy poprawnym formowaniem ramek protokołu AX.25.

Poniżej kilka założeń dla urządzenia:

1. Właściwości ogólne
- Tania powtarzalna konstrukcja, AVR (ATmega8?)
- Otwarte źródło programu
- konfiguracja zworkami
- sygnalizacja pracy za pomocą diod led

2. Interfejs radiowy
- Wybór trybu pracy z prędkością 9600bps /1200bps / 300bps (w pierwszej fazie 1200)
- kluczowanie PTT za pomocą miniaturowego przekaźnika
- Separacja galwaniczna od TRX (opcjonalnie)

3. Interfejs PC
- tryb pracy, czysty APRS
- komunikacja po RS232 (ew. wyście poprzez wbudowany USB)

Przykładowe zastosowania obejmują współpracę z:
- oprogramowaniem bazodanowym (infokioski wszelkiego rodzaju)
- prostymi aplikacjami komand-line (kilka prostych aplikacji napisanych pod linuxa)
- urządzeniami typu monitor ramek
- urządzeniami do wystawiania obiektów przemiennikowych, echolink itp.
- zaawansowane konstrukcje digipiterów (w ramach kolejnych projektów)
- urządzeniami igate
- stacjami pogodowymi
- nowymi konstrukcjami trakerów

Dzięki takiemu modemowi łatwo będzie można zbudować gateway pomiędzy siecią 2m i siecią 70cm, praktycznie bez użycia komputera pośredniczącego.

Z kilkoma osobami już wstępnie rozmawiałem na temat projektu i padła propozycja by osoby chcące się zaangażować w projekt spotkały się na politechnice w którąś niedzielę po długim majowym weekendzie.

Zapraszam do dyskusji, komentarzy, opinii.


Załączone pliki
.pdf  APRS101.pdf (Rozmiar: 3.03 MB / Pobrań: 604)
.pdf  ax25.pdf (Rozmiar: 121.8 KB / Pobrań: 861)
.pdf  dcc2.pdf (Rozmiar: 116.68 KB / Pobrań: 612)

...przede wszystkim nie zakłócać...
07-05-2012 11:24
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ5NBG Offline
Darek
*

Liczba postów: 19
Dołączył: 01-02-2009
Post: #2
RE: Nowy pomysł związany z APRS-em
Cześć,

Prędkości 9600 bodów to chyba nie uzyskamy w technice modulacji sygnału audio - 1200Hz, które jest używane oznacza, że dla 1200 bodów mamy jeden okres sinusoidy. Na stronie http://www.symek.com/g/pacmod.html jest trochę informacji o Packet Radio i modulacji. Myślę, że na razie skoncentrujmy się na prędkości 1200. Mam pytanie - ponieważ ramki w standardzie mogą być całkiem spore - pole Info może mieć 256 znaków. Myślę, że może to trochę pokrzyżować plany - w ATmega8 mamy do dyspozycji 1k RAM'u a trzeba uwzględnić działanie stosu. Chodzi głównie o buforowanie danych. Jak długie praktycznie wykorzystuje się pola INFO?
07-05-2012 12:13
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP5FCS Offline
Adam
*****

Liczba postów: 1,048
Dołączył: 02-02-2009
Post: #3
RE: Nowy pomysł związany z APRS-em
Koledzy, jeśli soft ma powstawać w jezyku wysokopoziomowym (Bascom lub lepiej C) to od razu przyda się większy procek np. Atmega 32 -2k RAM (ok. 12zł), ATmega128 4k RAM (ok 20zł).
Zaletą AT128 oprócz RAM-u i miejsca na kod jest to, że posiada on dwa sprzętowe interfejsy USART. Nie znam do końca założeń projektu ale często bywa tak, że kiedy chcemy podłączyć stację Meteo (indywidualny format danych) do innego sytemu np. PC, modem, radio, to musimy dokonać konwersji nie tylko formatów danych ale czasem i interfejsów. Drugi port może służyć do debugowania softu, monitorowania pracy systemu. W takich układach dwa porty są bardzo przydatne.
Dla ATmega128 jest dużo przykładów oraz gotowych systemów uruchomieniowych.

Dobrym rozwiązaniem są procesory Xmega np. Atxmega32 (2-16)k RAM (od. 20zł), 5 portów, duża szybkość, wbudowany przetwornik DAC, cała rodzina procesorów w obudowie TQFP44. Wada, trudny procesor, brak przykładów, brak wersji przewlekanej, narzędzia do pisania softu.

Wszystko zależy co jest najważniejsze, cczas realizacji, możliwości czy końcowy koszt wykonania układu ?

73 Adam
07-05-2012 12:21
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ5NBG Offline
Darek
*

Liczba postów: 19
Dołączył: 01-02-2009
Post: #4
RE: Nowy pomysł związany z APRS-em
Witaj Adamie,

Z założeń konstrukcja powinna być prosta, łatwa w budowie i tania, więc chcemy sięgnąć po rozwiązania minimalistyczne. Bardziej zaawansowane platformy jak najbardziej także wchodzą w grę, ale może w późniejszych fazach projektu. Pierwsze testy planuję zrobić na ATmega16 - bo akurat takim dysponuję. Część nadawczo/odbiorcza modemu z powodzeniem działa w oparciu o ATmega8 - projekt WhereAVR, który wydaje mi się, że bardzo dobrze nadaje się na bazę naszego projektu. Jako platformę programistyczną chcemy wykorzystać AVR-GCC.
07-05-2012 12:32
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ9MDD Offline
Rysiek
****

Liczba postów: 378
Dołączył: 01-02-2009
Post: #5
RE: Nowy pomysł związany z APRS-em
Jeśli chodzi o modem, to idea jest taka by urządzenie było bazą do powstawania nowych projektów, jako gotowy klocek, poza funkcją konwersji ramek protokołu aprs na sygnał gotowy do wysłania przez TRX, nie myślmy o niczym.
Organoleptycznie sprawdziłem że aplikacja APRSIS. Już jest przystosowana do pracy z naszym modemem. A ja już pracuję nad małym klockiem sprzętowym który też z nim będzie współpracował. Póki co powstała wersja software-owa.

Darek czy 1kb RAM-u da radę?

Poniżej kilka ramek protokołu APRS wygenerowałem na potrzeby testów. Ramki te są enkapsulowane w polu info ramki AX.25 (niestety).

Kod:
SQ9MDD-10>APZMDD,WIDE1-1,WIDE2-1,NOGATE:!5215.01N/02055.60E-op. Rysiek testy APRSObj v.1.3
SQ9MDD-10>APZMDD,NOGATE:;EL-415722*111111z5215.01N/02055.60En434.075MHz T127 R07k op.Rysiek
SQ9MDD-10>APZMDD,WIDE2-1,NOGATE:;EL-415722*111111z5215.01N/02055.60En434.075MHz T127 R07k op.Rysiek
SQ9MDD-10>APZMDD,WIDE2-1,NOGATE:;439.350WM*111111z5216.19N/02107.21ErT127 -7600kHz R99k SR5WM
SQ9MDD-10>APZMDD,WIDE2-1:;439.375WM*111111z5213.97N/02059.95ErT127 -7600kHz R99k SR5WM
SQ9MDD-10>APZMDD,WIDE1-1:;WOLUMEN  *111111z5217.14N\02056.32EhSpocik w Niedziele 12:00 (test obj.)


Darek mów jeśli czegoś potrzebujesz, jak wspomniałem wcześniej wszelkie analizy, testy etc możesz mi zlecić by popchnąć sprawę do przodu jak najszybciej.

...przede wszystkim nie zakłócać...
07-05-2012 12:35
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ6OWH Offline
Wojtek

Liczba postów: 4
Dołączył: 08-05-2012
Post: #6
RE: Nowy pomysł związany z APRS-em
Witam Smile
Jestem nowy, więc się przedstawię, Wojtek mam na imię, znak SQ6OWH, licencję mam od stosunkowo niedawna, czasem pojawiam się na APRS czy APRS-IS w ramach eksperymentów Blush

Piszecie koledzy o modemie, też miałem z tym zgryz, oto, co wygrzebałem:
- jest sobie coś takiego, jak Arduino (zapewne znany) - projekt bazujący na mikrokontrolerach ATmega 328 - płytka uruchomieniowa, procesor może mieć wgrany (ale nie musi i tego się trzymajmy Wink bootloader pozwalający w sposób łatwy go programować
- szukając modemu, który mógłbym sam sobie złożyć (bez scalaków, co za białe kruki uchodzą) znalazłem coś takiego: Arduino KISS TNC - KI4MCW Bazuje toto na BeRTos'ie, nie mieści się na ATmega 168 (z mniejszym flashem). Kod źródłowy otwarty, język C. OIDP fragment to wręcz zawartość BeRTos'owego tutoriala.

Oryginalne Arduino jest wielkie i drogie. Ale są płytki uruchomieniowe, np. z oferty AVT:
Wersja bez USB - 6zł
Wersja z FT232RL - serial na USB - 8zł

Trzeba dorzucić tranzystor/optoizolator dla PTT, garść oporników (C/A robione na czterech opornikach), kilka kondensatorów oraz PRkę dla ustawienia poziomu sygnału wyjściowego.

Testowałem to to z Wouxunem KG-UVD1p i xastirem - działa poprawnie jako KISS-TNC, nie jestem pewien czy zaimplementowano CS (wykrywanie nośnej) i blokowanie nadawania, gdy nadaje kto inny.

Koszt ATmegi 328 to około 20-30zł, FT232RL to ok. 15zł, ale potrzebny jest tylko wtedy, gdy chcemy mieć wyjście USB. Goldpiny na płytce z AT328 można przylutować od spodu, i traktować jako moduł do większej całości (gdzie będzie "elektronika" modemu i reszta układu).

Jakąś bazę mogło by to stanowić. Na pewno trzeba dorzucić wzmacniacz wejściowy - sygnał liniowy z FT-897 był za słaby by A/C ATmegi cało sobie radę z sensownym dekodowaniem.

Następnym krokiem u mnie była płytka prototypowa Arduino w wersji Mega (ATmega1280) - ma m. in. 4 seriale - na jeden zapinałem wyjście z kiss-modemu, drugi - retransmisja do PC (podgląd w xastir "czy jeszcze działa"), na trzecim dopięty GPS, do tego wyświetlacz LCD - kilka diodek - i bawiłem się w wyciąganie danych z lokalnego WX i prezentację warunków pogodowych na wyświetlaczu. Nie portowałem KISS-TNC na większy procesor, bo nie jestem pewien, czy nadążyłby ze wszystkim - modem za około 50zł jest moim zdaniem akceptowalny, wykorzystanie go jako moduł "ratuje" od konieczności grzebania w jego kodzie źródłowym (i pozwala programować współpracujące układy "po swojemu").

Pozdrawiam,
Wojtek
(Ten post był ostatnio modyfikowany: 09-05-2012 16:37 przez SQ6OWH.)
09-05-2012 16:36
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9UOB Offline
Nowicjusz
*

Liczba postów: 11
Dołączył: 30-05-2011
Post: #7
RE: Nowy pomysł związany z APRS-em
(07-05-2012 11:24)SQ9MDD napisał(a):  Witam.

To będzie nieco długi post. Mam nadzieję że dojdę do sedna zanim się znudzicie.
Wpadłem ostatnio na pomysł, który po przedyskutowaniu ma szanse stać się ciekawym impulsem do rozwoju projektów dedykowanych do pracy w sieci APRS.

[...]

Zapraszam do dyskusji, komentarzy, opinii.

Ryśku,

Taki projekt istnieje: http://sp9uob.verox.pl/dstnc.html
Sam modem jest bardzo elastyczny, stos AX25 w pełni funkcjonalny. Miałem to szerzej opowiedzieć na Tamie, ale uchyle rąbka tajemnicy ;-)

Pomysł zaczerpnąłem z układów TCP/IP on chip - czyli gotowy stos w kostce, dsTNC może pracować jako sprzętowy stos AX25/APRS (składanie ramek, liczenie CRC, odbiór ramek etc) z możliwą komunikacją po RS232 lub I2C/SPI.

Po szczegóły zapraszam na TAME :-)

73!
09-05-2012 21:48
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9RQA Offline
Krzysztof
***

Liczba postów: 167
Dołączył: 30-09-2009
Post: #8
RE: Nowy pomysł związany z APRS-em
Ja też myślę, że to wcale nie jest głupi pomysł z tym arduino. W tej chwili jest mnóstwo mutacji tego projektu.

Tutaj są źródła do PCB w Eaglu i Protelu:
http://www.freeduino.org/freeduino_open_designs.html

więc zrobienie "kanapek" do tego to już banał.
(09-05-2012 21:48)SP9UOB napisał(a):  (...)
Taki projekt istnieje: http://sp9uob.verox.pl/dstnc.html
(...)

Jest tylko jedno ale... ;-) To ma być projekt otwartoźródłowy,
a dsTNC jest póki co zamknięty. Nie, żebym Ci to wypominał,
bo to w końcu Twoja praca, wiec już za samo to, że się nią dzielisz za darmo jestem pełen uznania.

No i pozostaje kwestia ceny układów dsPIC.

73




(09-05-2012 16:36)SQ6OWH napisał(a):  Piszecie koledzy o modemie, też miałem z tym zgryz, oto, co wygrzebałem:
- jest sobie coś takiego, jak Arduino (zapewne znany) - projekt bazujący na mikrokontrolerach ATmega 328 - płytka uruchomieniowa, procesor może mieć wgrany (ale nie musi i tego się trzymajmy Wink bootloader pozwalający w sposób łatwy go programować
(...)

Przy okazji wrzucę jeszcze to co wrzuciłem na forum aprs ze strony avrfreaks.


ATMEGA324 based APRS TNC. Interfaces with a SIRF III GPS module and an LCD panel for status display. Operates on a single li-ion cell and has on board li-ion charger chip.

The hardware will generate a PTT (push to talk) signal and also the modulated audio. These 2 signals can be connected to a 2M handheld or various 2M mobile transceivers to send APRS packets via the radios to the APRS digipeater system.

The firmware encodes data in MIC-E format and also implements a smart beaconing algorithm to minimize transmitted packets.

The SIRF III GPS is intefaced via a TTL connection and the NMEA sentences are decoded in the software to acquire the current position for use with the smart beaconing algorithm and also to be encoded for transmission along with the user's call sign.



(07-05-2012 12:32)SQ5NBG napisał(a):  (...)
Część nadawczo/odbiorcza modemu z powodzeniem działa w oparciu o ATmega8 - projekt WhereAVR, który wydaje mi się, że bardzo dobrze nadaje się na bazę naszego projektu.
(...)

To chyba nie jest dobry start. Ten projekt wykorzystuje komparator i opiera zasadę działania na liczeniu przejść przez "zero" (jak mi się wydaje), więc jest bardzo podatny na zakłócenia. No i z tego co pamiętam, ktoś gdzieś pisał, że działa dobrze tylko w pobliżu silnych sygnałów.


Załączone pliki
.zip  aprs_pictures.zip (Rozmiar: 344.53 KB / Pobrań: 398)
.zip  aprs_tnc.zip (Rozmiar: 17.42 KB / Pobrań: 391)
.pdf  avr_tnc.pdf (Rozmiar: 26.7 KB / Pobrań: 562)
(Ten post był ostatnio modyfikowany: 09-05-2012 22:16 przez SP9RQA.)
09-05-2012 21:50
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9UOB Offline
Nowicjusz
*

Liczba postów: 11
Dołączył: 30-05-2011
Post: #9
RE: Nowy pomysł związany z APRS-em
(09-05-2012 21:50)SP9RQA napisał(a):  
(09-05-2012 21:48)SP9UOB napisał(a):  (...)
Taki projekt istnieje: http://sp9uob.verox.pl/dstnc.html
(...)

Jest tylko jedno ale... ;-) To ma być projekt otwartoźródłowy,
a dsTNC jest póki co zamknięty. Nie, żebym Ci to wypominał,
bo to w końcu Twoja praca, wiec już za samo to, że się nią dzielisz za darmo jestem pełen uznania.


To temat na dłuższą dyskusję, kiedyś dawno ktoś dobrze zarobił na mojej pracy więc wyleczyłem się z udostępniania źródeł ot tak. Samo oprogramowanie do projektowania filtrów cyfrowych kosztowało troszkę grosza, ale nie o tym chciałem.
Chętnie dołączę (w miarę czasu) do "grupy roboczej" żeby ustandaryzować API do takiego zewnętrznego stosu AX25/APRS. Pozwoli to zapinać do projektów modemy na różne modulacje/prędkości bez ingerencji w oprogramowanie aplikacji.

(09-05-2012 21:50)SP9RQA napisał(a):  No i pozostaje kwestia ceny układów dsPIC.
73

No ale jednak ich możliwości - jestem po pomyślnych testach modulacji RobustPacket. Zrobienie czegoś takiego na atmedze może być bardzo trudne.


ps: Dzięki za przesyłkę :-)
(Ten post był ostatnio modyfikowany: 09-05-2012 22:18 przez SP9UOB.)
09-05-2012 22:18
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9RQA Offline
Krzysztof
***

Liczba postów: 167
Dołączył: 30-09-2009
Post: #10
RE: Nowy pomysł związany z APRS-em
(09-05-2012 22:18)SP9UOB napisał(a):  No ale jednak ich możliwości - jestem po pomyślnych testach modulacji RobustPacket. Zrobienie czegoś takiego na atmedze może być bardzo trudne.


ps: Dzięki za przesyłkę :-)

No tak, ale sam wiesz ze dsPIC do tanich nie należy, a w tym co go zastosowałeś w projekcie już się nic więcej nie zmieści, choć procesor sie tam raczej nudzi, więc trzeba by zastosować większego dsPIC'a, a co za tym idzie jeszcze droższego.

Dlatego też rzuciłem propozycję kol. Ryśkowi, aby "poświęcić" jedną atmegę tylko i wyłącznie jako zamiennik FX-614

http://forum.aprs.pl/index.php?topic=656...02#msg4702

(ten link kol. SQ5BLS już nie działa, ale mam źródła do tego ).

A przesyłka... niech służy ;-) Wlutowałem tam te dławiczki, bo są raczej ciężko dostępne.
09-05-2012 22:44
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości