Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

MegaEthernet - uniwersalny sterownik Ethernetowy

damiano713 20 Sie 2011 15:13 25967 40
  • MegaEthernet - uniwersalny sterownik Ethernetowy

    Cytat:
    Tysiące mililitrów kawy, setki demotywatoro-godzin, kilkadziesiąt „THE NIGHT OF CODE” i o to jest.
    Przed Państwem zielona płytka i kilka układów scalonych!


    Wstęp

    Nadeszła chwila w której, chciałbym zaprezentować mój projekt szerszej grupie elektroników. Od jakiegoś czasu, w przerwach od bezużytecznych lekcji szkolnych, pracowałem nad własnym rozwiązaniem sterowania poprzez Internet. W okresie 3 lat powstało sporo prototypów. Ogólnie z każdym kolejnym rozmiar płytki się zmniejszał i dodawane były nowe funkcje.

    W sieci nie brakuje tego typu rozwiązań opartych o chip ENC28J60 i popularne AVR'y. Co wyróżnia moją konstrukcje? Oprogramowanie. Żadne ze znalezionych gotowców nie umożliwiało prostego wykorzystania stosu TCP/IP. Wszystkie nakładały na programistę obowiązek poznania zasad działania konkretnej implementacji. Moje rozwiązanie umożliwia proste i wygodne pisanie własnych aplikacji nasłuchujących lub klientów TCP i UDP. Kod jest w pełni zorientowany zdarzeniowo.

    Aktualne funkcje urządzenia:
    > obsługa sieci ethernet: ARP, ICMP (wysyłanie i odbieranie), IP, UDP
    > lekki i szybki stos TCP
    > konfiguracja poprzez USB (specjalny program na PC w wersji pod systemy Microsoft'u, a także umiłowanego Linuxa)
    > pełna obsługa 1-wire, wyszukiwanie urządzeń na szynie
    > automatyczne przydzielanie adresu IP po DHCP
    > czas z sieci, czyli klient NTP
    > klient-bot sieci GADU-GADU
    > serwer HTTP obsługujący do 4MB pamięci i operujący na plikach
    > zegar RTC z pamięcią RAM, podtrzymywanie baterią
    > programowanie poprzez bootloader USB
    > 12 pinów I/O do dowolnego wykorzystania

    Elektronika

    Od strony technicznej urządzenie oparte jest o procesor ATmega32 (opcjonalnie można użyć także procesora ATmega644, który ma więcej pamięci FLASH i RAM). W roli kontrolera sieciowego występuje układ ENC28J60.
    Interfejs USB realizowany jest poprzez sprawdzone rozwiązanie FTDI FTT232RL. Układ posiada możliwość resetu procesora głównego poprzez pin RTS.
    Do przechowywania danych służy pamięć Flash 4Mb SPI, jest podłączona do tej samej szyny co karta sieciowa.
    Na płytce znajduje się też zegar RTC MCP7940 z podtrzymywaniem bateryjnym.
    Na złączu RJ została wyprowadzona szyna 1-wire wraz z zasilaniem 3,3V.

    Należy zaznaczyć, że cały układ pracuje na napięciu 3,3V. Stabilizator przystosowany jest do napięcia zasilania 5V.
    Procesor pobiera sygnał zegarowy z karty sieciowej. Może być ustawiany maksymalnie na 25MHz (przy takiej prędkości nie działa poprawnie ADC, na czas pomiaru należy oobniżyć częstotliwość do 12,5MHz).

    Umieszczam tylko kluczowe części schematów. Po resztę zapraszam chętnych.

    MegaEthernet - uniwersalny sterownik EthernetowyMegaEthernet - uniwersalny sterownik EthernetowyMegaEthernet - uniwersalny sterownik Ethernetowy

    Oprogramowanie

    Kod został napisany w języku C. Kompilowany AVR-GCC. Wykorzystuje AVR-LibC.

    Stos TCP jest wielopołączeniowy. Maksymalna ilość połączeń TCP zależna jest od wielkości SRAM procesora. W przypadku ATmega32 to 10 połączeń. Procesor ATmega644 może obsłużyć około 40.

    W pliku app_template.zip znajduje się przykładowa aplikacja serwera. Na jej przykładzie można poglądowo poznać działanie tej implementacji.

    Kod źródłowy mogę udostępnić dla chętnych. W tym celu proszę o kontakt na adres email d0zoenator(malpa)gmail.com.

    Programowanie

    MegaEthernet może być programowany poprzez JTAG lub USB. Wgrany jest AsymptoticBootloader z małą modyfikacją na zdalny reset urządzenia poprzez pin RTS. Do zaprogramowania wystarczy więc komputer z USB :)

    MegaEthernet - uniwersalny sterownik Ethernetowy

    Zmiana ustawień poprzez USB

    Konfiguracja odbywa się dzięki aplikacji na PC. Umożliwia ona zmianę adresów IP, haseł, numeru GG...

    W przyszłych wersjach będzie można także odczytać pliki z FLASH i zapisać nowe.

    MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy

    Pamięć FLASH

    W pamięci FLASH przechowywany jest prosty system plików. Korzysta z niego serwer WWW. Dzięki aplikacji files2flash można zaprogramować pamięć poprzez USB.

    Program obsługiwany jest z konsoli. Nie trudno dopisać skrypt w Bash lub Windows do automatycznego wgrywania wszystkich plików z katalogu.

    MegaEthernet - uniwersalny sterownik Ethernetowy

    Serwer WWW

    Nie ma co dużo opowiadać. Działa z wszelkimi przeglądarkami. Umożliwia uwierzytelnianie użytkownika. Operuje na plikach z FLASH.

    W pliku vars.js generowane są zmienne w formacie JavaScript.

    MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy

    Klient Gadu-gadu

    MegaEthernet łączy się po TCP do serwera GG. Loguje się i nasłuchuje wiadomości. Można definiować swoje własne polecenia.

    Uwierzytelnianie polega na poprzedzeniu polecenia hasłem.

    MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy

    Sprawdź sam

    Pod adresem WWW http://megaethernet.dyndns.org:8080/ znajduje się urządzenie które stoi u mnie w domu. Dane do logowania: admin hasło: test.

    Pod numerem gg: 37269241. Dostępny jest bot-gg. Hasło: geekpass.

    FAQ

    Uprzedzam wypowiedzi typu: AVR się nie nadaje do WWW.
    Interfejs WWW może służyć do łatwego odczytywania danych z aplikacji PHP. Pod adresem Link (admin:admin) znajduje się aplikacja odczytująca dane z MegaEthernet w regularnych odstępach czasu i zapisująca dane do bazy danych. Nie obciąża to jakkolwiek urządzenia.
    Urządzenie nie będzie wykorzystywane przez klientów biznesowych w takiej formie! Jeżeli już to z z jakimś ARM. Proszę więc o powstrzymanie tego typu uwag.

    Chętnie odsprzedam kilka zmontowanych układów wraz z kodem źródłowym pod AvrStudio5. Mogę też odpowiedzieć na większość pytań odnośnie działania układu i spraw programowych.

    W przygotowywaniu są tutoriale do aplikacji klienta gadu-gadu i serwera WWW.

    MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    damiano713
    Poziom 14  
    Offline 
    Damian Kmiecik <damiankmiecik.tk>
    QT4, AVR, STM32, AltiumDXP
    Argos-1 sp. z o.o. , 26-060 Chęciny, os. Sosnówka 1b
    Tel. 041-3460530,3660822,3683717
    Specjalizuje się w: elektronika cyfrowa, programowanie, webmastering
    damiano713 napisał 179 postów o ocenie 297, pomógł 12 razy. Mieszka w mieście Kielce. Jest z nami od 2006 roku.
  • PCBway
  • #2
    michalko12
    Specjalista - Mikrokontrolery
    No w końcu coś z nie tuxgraphics.org. Sporo dobrej roboty z softem.
    Sam od jakiegos czasu nastawiam się na GG, ale na razie skupiłem się na SMTP z MIME
    Dwa pytania. Skąd stos TCP i skąd protokół GG, czy stąd http://toxygen.net/libgadu/protocol/ ?
  • PCBway
  • #3
    damiano713
    Poziom 14  
    Stos TCP głównie z http://tools.ietf.org/html/rfc793.
    Niestety te wszystkie RFC są od siebie zależne. Trzeba szukać informacji w kilku notach. Dobrym źródłem informacji była też implementacja Ulrich'a Radig'a. Facet bardzo dobrze to zrobił.

    Co do GG: nie. Ten opis jest troszkę niedokładny. Był jakiś problem po stronie serwera gg. Zacząłem wzorować się na Kadu. Zassałem jakąś z pierwszych wersji tego komunikatora. Nie pamiętam, którą konkretnie.
    Przydał się też Wireshark i podglądanie pakietów z Gadu-gadu 4.0.

    EDIT:
    Zamieszczam stos TCP/IP używany w MegaEthernet. Jest to może 30% całej aplikacji.
  • #4
    michalko12
    Specjalista - Mikrokontrolery
    damiano713 napisał:
    Stos TCP głównie z http://tools.ietf.org/html/rfc793.
    Niestety te wszystkie RFC są od siebie zależne. Trzeba szukać informacji w kilku notach. Dobrym źródłem informacji była też implementacja Ulrich'a Radig'a. Facet bardzo dobrze to zrobił.


    Z tego co widzę to Ulrich Radig korzysta z uIP np w tym projekcie. Osobiście tez z tego stosu korzystam, ale bardzo go przerobiłem, głównie pod 32bity i sposób komunikacji stosu z aplikacją. Główną wadą jest brak wbudowanej retransmisji, ale to dlatego, że stos był projektowany dla uC z 1kB RAMu.



    damiano713 napisał:

    Co do GG: nie. Ten opis jest troszkę niedokładny. Był jakiś problem po stronie serwera gg. Zacząłem wzorować się na Kadu. Zassałem jakąś z pierwszych wersji tego komunikatora. Nie pamiętam, którą konkretnie.
    Przydał się też Wireshark i podglądanie pakietów z Gadu-gadu 4.0.

    Zapytałem właśnie ze względu na tą niedokładność tego opisu, jest trochę nieaktualny chyba. Inna sprawa to zastanawiam się nad legalnością używania tego protokołu i w związku z tym czy jednak nie lepiej ugryźć Jabbera.

    damiano713 napisał:

    EDIT:
    Zamieszczam stos TCP/IP używany w MegaEthernet. Jest to może 30% całej aplikacji.


    Ładnie napisane, zwięźle bez zbędnych komentarzy.
  • #5
    damiano713
    Poziom 14  
    Cytat:
    Z tego co widzę to Ulrich Radig korzysta z uIP np w tym projekcie. Osobiście tez z tego stosu korzystam, ale bardzo go przerobiłem, głównie pod 32bity i sposób komunikacji stosu z aplikacją. Główną wadą jest brak wbudowanej retransmisji, ale to dlatego, że stos był projektowany dla uC z 1kB RAMu.

    Pracuje właśnie nad przeniesieniem mojego stosu na STM32. Pracuje z FreeRTOS.
    Retransmisje mam zrealizowany po stronie stosu. Obsługa wygląda prawie identycznie jak na gniazdach BSD.

    Cytat:
    Inna sprawa to zastanawiam się nad legalnością używania tego protokołu i w związku z tym czy jednak nie lepiej ugryźć Jabbera.

    W takim przypadku AQQ, Kadu itp są nielegalne. Nie czytałem licencji Gadu-gadu i nie zamierzam marnować czasu.
    Myślę nad zmianą protokołu na Jabber właśnie i dodanie transportu na inne protokoły. Ale to już na Stm32Ethernet :)
  • #6
    michalko12
    Specjalista - Mikrokontrolery
    damiano713 napisał:

    Pracuje właśnie nad przeniesieniem mojego stosu na STM32. Pracuje z FreeRTOS.
    Retransmisje mam zrealizowany po stronie stosu. Obsługa wygląda prawie identycznie jak na gniazdach BSD.


    No to nie ma sensu wyłamywać otwartych już drzwi, są przykłady z FreeRTOSem i lwIP.
  • #7
    damiano713
    Poziom 14  
    Trochę danych benchmarkowych :)

    Pamięć ATmegi32:
    Code:
    AVR Memory Usage
    
    ----------------
    Device: atmega32
    Program:   18864 bytes (57.6% Full)
    (.text + .data + .bootloader)
    Data:       1383 bytes (67.5% Full)
    (.data + .bss + .noinit)
    EEPROM:       80 bytes (7.8% Full)
    (.eeprom)


    Ustawienia stosu TCP:
    Code:
    #if defined(__AVR_ATmega32__)
    
       #define MAX_APP_ENTRY         5
       #define MAX_TCP_ENTRY         5
       #define MAX_UDP_ENTRY         5
       #define TCP_MAX_TIME         30
       #define TCP_REXMIT_TIME         2
       #define TCP_MAX_ERROR_CNT      6
       #define MAX_ARP_ENTRY         5
       #define MAX_ARP_ENTRY_TIME      50
       #define ETHERNET_SENDING_PING   0
       #define MTU_SIZE             900
    #endif


    Ustawienia aplikacji i debugowania:
    Code:
    /*--------------------------- CONFIGURATION -----------------*/
    
    //#define USE_APP_TEMPLATE
    #define USE_HTTPD
    //#define USE_TELNET
    //#define USE_NTP
    #define USE_GADUGADU
    #define USE_DHCPC
    #define USE_1WIRE
    //#define USE_ADC
    /*--------------------------- DEBUG -------------------------*/
    //#define DEBUG(x,...)   printf_P(PSTR(x),__VA_ARGS__)
    #define DEBUG(...)
    //#define DEBUG_TCP
    //#define DEBUG_ARP
    //#define DEBUG_INFO
    /*-------------------------------------------------*/


    Zostaje więc dużo FLASH i RAM na aplikacje użytkownika.

    EDIT:
    Odnośnie sterowania urządzeniami zewnętrznymi.
    Stworzyłem płytkę rozszerzeń MegaIO. Posiada 4 wyjścia 230V. 2 wyjścia PWM dużej mocy na 12V. 4 wejścia optoizolowane.
    Jak na razie nie zamawiałem płytek PCB. Chętnych proszę o kontakt.

    MegaEthernet - uniwersalny sterownik Ethernetowy MegaEthernet - uniwersalny sterownik Ethernetowy
  • #8
    uzi18
    Poziom 23  
    Swietny pomysl, mi sie bardziej podobalaby podobna plytka ze wsparciem dla arduino(np. mega),
    Wraz ze zgodnoscia z tamtym IDE. Wtedy naprawde bylby to uniwersalny modul :)
    Myslisz ze bylbys w stanie lekko ja zmodyfikowac pod arduino?

    Jaki jest przyblizony koszt elementow?

    Jestem w trakcie pisania programu pod qt4 do pobierania danych o temperaturach
    z routera openwrt na magistrali 1wire protokolem ssh. Z aktualnej wersji jestem juz zadowolony.
    Program dziala pod win7/winxp/linux. Zostala mi do dodania obsluga systray-a i dymki z alarmami.
    Moglbym dodac wsparcie do Twojej Plytki, a raczej oprogramowac vars.js.
  • #9
    piotrva
    Moderator na urlopie...
    Czy zamierzasz udostępnić w jakiejś formie samo oprogramowanie?
    Bo powiem szczerze, że wszystkie elementy do wykonania urządzenia mam, a oprogramowanie przedstawia się bardzo ciekawie.
  • #10
    michalko12
    Specjalista - Mikrokontrolery
    damiano713 napisał:
    #define MTU_SIZE 900


    No to jak rozwiązałeś retransmisję przez stos TCP? Przy takim MTU to retransmisja realizowana jest raczej przez aplikację, mam na myśli dostarczenie danych do retransmisji.
  • #11
    damiano713
    Poziom 14  
    Cytat:
    Swietny pomysl, mi sie bardziej podobalaby podobna plytka ze wsparciem dla arduino(np. mega),
    Wraz ze zgodnoscia z tamtym IDE. Wtedy naprawde bylby to uniwersalny modul
    Myslisz ze bylbys w stanie lekko ja zmodyfikowac pod arduino?

    Nie wiem o co chodzi. O kształt płytki? Chodzi o te całe shieldy?
    MegaEthernet miał być w zamyśle autonomicznym układem. Można go oczywiście podpiąć do własnego urządzenia, choćby poprzez wyprowadzony RS232.
    Nie wiem jak działa tamto IDE.

    Cytat:
    Jaki jest przyblizony koszt elementow?

    Kupowałem ilości hurtowe. Podam jak się mają ceny dla urządzenia jednostkowego:
    gniazdo ethernetowe z transformatorem - 15zł
    procesor - 15zł
    FT232 - 15zł
    płytka PCB - 13zł
    ENC28J60 - 15zł
    FLASH - 4zł
    stabilizator - 4zł
    RTC - 3zł
    kwarc - 3zł
    reszta koło - 20zł
    Razem wychodzi 100zł za jedno urządzenie detal. W hurcie da się zejść poniżej 80zł (na dalekim wschodzie poniżej 60zł).

    Cytat:
    Czy zamierzasz udostępnić w jakiejś formie samo oprogramowanie?
    Bo powiem szczerze, że wszystkie elementy do wykonania urządzenia mam, a oprogramowanie przedstawia się bardzo ciekawie.

    Na razie nie przewiduje udostępnienia wszystkim. Chętnie bym to zrobił, ale nie brakuje takich co licencji w ogóle nie czytają (sam jestem za zniesieniem jakichkolwiek licencji na informacje, ale żyjemy w innych realiach) i potem lądują urządzenia na allegro.

    Cytat:
    No to jak rozwiązałeś retransmisję przez stos TCP? Przy takim MTU to retransmisja realizowana jest raczej przez aplikację, mam na myśli dostarczenie danych do retransmisji.

    Retransmisja spoczywa na barkach aplikacji. W stosie pod STM32 jest już dynamicznie alokowana pamięć pod retransmisję.
    Masz rację co do gotowych rozwiązań, tyle że póki sam nie spróbuje to się nie przekonam :)
  • #13
    Małs94
    Poziom 1  
    Nie mogę połączyć się z twoim serwerem. stronka wychodzi ale nie można niczego zmieniać:)
  • #14
    damiano713
    Poziom 14  
    Cytat:
    Prawdopodobnie wystarczyloby wyprowadzic goldpiny zgodne z arduino.
    Wtedy mozna np. nabic na to wyswietlacz itp.

    Czuje niesmak do słowa arduino. Nie wiem czemu :P
    Poczytam i zobaczę co da się zrobić.

    Cytat:
    Co myslisz o programie z mojego posta?

    Też piszę w QT4 :) Witam kolegę po fachu.
    Na pewno komuś się przyda opcja odbierania danych prosto do TRAY'a.
    Aktualnie pracuje nad aplikacją PHP w Prado do zbierania informacji i zapisywania do bazy danych.

    Cytat:
    Nie mogę połączyć się z twoim serwerem. stronka wychodzi ale nie można niczego zmieniać

    Były wgrane złe pliki HTML. Teraz powinno działać.

    P.S.
    Mam DDOS'a :D
  • #15
    MasterMatan
    Poziom 21  
    damiano713 chwała ci! projekt mi ruszy z kopyta ;) a już się zastanawiałem cz trzeba będzie kupić terminal a tu proszę, jak znalazł i prądu mniej żreć będzie ;]
  • #16
    rasz
    Poziom 21  
    michalko12 napisał:

    No to nie ma sensu wyłamywać otwartych już drzwi, są przykłady z FreeRTOSem i lwIP.


    gdyby tak do tego podchodzić to

    damiano713 napisał:

    Razem wychodzi 100zł za jedno urządzenie detal.


    nie ma sensu przy

    http://wiki.openwrt.org/toh/tp-link/tl-mr3420

    400MHz
    flash: 4MB
    RAM: 32MB
    WLAN
    5x ethernet 10/100
    1 x USB 2.0
    kilka GPIO
    dowolnie modyfikowalny firmware Linux

    Link
  • #17
    michalko12
    Specjalista - Mikrokontrolery
    rasz napisał:
    nie ma sensu przy

    http://wiki.openwrt.org/toh/tp-link/tl-mr3420

    400MHz
    flash: 4MB
    RAM: 32MB
    WLAN
    5x ethernet 10/100
    1 x USB 2.0
    kilka GPIO
    dowolnie modyfikowalny firmware Linux

    I zastosujesz to do seryjnej produkcji czy raczej nadaje się to do rzeźby?
  • #19
    rasz
    Poziom 21  
    michalko12 napisał:
    rasz napisał:
    nie ma sensu przy

    http://wiki.openwrt.org/toh/tp-link/tl-mr3420

    400MHz
    flash: 4MB
    RAM: 32MB
    WLAN
    5x ethernet 10/100
    1 x USB 2.0
    kilka GPIO
    dowolnie modyfikowalny firmware Linux

    I zastosujesz to do seryjnej produkcji czy raczej nadaje się to do rzeźby?


    To jest mały komputer. Podpinasz pod USB własną listwę I/O i masz kontroler IO z ethernetem. Choćby coś z http://www.obdev.at/products/vusb/prjcontrol.html

    Plusem jest czas i dostepnosc, Flaszowanie po www to 5 minut.
  • #20
    uzi18
    Poziom 23  
    Konwerter usb/1wire na kosci dallasa linux wykrywa bez najmniejszych problemow, musze tego tp-linka wyprobowac ...
    W sumie aktualnie laduje tylko modul jadra i jade 1wire na gpio, usb jest ladniejsze bo bez lutowania ;)

    Mimo wszystko bardzo mi sie podoba rozwiazanie z tematu, nawet jesli prosciej i szybciej mi aktualnie uzywac wrt54g ;)
    Przyznam szczerze ze na podobne rozwiazanie zbieralem sie 1,5 roku.
    Brawa za wlozona prace.
  • #22
    damiano713
    Poziom 14  
    Cytat:
    Pytanie mam o aplikacje files2flash gdzie znajde o niej wiecej info ? Przydalo by mi sie cos takiego w moim projekcie.

    A to takie własne dzieło. Bardzo proste, z plików tworzy obraz pamięci FLASH i wysyła po RS232. Wszystko zamieszczę niedługo na swojej stronie.

    Cytat:
    I zastosujesz to do seryjnej produkcji czy raczej nadaje się to do rzeźby?
    Dokładnie. Nie wiem jakby podszedł producent do wyjęcia bebechów ze środka, włożenia w własną obudowę i podpięcia rozszerzeń.
  • #23
    michalko12
    Specjalista - Mikrokontrolery
    Tak z ciekawości zapytam.
    Ile zajmuje miejsca na dysku aplikacja napisana pod QT4 np. taka jak "MegaGUI" (razem z wymaganymi bibliotekami) ?
  • #24
    damiano713
    Poziom 14  
    437kB to rozmiar binarki.
    Na Linuxie jest to 201kB.

    W Windowsie niestety nie ma systemu zarządzania bibliotekami. Na dysku mam 15 kopii samej biblioteki QT4.
    Razem z bibliotekami to 13.6MB (QT4 + FTDI D2XX)
  • #25
    michalko12
    Specjalista - Mikrokontrolery
    damiano713 napisał:
    Razem z bibliotekami to 13.6MB (QT4 + FTDI D2XX)


    Sporo. Kiedyś Lazarus mnie przeraził, byle okienko to było 2-3MB, ale widzę, że to nie jest wcale tak dużo :)

    Teraz ćwiczę SWT i tu jest trochę lepiej, biblioteki do SWT to mniej niż 2MB.
  • #26
    damiano713
    Poziom 14  
    Cytat:
    Teraz ćwiczę SWT i tu jest trochę lepiej, biblioteki do SWT to mniej niż 2MB.
    Zobacz proszę co zawierają biblioteki QT4. To nie jest GUI. To jest wszystko :)
    Od przeglądarek internetowych po obsługę algorytmów wideo.
  • #27
    marekdrobin
    Poziom 13  
    Super projekt, szkoda że nie możesz udostępnić całego programu tego urządzenia. Jeśli możesz to podaj przynajmniej materiały które pomogły Ci go zrealizować. Po prostu chciałbym coś podobnego samemu zbudować
  • #29
    michalko12
    Specjalista - Mikrokontrolery
    uzi18 napisał:
    swt to java, a ona tez swoje miejsce w systemie zajmuje ~100mb


    W sumie prawda, z tym, że jak bym chciał udostępnić program to JAVY nie muszę udostępniać.
  • #30
    uzi18
    Poziom 23  
    tak samo biblioteki qt4 tez nie trzeba - kazdy moze sobie sciagnac ze strony nokii :P
    swoja droga nie wszystkie dll-ki sa zawsze potrzebne.

    @damiano713: Tak swoja droga widzialem wlasnie projekt qmikroide i musze powiedziec ze wlasnie zamiast tego duzo prosciej dzieciaki nauczyc na arduino, to jest zwykla atmega + bootloader + ftdi, program piszesz klikasz upload, on sie kompiluje i flashuje. Jest do tego gotowe dosc proste ide w java. Latwo kazda plytke zobic kompatybilna z tym standardem.
    Program pisze sie na troszke wyzszym poziome niz C ;) (czyt. bardziej obiektowe C)
    Dodatkowo jest dostepne wiele bibliotek do roznego sprzetu.