Jaki MCU do TCP/IP?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
Tak z czystej ciekawości zapytam, jak mikrokontroler to absolutne
minimum, gdy chcemy się bawić w transmisję danych przez
Ethernet/Internet bez zaprzęgania do pracy układów w rodzaju W5100?
Chodzi mi o coś w rodzaju ENC28J60, gdzie mamy załatwioną obsługę ramek
ethernetowych, ale bez sprzętowego TCP/IP.

Coś w rodzaju Atmegi64/128 wystarczy? A może jednak potrzebna będzie
jakaś większa Xmega albo nawet nie powinno się do tego podchodzić bez
32-bitowego ARM-a? Może wskazane jest zastosowanie jakiejś zewnętrznej
kostki RAM na przychodzące/wysyłane pakiety?

Re: Jaki MCU do TCP/IP?
W dniu 2013-10-07 21:49, Atlantis pisze:
Quoted text here. Click to load it

tylko po co rzeźbic w gównie jak mamy fajne STM32 ?

Re: Jaki MCU do TCP/IP?
On 07.10.2013 21:49, Atlantis wrote:
Quoted text here. Click to load it

PICki dobrze sobie z tym dają radę, mikrocip udostępnia nawet gotowe  
stosy tcp/ip - było to dobrze opisane w którymś z numerów EP.

Tu zobacz: http://tinyurl.com/35aw9pd

--  
Pozdrawiam
Jakub Rakus

Re: Jaki MCU do TCP/IP?
wrote:
Quoted text here. Click to load it
gotowe  
Quoted text here. Click to load it

Odpalilem microchipowy stos na 18f25k20  (64Mhz, 32kb flash 1500  
bajtow ram) z enc28j60. W tych zasobach zmieścił się tcp, udp,icmp,  
dhcpd, dns (resolver) , httpd (własny, nie microchipa) i karta sd na  
doc root. Musiałem zwiekszyc stos do 512 bajtów bo domyślny 256 był  
za mały i się czasami  "przekrecal". Działalo, transfery na poziomie  
30 kB/s.Jeśli to Ci wystarczy to ok.  
Później przekompilowalem ten sam kod na 48Mhz pic32mx250f128 (te  
śmieszne małe w dip28) i transfery skoczyły do poziomu 300 kB/s.
Działa (tzn. działało dopóki kot nie postanowil zapolować na czujnik  
zostawiony na parapecie i stlukl fotoogniwo)  to jako serwer dla  
bezprzewodowego czujnika temperatury. Żądania typu włącz/włącz sa  
obslugiwane jako cgi, prezentacja wykresów temperatury jest przez  
highcharts, ktore pobierają generowany  plik csv z karty sd itp...
Do picka32 upchnalem jeszcze telnetd z imitacją shella w chrootcie  
(kilka podstawowych komend ) i logowaniem na root bez hasła (a  
jakże!). Całość wystawiona na publicznym IP, średnio dwa razy  
dziennie coś się loguje i próbuje pobrać wgetem explojta myśląc że to  
jakiś ruter wifi :-)...
 Podsumowując na 8bit można ale widać że się męczy, na 32bit śmiga.

--  
Marek

Re: Jaki MCU do TCP/IP?
tylko ze cenowo to nie wychodzi zbyt optymistycznie

Re: Jaki MCU do TCP/IP?
On 10/7/2013 9:49 PM, Atlantis wrote:
Quoted text here. Click to load it
Sprawdz wymagania stosu uIP. zdaje sie ze w 4kB RAMu sie zmiescisz.
Osobiscie uwazam ze 32bit CPU, OS i 128kB to minimum, wtedy tez jest
wiekszy wybor stosow TCP/IP. Latwiej sie tez pisze aplikacje sieciowe.
Nie da sie ukryc ze uIP ma ograniczenia sprawdzi sie do trasferu
danych z czujnikow, ale webservera to bym nie stawial.


Pozdrawiam


Marek






Re: Jaki MCU do TCP/IP?
W dniu 2013-10-07 22:50, Marek Borowski pisze:

Quoted text here. Click to load it

Chodzi mi oczywiście o coś relatywnie prostego. Czynność w rodzaju:
wywołujemy na zdalnym serwerze skrypt PHP, podsyłając mu parę zmiennych.
Skrypt zwraca wynik swojej pracy w formie prostej, nieformatowanej
strony www. MCU wyciąga z niej potrzebne dane i w oparciu o nie wykonuje
jakąś "fizyczną" czynność (załączenie przekaźnika, wygenerowanie
dźwięku, zapalenie diody).

Tudzież ewentualnie wystarczyłoby mocy obliczeniowej na coś takiego, jak
budowane przez ludzi sprzętowe "tickery" do Twittera, potrafiące
odbierać najnowsze wiadomości i wyświetlać je na LCD?

Re: Jaki MCU do TCP/IP?
W dniu 2013-10-07 23:25, Atlantis pisze:
Quoted text here. Click to load it
Użyj czegoś klasy rasberryPI, bo jak zaczniesz na 8bit coś takiego  
rzeźbić w guano, to tylko nogi z szambiarki ci będą wystawać. Albo  
zrazisz się całkowicie, nigdy nie skończysz projektu i tylko zmarnujesz  
siły i czas, bo zmiany w twitterze czy pejsbuku szybciej zachodzą niż  
będziesz w stanie dostosować swój projekt


--  
| Bartłomiej Kuźniewski
| snipped-for-privacy@drut.org  GG:23319  tel +48 696455098  http://drut.org/
We've slightly trimmed the long signature. Click to see the full one.
Re: Jaki MCU do TCP/IP?
Użytkownik "Atlantis"  napisał w wiadomości
W dniu 2013-10-07 22:50, Marek Borowski pisze:
Quoted text here. Click to load it


Hm, a nie odwrotnie - mamy na MCU serwer, z prosta strona, ktora przy  
okazji wykonuje pare akcji ?

Quoted text here. Click to load it

A tu juz moze byc gorzej, bo trzeba sie dodatkowo przez protokol  
Twittera przedrzec.
Nie prosciej postawic stary telefon ? Niektore twittera juz maja.

J.


Re: Jaki MCU do TCP/IP?
W dniu 2013-10-08 13:14, J.F pisze:

Quoted text here. Click to load it

To też zależy. Gdyby serwer miał być węzłem, do którego odwołuje się
kilka urządzeń wbudowanych, to wolałbym taki węzeł postawić na jakimś
Raspberry Pi, a końcówki zrobić na MCU.
Tak poza tym jakoś nieszczególnie przekonuje mnie idea serwera www na
ośmiobitowym MCU, taktowanym zegarem o częstotliwości kilku-kilkunastu
MHz...


Quoted text here. Click to load it

Można, ale akurat z Twitterem można robić całkiem fajne rzeczy na takim
Arduino. Pamiętam kilka projektów, niektóre były bardziej, inne mniej
użyteczne. Na przykład:
1. Klucz telegraficzny do publikowania wiadomości.
2. Urządzenie drukujące nowe wiadomości za pomocą (bodajże) drukarki
termicznej.
3. Lampka RGB dostosowująca swój kolor do nastrojów panujących na
świecie, określanych na podstawie analizy hashtagów,

Jestem ciekaw jak łatwo byłoby uzyskać podobny efekt na zwykłym MCU i
ENC. Jakoś nie przekonuje mnie idea budowania urządzeń w oparciu o
Arduino. Ta płyta to jak dla mnie narzędzie edukacyjne/deweloperskie,
dobre do sprawdzania koncepcji. Budując końcowy układ dobrze jest jednak
zaprojektować, wytrawić i zlutować płytkę. ;)

Re: Jaki MCU do TCP/IP?
W dniu 08.10.2013 20:30, Atlantis pisze:
Quoted text here. Click to load it

A co Arduino odróżnia od "zwykłego" MCU? Przecież to nazwyklejszy AVR z  
masą bibliotek. Kumpel na AVR postawił serwer www robiący za bramę do  
domowej automatyki i jakoś to chodziło (w czasie przeszłym, bo w tej  
chwili widzę, że jest wyłączone). Tym bardziej da się zrobić prostego  
klienta http, który będzie wysyłał, czy pobierał z serwera dane przez  
GET/POST. Schody mogą się zacząć jak będziesz potrzebował SSLa.

Na stronie microchipa masz gotowe przykłady na 8-bitowce z serwerem www  
pokazującym stan urządzenia:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId28%13&dDocName=en543032

A tutaj radyjko internetowe:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId18%24&appnote=en536169


Re: Jaki MCU do TCP/IP?
W dniu 2013-10-09 09:03, Zbych pisze:
Quoted text here. Click to load it
No właśnie ta masa bibliotek, które w dodatku są tak zrobione, że jakoś  
ze sobą współgrają, nie musisz się za bardzo zastanawiać, czy aby dwie  
użyte biblioteki nie pokłócą się np o użycie któregoś timera do czegoś.
Możesz to sam zrobić, ale po co - skoro już jest zrobione (napisane).  
Chyba że chcesz napisać lepiej.

--  
| Bartłomiej Kuźniewski
| snipped-for-privacy@drut.org  GG:23319  tel +48 696455098  http://drut.org/
We've slightly trimmed the long signature. Click to see the full one.
Re: Jaki MCU do TCP/IP?
Quoted text here. Click to load it

Ale MCU jest to samo i nikt nie broni używać tych bibliotek. Od strony  
sprzętowej Arduino to goły procek z programatorem.

--  
Grzegorz Niemirowski
http://www.grzegorz.net/
We've slightly trimmed the long signature. Click to see the full one.
Re: Jaki MCU do TCP/IP?
W dniu 2013-10-09 17:31, Grzegorz Niemirowski pisze:
Quoted text here. Click to load it
Owszem. Tylko że arduino (soft/biblioteki) wymusza użycie jednego z  
kilku avrów, które są supportowane. Ja np na razie nie znalazłem  
sprawnie działającego rozwiązania arduino+atmega 16

--  
| Bartłomiej Kuźniewski
| snipped-for-privacy@drut.org  GG:23319  tel +48 696455098  http://drut.org/
We've slightly trimmed the long signature. Click to see the full one.
Re: Jaki MCU do TCP/IP?
Użytkownik "Atlantis"  napisał w wiadomości grup
W dniu 2013-10-08 13:14, J.F pisze:
Quoted text here. Click to load it

Owszem.
Ale wtedy moga byc i inne rozwiazania - np MCU wysyla dane UDP, cos na  
serwerku odbiera, zapisuje na dysk, a potem serwer www podaje z dysku  
..

Quoted text here. Click to load it

Szumna nazwa, Serwer, a tak naprawde jakas drobnostke robi, i musi  
pare linijek tekstu odeslac.

No chyba ze chcesz ze ambitna strone :-)

Quoted text here. Click to load it

To ta bardziej uzyteczna ? :-)

Quoted text here. Click to load it

sa drukarki z bluetooth, byly komorki z Irda :-)

Quoted text here. Click to load it

Telefon ma kolorowy ekran :-)

J.


Re: Jaki MCU do TCP/IP?
Dnia Mon, 07 Oct 2013 21:49:11 +0200, Atlantis napisał(a):
Quoted text here. Click to load it

sugeruje jednak uzyc wiekszego - bedzie latwiej przeniesc program, niz
babrac sie na 8/16-bitowcu - co nie znaczy ze sie nie da.

Quoted text here. Click to load it

Kilkanascie KB na bufory to jest rozsadne minimum.  
No chyba ze to ma byc np zdalna klawiatura - to mozna sie ograniczyc
do kilku malych ramek.

Plus kawalek programu na protokoly, plus coraz wiecej protokolow i
wymagania rosna :-)

J.

Re: Jaki MCU do TCP/IP?
On Mon, 7 Oct 2013 22:54:38 +0200, "J.F."  
Quoted text here. Click to load it

Te bufory zapewnia encj, stos tcp (włączone tcp+ip+udp+dhcpd+dns)  
microchipa wymaga raptem kilkuset bajtow (ok 200) w mcu. Oczywiście  
można włączyć dodatkowe bufory w w pamieci mcu (lub innej,  
zewnętrznej np spi) ale tylko jeśli chce się szybszy transfer.

--  
Marek

Re: Jaki MCU do TCP/IP?
Quoted text here. Click to load it
rodzaju W5100?
Quoted text here. Click to load it
załatwioną obsługę ramek
Quoted text here. Click to load it
potrzebna będzie
Quoted text here. Click to load it
podchodzić bez
Quoted text here. Click to load it
zewnętrznej
Quoted text here. Click to load it

Ja swego czasu popełniłem mini stacyjkę meteo z  
transmisją po ethernecie. Chodziło toto na ATMega32 + ENC28J60  
(jeszcze z początkowej serii produkcji - z błędami).  
Wystarczyło to do obsługi ARP, TCP, UDP. Pisane przy  
wykorzystaniu którejś wersji uIP (chyba w wersji 0.8).  

Site Timeline