↓
 

majek.sh

Marek Wodziński's home page

  • O mnie
  • LCD88
    • Posts about lcd88
  • R/C
  • Elektronika
Home - Strona 3 << 1 2 3 4 5 … 8 9 >>

Nawigacja

← Starsze posty
Nowe posty →

LCD88 na wolności :-)

majek.sh Opublikowano w 2014-06-22 przez majek2014-09-02

Ostatnio zacząłem uczyć się używać git-a zamiast svn-a 🙂

I tak sobie pomyślałem, żeby zmigrować repozytorium LCD88 z mojego prywatnego w bardziej publiczne miejsce – do Githuba!

Czyli od teraz cały kod projektu będzie na bieżąco tam aktualizowany. Mam nadzieję, że oprócz ściągania posłuży rówież do łatwiejszego rozwoju nie tylko przeze mnie 🙂
Dodatkowo jeżeli ktoś chciałby pomóc, ale nie jest programistą, to jest też 'issue tracker’, gdzie można zgłaszać błędy lub pożądane funkcjonalności.

Dyskusja nad projektem po polsku dostępna jest tu: http://rc-fpv.pl/viewtopic.php?t=21059

W czasie przenosin dodałem również licencję GPL, więc kodu można używać bez obaw:-)

Link do repozytorium: https://github.com/majekw/lcd88

Inną rzeczą, która przy okazji powstaje jest dedykowany LCD88 kawałem mojego bloga. Ktoś mógłby nawet to nazwać dokumentacją 🙂
Zachęcam do zapoznania się z nowym kawałkiem menu (i tym co się tam kryje): LCD88!

Opublikowano w Elektronika, R/C | Tagi: lcd88 | Zostaw odpowiedź

XEBOOT – mały bootloader dla Atmega8 obsługujący xmodem

majek.sh Opublikowano w 2014-05-26 przez majek2014-05-27

Historia

Parę lat temu pracowałem nad pewnym urządzeniem na sprzedaż opartym na procesorze Atmega8. Jedną z ważnych części było oczywiśćie oprogramowanie. Wiadomo, że czasem trzeba coś dodać, czasem poprawić, więc oprogramowanie musiało się dać aktualizować. I musiało to być robione przez nabywcę tego urządzenia.

Wrzucenie gotowego bootloader obsługującego protokół STK albo inny zamknięty było nie do przyjęcie. Klient miał do dyspozycji tylko port szeregowy i to wzystko. Nie mogło to być również zależne od systemu operacyjnego.

Był jeszcze jeden problem – urządzenie było dosyć proste w budowie i większość jego siły tkwiła w oprogramowaniu. Czyli nowy firmware dostarczany do klienta nie powinien również chodzić na kopii 🙂
W ten sposób kolejnym wymaganiem bootloadera była obsługa deszyfrowania.

I ostatnie wymaganie – rozmiar. Sam program zawierał dosyć spore tablice, więc poświęcenie 2KB z 8 dostępnych byłoby dużą stratą.

W ten sposób nie pozostało mi nic innego jak samemu taki napisać 🙂

Ostatnio postanowiłem podzielić się tym kodem, bo go już nie wykorzystuję i widzę, że w ciągu tych lat nadal nic takiego nie powstało, co obsługiwałoby protokół xmodem i deszyfrację obrazu.

Możliwości

  • mały rozmiar (mniej niż 512B)
  • obsługiwany protokół: xmodem
  • czyste wykorzystanie transmisji szeregowej (bez dodatkowych linii sterujących czy innych połączeń niż tx/rx)
  • obsługa prostego szyfrowania (nie jest mocne, ale wystarczające, żeby niedoświadczony użytkownik nie mógł tego prosto wgrać do skopiowanego sprzętu)
  • jest już za darmo (GPL v3) 🙂

Kod

Kod jest do ściągnięcia z Githuba: https://github.com/majekw/xeboot
Szczegóły techniczne (kompilacja, użycie itp.) opisane są w README w repozytorium.

Fork

Tak, projekt ewoluował 🙂
Został użyty jako podstawa do bootloadera dla Atmega88/168/328. Niestety musiałem poświęcić szyfrowanie, żeby nadal mieścić się w 0.5KB, więc nie jest to już xEboot.
Nowy bootloader jest obecnie częścią mojego innego projektu: LCD88 – kodera dla nadajnika R/C, a źródła są dostępne również na Githubie: https://github.com/majekw/lcd88

Opublikowano w Elektronika | Tagi: avr | Zostaw odpowiedź

RTL-SDR i ADS-B

majek.sh Opublikowano w 2014-03-17 przez majek2014-05-27

Szukałem sobie w Internecie o FLARMie i innych możliwościach śledzenia małych samolotów, najlepiej pod kątem możliwości użycia tego w modelach 🙂
Oczywiście znalazłem całkiem coś innego, co przypomniało mi, że mały tuner DVB-T na usb ze znanym chipsetem Realteka RTL2832U może być również użyty jako odbiornik ADS-B.
W uproszczeniu: ADS-B jest systemem, który pozwala na śledzenie większych statków powietrznych dzięki informacjom nadawanym przez nie. Protokół jest na tyle dobrze znany, że każdy, kto jest w stanie odebrać te sygnały może je również zdekodować i coś z tym zrobić. Najbardziej znaną stroną wizualizującą te dane jest flightradar24.com.

Prosta aplikacja odbierająca i dekodująca ADS-B (rtl_adsb) jest nawet częścią podstawowej biblioteki rtlsdr, ale niewiele ona robi poza wypisaniem na konsolę odebranych pakietów i częściowym ich dekodowaniem.
Ponieważ mój stary tuner oparty o FC0013 nie może odbierać częstotliwości 1090MHz, więc nie testowałem tego, a po zakupie nowego zapomniałem o tym 🙂

dump1090 by antirez

Ale dzisiaj znalazłem coś o wiele lepszego, wręcz imponującego, co potrafi nie tylko odebrać dane ADS-B, ale również je zwizualizować: dump1090 (https://github.com/antirez/dump1090), więc oczywiście musiałem to sprawdzić 🙂

Skompilowało się to bezproblemowo przez zwykłe 'make’.
Uruchomienie bez żadnych opcji daje wynik podobny do włączenia bardziej gadatliwej opcji 'rtl_adsb -V’, czyli na razie nic szczególnego 🙂

$ ./dump1090
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001 (currently selected)
Found Rafael Micro R820T tuner
Max available gain is: 49.60
Setting gain to: 49.60
Exact sample rate is: 2000000.052982 Hz
Gain reported by device: 49.60
*8d471f4e9941f28fa8948de31fa4;
CRC: 000000 (ok)
DF 17: ADS-B message.
  Capability     : 5 (Level 2+3+4 (DF0,4,5,11,20,21,24,code7 - is airborne))
  ICAO Address   : 471f4e
  Extended Squitter  Type: 19
  Extended Squitter  Sub : 1
  Extended Squitter  Name: Airborne Velocity
    EW status         : Valid
    EW velocity       : 497
    NS status         : Valid
    NS velocity       : -124
    Vertical status   : Valid
    Vertical rate src : 0
    Vertical rate     : -2304

*5d471f4e76710a;
CRC: 00002c (ok)
DF 11: All Call Reply.
  Capability  : 5 (Level 2+3+4 (DF0,4,5,11,20,21,24,code7 - is airborne))
  ICAO Address: 471f4e
  IID         : SI-28

*200014121f6bd2;
CRC: 471f4e (ok)
DF 4: Surveillance, Altitude Reply.
  Flight Status  : Normal, Airborne
  DR             : 0
  UM             : 0
  Altitude       : 31050 feet
  ICAO Address   : 471f4e

Ale robi się bardziej interesująco przy dodawaniu dodatkowych przełączników. Pierwszym jest –interactive, który rysuje tabelkę z bardziej przyjaznymi w odczycie danymi, posortowanymi wg. samolotów.

Wygląda to o wiele lepiej:
dump1090 with --interactive

Następną interesującą opcją jest –net, która odblokowuje funkcje sieciowe. Najbardziej imponujący jest wbudowany serwer www generujący mapę z zaznaczonymi na niej samolotami przemieszczającymi się w czasie rzeczywistym!
web interface of dump1090

Ciekawą rzeczą jest to, że odbieram to wszystko tylko na dołączonej do zestawu tunera małej antence umieszczonej koło okna. Tuner odbiera sygnał bez specjalnej anteny z samolotów oddalonych o ponad 250km ode mnie – niesamowite!

dump1090 by MalcolmRobb

Ale to jeszcze nie wszystko! Powstał fork tego projektu udoskonalony przez MalcolmRobb (https://github.com/MalcolmRobb/dump1090).

Na konsoli mamy dodatkowe informacje jak np. numer transpondera, kierunek poruszania się samolotu, informacje wyświetlane są też bardziej przejrzyście:

dump1090 --interactive by fork by MalcolmRobb

Interfejs www również został ulepszony. Samoloty teraz wyglądają jak samoloty, a nie strzałki. Dodatkowo przeglądarka zapisuje historię pozycji co pozwala rysować ślad dla każdego lotu. Dodatkowo jako podkład mapy można użyć dodatkowo Openstreetmap (wcześniej były tylko mapy Google).
web interface of fork of dump1090 by MalcolmRobb

web interface of fork of dump1090 by MalcolmRobb

Są też innego usprawnienia i poprawki błędów, soft ciągle żyje.

Obydwie wersje dump1090 posiadają również przełącznik –agressive. Mimo ostrzeżeń, na normalnym PC nie widzę specjalnie większego obciążenia, więc można tego używać bez wahania jako domyślną opcję. Zwłaszcza, że poprawia ona trochę odbiór (lepsza korekcja błędów kosztem obciążenia procesora).

Jednej rzeczy mi tylko brakuje – bezpośrednioego wrzucania danych do flightradar24. Ale to nie marudzenie, raczej życzenie – dump1090 to naprawdę kawałek dobrego oprogramowania!

Opublikowano w Elektronika, Linux | Tagi: ads-b, rtlsdr | Zostaw odpowiedź

Interfejs bluetooth z Chin :-)

majek.sh Opublikowano w 2014-03-09 przez majek2014-03-09

Od kilku miesięcy używam słuchawek bezprzewodowych z interfejsem bluetooth i brak kabli jest tym co polubiłem. Tylko jeden problem mnie męczy w tym zestawie – mały zasięg. W moim domu efektywnie jest to 2-3 metry:-(
Wymyśliłem więc, że trzeba kupić zewnętrzny interfejs bluetooth, najlepiej z prawdziwą anteną.

Znalazłem takiego 'dongla’ na eBay-u za niecałe $2 (z przesyłką!). Super okazja 🙂
W opisie było „Operation range: 0-100m.”, czyli mógł to być rzeczywiście z tych 'mocniejszych’.
Tego właśnie potrzebowałem 🙂

Po jakimś czasie dostałem:
Bluetooth dongle
Wygląda dobrze, chociaż poruszanie anteną było dziwne. Ale mogłem ją zepsuć jak zacząłem nią kręcić na wszystkie strony (przynajmniej tak sobie na początku pomyślałem).

Oczywiście nie mogłem się oprzeć przed rozebraniem i zajrzeniem do środka:-)
I wtedy pokazała się niespodzianka:
Bluetooth dongle inside

Zewnętrzna antena to tylko kawałek plastiku. Było to tak niedorzeczne, że nawet nie chciało mi się winić sprzedawcy czy producenta za dobry żart 🙂
Czyli nic za darmo, a problem nadal nierozwiązany.

Opublikowano w Elektronika, Życie | Tagi: china, fun | 2 komentarze

Skończył się 2013, leci 2014

majek.sh Opublikowano w 2014-02-16 przez majek2018-03-18

Czas w końcu coś napisać 🙂
Na jednym blogu widziałem, że autor miał dylemat: powinien pisać więcej, ale małych rzeczy, czy jednak rzadziej, ale 'lepiej’?
Myślę, że mam podobny problem. Staram się opisywać wszystko najpełniej jak się da. Wymaga to niestety czasami nawet kilku godzin pracy a nawet i więcej. Pisanie w dwóch językach również nie pomaga 🙂 W międzyczasie małe rzeczy uciekają, bo pracuję nad czymś 'większym’. I czasami wynikiem tego trybu pracy jest … nic.

Ok, to próbuję wrócić do pisania 🙂

W minionym 2013 wylatałem sporo godzin i pakietów moim Tricoopterem, robiłem go nie jeden raz, zainstalowałem wyposażenie FPV, wypróbowałem kilka różnych wersji MultiWii, włącznie z eksperymentalnym regulatorem PID alexK-a (który jest świetny!), nakręciłem setki gigabajtów materiały wideo (w większości nudnych 🙂 ).
Ale to już przeszłość, a najlepszą metodą na pójście do przodu, to zachowanie dobrych wspomnień, ale nie roztrząsanie przeszłości i zostawienie tego po prostu za sobą.

Jako małe wpomnienie minionego roku kolejny wypadek Tricoptera (leciałem tradycyjnie, bez FPV i jak widać zrobiłem kilka podstawowych błędów):

Czego się nauczyłem:

  • zainstalować oświetlenie na ramionach jeżeli chce się latać o zmierzchu lub w nocy (nie widziałem orientacji tricoptera i dlatego się zgubiłem)
  • MultiWii ma tryb HeadFree – trzeba go używać! Oczywiście zaraz po starcie trzeba sprawdzić orientację i czy działa zanim się poleci dalej. Ocaliłoby mnie to gdybym nie spanikował i zapomniał całkiem o tym trybie.
  • GPS z RTH byłby naprostszym sposobem na ratunek (jakbym go miał)
  • trzeba kupić sobie ubezpieczenie OC! (tym razem nic się nie stało, ale lepiej mieć w razie czego)

Wystarczy o przeszłości, lepiej zająć się teraz przyszłością 🙂
Czyli co mam 'w kolejce’ do opisania:

  • ulepszenie mechanizmu ogona w Tricopterze
  • Hobbyking 3-Channel FPV Video Switcher – przełącznik kamer – jak (nie) działa i jak to ewentualnie naprawić
  • MINI MWC Flight Control Board and DSM2 Receiver ACC/GYRO/BARO/MAG – fajna mała płyteczka pod MultiWii – opis wyprowadzeń, jak to zaprogramować itp.
  • OrangeRx Open LRS 433MHz 9Ch Receiver – odbiornik OpenLRS – jak go zaprogramować i dlaczego można spokojnie kupić (taniej) 2 odbiorniki zamiast zestawu nadajnik+odbiornik
  • więcej o moim nadajniku RC LCD88:
    • jak zrobić sobie taki nadajnik krok po kroku (relacja z budowy) na podstawie LCD88
    • zastanawiam się nad przeniesieniem kodu na Github-a
    • opisać więcej o LCD88, opcjach sprzętowych, jak to skompilować, zaprogramować, definiować modele itp.
    • przestać wspierać Atmega88 i skupić się tylko na Atmega168 i Atmega328

I na koniec na zaostrzenie apetytu: LCD88 w akcji:

Oczywiście jeżeli chciałbyś zobaczyć wcześniej któryś z tematów z 'kolejki’ to zostaw komentarz:-)

Opublikowano w Życie | Tagi: crash, lcd88, tricopter, video | 1 Odpowiedź

Nawigacja

← Starsze posty
Nowe posty →
  • English
  • Polski

Ostatnie wpisy

  • Jeep Grand Cherokee ZJ – wentylator elektryczny
  • (English) New 3D printer – vn-corexy
  • (English) Classic keyboard for Lenovo X230
  • Zmiany, zmiany
  • Zapisywanie do wewnętrznej pamięci flash w Arduino
  • dm-cache w Slackware
  • Lampki choinkowe na Arduino i led-ach z kontrolerem WS2811 :-)
  • Initrd w Slackware
  • Złodziej zdjęć
  • Lutowanie kabla AWG10 do wtyczki XT60
  • LCD88 na wolności :-)
  • XEBOOT – mały bootloader dla Atmega8 obsługujący xmodem
  • RTL-SDR i ADS-B
  • Interfejs bluetooth z Chin :-)
  • Skończył się 2013, leci 2014

Najnowsze komentarze

  • demostenes - HobbyKing SuperSimple HK-18A z firmware SimonK
  • majek - Lutowanie kabla AWG10 do wtyczki XT60
  • Hello - Lutowanie kabla AWG10 do wtyczki XT60
  • wefwe - Koniec ery REXa 6000
  • Kudłaty - Miernik częstotliwości do 100MHz
  • majek - Miernik częstotliwości do 100MHz
  • somok - Miernik częstotliwości do 100MHz
  • majek - Miernik częstotliwości do 100MHz
  • AM Technologies - Miernik częstotliwości do 100MHz
  • majek - LCD88: Nadajnik R/C DIY

Kategorie

  • 3D printing (1)
  • Car (1)
  • Elektronika (22)
  • Życie (12)
  • Linux (9)
  • R/C (20)

Archiwa

  • lipiec 2022 (1)
  • styczeń 2021 (1)
  • kwiecień 2018 (1)
  • marzec 2018 (1)
  • czerwiec 2015 (1)
  • marzec 2015 (1)
  • styczeń 2015 (1)
  • grudzień 2014 (2)
  • sierpień 2014 (1)
  • czerwiec 2014 (1)
  • maj 2014 (1)
  • marzec 2014 (2)
  • luty 2014 (1)
  • listopad 2013 (1)
  • sierpień 2013 (1)
  • czerwiec 2013 (3)
  • kwiecień 2013 (1)
  • luty 2013 (3)
  • styczeń 2013 (2)
  • grudzień 2012 (1)
  • październik 2012 (1)
  • wrzesień 2012 (1)
  • sierpień 2012 (9)
  • lipiec 2012 (1)
  • czerwiec 2012 (2)
  • marzec 2007 (1)
  • marzec 2006 (1)
  • październik 2005 (1)
  • luty 2002 (1)

Tagi

1-wire ads-b arduino avr awstats car china crash dialog diy dns e-osd e-wro fpv frsky fun g-osd gps głupota harpagan i2c lcd lcd88 linux logic analyzer multiwii netia osd ppm r/c repair rex.mamy.to rex6000 rtlsdr simonk slackware small things spectrum analyzer transmitter tricopter video video receiver vn-corexy watchdog xircom

Blogi

  • Blog Akuaku
  • Savage Chickens
  • xkcd

Znajomi

  • Belfer
  • Copernicus Project
  • freesco.pl
  • Harpagan
  • Sadziu
  • Tropiciel
  • Wydawnictwo Dobrew (audiobooki)
  • Wydawnictwo Muszkin

Hosting

  • mamy.to
©2025 - majek.sh - Weaver Xtreme Theme
↑