Fórum témák
» Több friss téma |
Fórum » Atmega32-vel Embedded web server+ videó interface
Témaindító: Higgins, idő: Feb 25, 2006
Témakörök:
Sziasztok!
Igaz nem PIC-es téma, de remélem azért vannak itt olyan emberek is akik értenek az Atmel chipekhez is! Nagy gondban vagyok a szakdogámmal kapcsolatban! Elvileg egy embedded webserver építése és gyakorlati alkalmazása volt a témám. A gyakorlati alkalmazás, hogy teszek rá egy hőmérsékletérzékelőt és böngészőben meg megjeleníteni! Ok! Ezzel nem is lett volna gond, több ilyen rajz van a neten stb! A problémám ott kezdődik, hogy a tanárom ragaszkodik ahhoz, hamár beágyazott rendszerről lévén szó, tegyek rá egy mini panelkamerát! Sokan az ATmega-s chipet javasolták, pedig előbb PIC-el kezdtem el! A kérdésem az lenne, hogy elég gyors az Atmega32 hogy UDP protokollon át 8-10 frame/s gyorsasággal átvigyen képet? /Csupán egy ilyen megvalósított kapcsolást láttam, de az nagyon lassú volt, egy Erricson csatlakoztatható kamerával csinálták, 2-3 frame /s -et tudott, szinte állokép! / Meg lehet csinálni, vagy hagyjam a csudába, és majd fél év múlva államvizsgázzak? Témaváltoztatásra már nincs lehetőségem, ilyen fába meg nem akartam vágni a fejszémet, de a tanárom erősködött és rá kellett bólintanom, mert ugye akkor nincs semmilyne önálló ötlet az egészben, ami persze jogos...de ennyire azért nem akartam bonyolult dolgot csinálni! Az észrevételeket várom, esetleg ha valaki egy linkel ha megdob annak is örülök! Főleg annak hogy a portokra beérkező csomagokat hogyna teszem UDP protokoll akárhányas portjára? A TCP/IP lib-el ismerkedem éppen a BASCOM AVR-ben! Előre is köszönöm! Üdv: Higgins
Hi!
Nem értem teljesen mi a problémád. Ha a BASCOM-ban van TCP/IP library akkor szerintem egészbiztosan van hozzá valami mintapélda is hogy a TCP/IP stack-et hogyan kell megírni. Vagy azt már tudod? Az UDP portosat sem igazán értem. Ha a kamerával képet küldessz, az szerintem abból áll, hogy berakod egy UDP csomag adatmezejébe a kamera képét és azt elküldöd. A portokat meg a csomag fejrészében kell variálni mint a TCP-nél. De a neten rengeteg leírás van egy UDP packet felépítéséről. Szerintem úgy megy hogy csinálsz egy fejlécet, mögérakod a kamera kép adatát az adat mezőbe, meg a farokrész ha van és elküldöd. A bejövő dolgokat is úgy kell kezelni hogy így bájtonként szétvagdalod az ethernet csomagot, kihámozod belőle a protokollt meg portot meg adatokat ami kell. Nézz meg néhány forrást a neten pl PIC-hez. Persze ennyire nem egyszterű mint ahogy leírtam. Nézd meg hátha van AVR-hez is tcp/IP stack gyárilag. Mert a PIC-hez van
Köszönöm a választ, de már én is rengeteg forrást átnyálaztam, de sajna ténylegesen egy példaprogramot sem találtam hogy hogyan kell a BASCOM AVR-ben UDP-t programozni! A másik kérdésem meg abszolút csak érdeklődés volt, hoyg elég gyors lesz-e az eszköz, vagy valami combosabb mikrovezérlőt használjak!
Sajnos egy kiábrándító dolog van, hogy az AVR /Atmel/ chipekhez nincs saját TCP/IP stack! Csupán egy webserver példaprogram van, meg egy TCP/IP library...ami mind szép és jó...csak ebből nem derül ki, hogy hozok létre UDP csomagokat, stb... Azért majd próbálkozom...mivel ezen múlika diplomám! Üdv: Higgins
Esetleg írj, avr.tavir.hu brigádnak, hátha tudnak neked segíteni. A PIC források többnyire assemblyben vannak, a hivatalos stack meg C-ben.
A sebességről. Gondolom 16MIPS a sebessége ennek a procinak. Szerintem ebből nem lehet még kitalálni hogy elég gyors-e. Én nem tudom hogy a kamerád hogy működik. Hogyan adja át a képinformációt például. Kell neki szólni hogy küldj egy képet és akkor küld? Mert ha így van és egy UDP csomagba akarod bepakolni akkor szerintem annyi van, hogy szólsz hogy csinálj képet aztán az előre generált fejléc mögé berakod a kamera adatait, és elküldöd. Ha így működik a dolog, akkor a kemara és a proci közti átvitel sebességétől függ a dolog. De a csomag generálása nem túl nagy idő. tehát valószinüleg elég gyors és 10 képet lazán lehet vele küldeni. Más kérdés hogy ha egy kép jó sok adatot tartalmaz mert nagy a felbontás, akkor nyilván ez is korlátozza, de csodálkoznék ha 320*240-nél jobb lenne.
Az avr,tavir.hu brigádnak már írtam! Hasonló UDP programozási javaslatot tettek, ami mind szép és jó, de pl egy hasonló példaprogramnak nagyon örültem volna, hoyg valami kiindulási alapom legyen, hogyan is kell egy UDP csomgaot előállítani.! Majd még keresgélek! A 10 kép/s az már tényleg elég jól hangzik, most adtál egy kis önbizalmat!
Már aludni sem tudok és az idegeim kikészülnek ettől a projec-től! Ezen áll vagy bukik, hoyg mérnök lesz belőlem vagy sem! Köszönöm a hozzászólásokat! Üdv: Higgins
Szerintem próbálj meg mondjuk számítógépen rendesen C-ben összerakni egy UDP csomagot. Mondjuk nem értem hogyhogy nem vagy vele tisztában, elvileg valami szg.hálózatok szerű tárgyból kellett volna tanulnod. Nézz körül a prog.hu-n, vagy goglizz egy making UDP packet vagy hasonló kulcsszóval. A felépítését könnyen megtalálod. De akár még egy PIC-es kódból is ki tudod emelni. Én találtam elég jól kommentezett dolgokat is, amiből jól látszik egy csomag felépítése. ISA kártyás web servereket építenek 16F877-essel.
Való igaz vizsgáztam számítógéphálózatokból, és 4-est kaptam! Szóval tudom hoyg épül fel egy UDP csomag, csak azt nem tudom, hogyan kell létrahozni, de ahogy javasoltad megnézem hogyna írták meg C-ben és akkor majd valahogy megírom Basicben! A C-t utálom, szóval azzal nem is görcsölök, bár megértem mi, miért van....
Kár hogy nem találtam UDP csomagra egy basic példaprogramot sem... Üdv: Higgins
Alapvetően úgy kell UDP csomagot csinálni hogy egy byte tömböt töltessz fel. Például ha neked kell az ethernet headert is csinálnod, akkor tömb[0]=0x01 tömb[1]:=0x02 stb... Aztán IP cím, protokoll header adat, cheksum meg ami még kell a csomagba. Így megcsinálod a tömböt. Nyilván a kamera képe nem fog beleférni egy keretbe, mert van maximális méret. UDP-nél nemtudom mennyi ez de gondolom kevesebb mint kéne. Aztán ha így megvan az AVR-ben a csomag, akkor send(tömb). Ez attól függ hogy milyen ethernet controller IC-t használsz, és hogyan írod meg hozzá a küldő és fogadó rutinokat.
Elkészült a Basic leírás AVR-re.
Bővebben TavIR AVR oldalon.
Helló!
Szép meló. Grat. Lesz folytatása? Pl a memória kártyáról weblapok és dinamikus tartalmak megjelenítése? Ha lesz én tuti rendelek egy panelt, már rég tervezem hogy csinálok egy ilyen servert. Már egy halom kapcsolást meg kódot összeszedtem, csak az elhatározás hiányzott. Meg egy pár másik projectben vagyok elveszve. (szkóp+PIC18F4550 USB)
Lesz. Most fordítom.
Egyenlőre nem memkártyából, hanem I2C-s eepromból veszi majd a WEBlapokat. Opcionálisan már ott van rajta a MMC foglalt, és amint megjelenik a DIP tokos Mega644 chip azonnal kész is. Ami megvan eddig kódként: A flash memóriában a weblap, ki/bemeneti lábak verérlése WEBen keresztül, Netidő beolvasása TimeServerekről, I2C memórába adatgyűjtés és visszaírás a HTML lapra, UDP szolgáltatás.... Csak az angolból fordítom és a mintakódokat alakítom ki. A szkóphoz sok sikert Én is gondolkodom rajta, az AVR lesz + FT245 USB illesztő.
Ez jól hangzik, nem elég a Mega32 hozzá? Vagy esetleg a készreszerelt TAVIR nyákot mondjuk egy smd kivitelű nagyobb procival árulni?
Amúgy az én szkópom FT232-vel lesz csak ellátva, mert a 245 se gyorsabb, csak ha a D2XX drivert használja hozzá az ember, és olyan programot ír rá ami tudja kezelni ezt a nagyobb adatsebességet. De az meg macerás. Ráadásul így a lasabb gépekkel is lehet használni, nem kell erőmű. Már a szkóp félig kész, ATMega16 van benne. A PC-s program is szépen alakul.
Megoldható. Azzal zárul majd a teljes leírás:
A dyndns.org oldalon regisztrálod a routeredet (azok belulrol altalaban valamilyen dynamikus DNS szolgaltatast tamogatnak). Igy nalam az engepem.dyndns.org cimen elerheto innentol a dolmi. A bejovo portbol pl. az 5000-eset atiranyitom a belul _fix_ (pl 192.168.0.125) IP cimu eszkozre a 80-as portra. Es ezzela Router beallitas kesz is, es innentol a netrol iselerheto a WEB oldaon keresztul!
De, eleg a M32 (ez a legkiseb proci a SRAM memoria igeny miatt. Felesleges a M128-as. Nalam is 32-essel van megcsilanva (ld az oldalon a fotok + kapcsrajz)
Ja dinamikus tartalom: Csak rajtam mulik, hogy az ethernet csomagot mivel toltom fel. Azuaz mar az elso kialakitas is dinamikus tartalmu Es feltorni meg ugyebar nem lehet. Ki az aki bascom+AVR alapu szervert hasogat?)))
Köszi!
|
Bejelentkezés
Hirdetés |