Mrknul jsem na internet a nasel jsem, ze je mnohem snadnejsi (a take trosku levnejsi) sehnat Etherent shield s cipem Microchip ENC28J60. Tento shield zrejme mnohem vice odpovida klasicke karte v PC, tedy je treba mit SW TCP/IP stack; chip se pripojuje k CPU pres SPI rozhrani. Shield s Microchip chipem zrejme neni s Wiznet W5100 kompatibilni (jak je v clanku zmineno, W5100 implementuje TCP/IP stack v HW).
Takze jsem studoval a pochopil, ze tento shield neni officialni Andruino shield. Je to alternativa. Ale protoze je TCP/IP stack pro tento shield softwarovy, tak jiz snad existuje i verze s podporou IPv6. Na druhou stranu, pozadavky na zdroje vlastniho CPU budou znacne vyssi, nejvetsim limitem bude RAM :-( Tento shield bude vhodny pro Andruino s ATmega128 a lepsimi CPU…
„konkurencni“ projekt obdobneho charakteru je ethernut, zrovna davam dohromady desku, http://www.ethernut.de
Osobně jsem na kontaktním poli vyzkoušel jedno minimalistické zapojení s atmega8 + enc28j60
http://www.tuxgraphics.org/electronics/200611/embedded-webserver.shtml
Sice jsou vlastnosti MCU (1 kB RAM, 8 kB Flash) omezující, ale funguje.
A je zde jeste jeden rozdil mezi EtherNut a Arduino. Ethernut je primarne navrzen pro „ethernetove aplikace“, tomu odpovida i HW, kdy je ethernetovy port zakladnim vybavenim desky a kde nejslabsi Ethernut je postaven kolem ATmega128, coz je znacne lepsi CPU nez ATmega8/168/328 (Arduino); rozdil neni ve vykonu, ale v mnozstvi dostupne pameti, hlavne RAM. Pak, EtherNut se nevaze jen na 8-bit AVR CPU, dnes existuje i deska pro ARM a mozna i jine platformy.
Ardruino se spise hodi na jednodussi veci, na pokusy se senzory, rizeni malych robotu, pripadne jako externi jednotka k PC. Ethernet je jen jednou z moznosti a nezda se mi jako uplne idelni, spise je to ukazka, ze to take jde udelat (externi HW TCP/IP stack, jen IPv4). Pokud clovek vazne uvazuje o psani SW pro Etehrnet, EtherNut je lepsi volba nez Arduino s Ethernet Shieldem.
Pro zacatecnika s „embedded systemy“ se mi zda Arduino jako lepsi volba. Nejsem si uz tak jisty zda je dobre zacinat hned s Ethernet Shield. Ale treba me autor v serialu presvedci, jak moc se mylim…
Jeste jeden dulezity rozdil je ve zpusobu programovani. Andruino ma uz v CPU nahrany zakladni firmaware, ktery umozni nahrani uzivatelskych aplikaci pres USB/RS232. EtherNut nic takoveho nema pokud vim (zmenilo se snad neco?) a pro jeho programovani potrebujete jeste programator, tedy dalsi malou krabicku, ktere se pripoji mezi PC a EtherNut. Programatoru existuje mnoho, pro ruzna rozhrani USB/RS232/LPT. S timto programatorem lze pak treba i prepsat zavadec v Arduino desce… ;-) Pokud nemate ISP programator, pak vyhoda pro Arduino.
S vývojovým prostředí Arduina snadno zbastlí jednoduchý program kdekdo. Tím ale síla vývojového prostředí končí.
S IDE Arduina se vše programuje v nekonečné smyčce, bez přerušení, bez uspávání. Jinak v něm programovat prakticky nelze.
I ten pitomý teploměr s displejem funguje mnohem hůř, než by mohl. Proč? Protože když se posílají data na displej, nelze číst teplotu. Alespoň trochu zkušený programátor by nechal procesor spát, a probouzel by ho událostmi jako „čas pro měření teploty uplynul“, „na displej je možné odeslat další bajt“.
Takže Arduino má několik slabin:
- IDE
- Hardware, který se nemusí vypořádat s uspáním procesoru (některé verze mají nevhodný stabilizátor)
- Nechápu, proč použili drahý samostatný USB<->serial čip (který navíc natvrdo obsadil sériový port ATmegy) namísto ATmegy s USB, nebo chytrého firmware, které USB protokol na té nejnižší rychlosti také zvládne.
Jako hardware na pokusy mi přijde zajímavý také Teensy. je menší, má nativní USB, a je levnější. Lze jej také programovat pomocí Arduino IDE. http://www.pjrc.com/teensy/
Vse nasvedcuje tomu, ze IPv4 bude v dohledne dobe nahrazeno IPv6. Vsechny tyto male krabicky vsak podporuji jen IPv4. Co s nimi bude za cca 5let? Konkretne treba Ethernet Shield s W5100 ma IPv4 zadratovan v HW, takze neni zadna moznost jak zmenou SW rozsirit jeho moznosti o IPv6; deska se bude muset vymenit. A vubec, neni IPv6 prilis narocny na zdroje v porovnani s IPv4? Lze IPv6 implementovat s 8-bitovym jednocipem?
Lze, neni tam moc velkej rozdil, jen ARP cache a podobne se trochu natahnou, takze se musi vic setrit RAM. Z hlediska stavu a nutne RAM je stejne nejhorsi „stav“ TCP konexe jako takovej. Proto hodne tehle veci podporuje spise UDP, kterezto daleko mene narocnejsi je… A to nejen na RAM. Obecne je ale ne moc dobrej napad, delat tyhle zarizeni „autonomni“ ve smyslu, aby mely „web server“ a pod. Daleko lepsi je to implementovat skrze nejakej server, kterej muze udelat patricne rozhrani a komunikovat UDP. Kazdej bajtik RAM se vyvazuje pomalu zlatem :) Jeden z duvodu, proc je SNMP na UDP…
R.
Tady jsem nasel konkretni implementaci IPv4/IPv6 stacku pro male procesory, project „contiki“:
http://www.sics.se/contiki/contiki-6lowpan-uipv6-faq.html
Rozhodně nic nenasvědčuje tomu, že IPv4 bude v dohledné době *vypnuto*. Pro tato malá zařízení by sice byla podpora IPv6 fajn, ale rozhodně to není věc, kvůli které bych byl ochoten obětovat další drahocenné kB operační paměti.
Pokud bych potřeboval věc přístupnou přes IPv6, udělal bych si aplikační proxy na nejbližším serveru/routeru.
DD,
musim rict, ze s ethernetem na arduinu jsem si uzil „svoje“, kdyz uz autor clanku neco takovehoto pise, tak by mel ptidat nejakou dalsi informaci.
Osobne jsem arduinu vyrobil sam… http://arduino.cc/en/Main/ArduinoBoardSerialSingleSided3
Ono nakonec clovek zjisti, ze to arduino neni o te desticce, ale pouze o vyvojovem kitu, takze misto ethernet shieldu pouzivam podstatne levnejsi WIZ812MJ (napr. zde http://www.soselectronic.cz/?str=371&artnum=72158). A cele arduino je zredukovane pouze na Atmegu,s tabilizoator, a prevodnik UART – RS232.
Mohly tu byt zmineny problemy s restartem, problemy s verzema knihoven, apod.
JPA
Pokud chcete něco na Arduino, tak doporučuji se podívat na www.hwkitchen.com I když je obchod na com doméně a v angličtině, sídlí v ČR a má jednoznačně největrší výběr. Mailovat samozřejmě můžete česky.
Jen drobnost, Atmel je americká firma, sídlící v San José v Kalifornii, z Norska pochází jen návrh architektury AVR, kterou vyvinuli dva studenti tamní univerzity, prodali ji Atmelu a založili jeho místní pobočku (viz en wiki).
Jinak AVR je super procesor, s dobrým IDE a trochou fantazie se s ním dají dělat kouzla, viděl jsem i zajímavý FFT spektrální analyzátor s grafickým LCD displejem, vypadalo to opravdu pěkně. Hodně štěstí všem :)
presne takovyto serial jsem hledal (stavim si po vecerech roboty a ted jsem se dostal konecne k tematu mobilnich robotu, kde se podobna vecicka vzhledem ke sve velikosti a svym narokum na zdroje velmi hodi.) Preji hodne tvurcich napadu a hlavne hodne dilu serialu ;)
jj, robotika.cz znam. citavam jeste krome dalsich webu i casopis robotrevue. v minulem cisle shodou okolnosti vysel prave clanek o Arduinu: http://www.robotrevue.cz/2010/06/16. Nechci tu samozrejme delat nejakou reklamu ale pro zajemce o robotiku muzu jen doporucit.
Někdo má rád holky, jiný zase vdolky. I na serveru www.mcu.cz, který se zaměřen na jednočipy, píší o Arduinu, i když je to se „slabým procesorem“, programuje se to „hroznou odvozeninou od C“ a tisíc dalších výhrad. Je pochopitelné, že když někdo chce blikat pár světýlkama, tak mu na to zcela jistě arduino vystačí. Ale na webserver, obsluhující několik zájemců, je asi lepší nějaký výkonnější čip. Ostatně ani ARM není jako ARM. ARM typu Cortex M0 je mnohem slabší než třeba dvoujádrový Cortex A9.
…jak arduino i ten wiz5100, s tim ze si chci udelat regulaci kotle s ovladanim pres eth, zatim jsem nastudoval furu materialu, vyzkousel nejaky zakladni programy. V soucasne dobe bohuzel nezbyva casu, tak doufam ze po prazninach zacnu. Jsem rad za takovyto serial.Treba casem taky prispeju v diskuzi. Diky.
http://www.lupa.cz/clanky/strastiplnost-hackovani-domaciho-vysavace/
I takto lze Arduino vyuzit, mozna ze je to zabavnejsi nez jeho pripojeni k Ethernetu :-) Jen ta sranda stoji znacne vic…
K čemu to je? V obchodu s elektrosoučástkami koupím: krystalový oscilátor, ATMegu, nějaké dráty, kontaktní pole a konektor na paralelní port (místo programátoru). Nejen, že je to daleko více upravitelné, ale za vyvinutí trochu námahy získáte buď za stejnou cenu daleko lepší šváb.
Odpovím v zájmu přehlednosti najednou:
Norský Atmel – Moje chyba, měl jsem to špatně zafixované, omlouvám se.
„kdyz uz autor clanku neco takovehoto pise, tak by mel ptidat nejakou dalsi informaci.“ – když už čtenář něco takového píše, mohl by si všimnout, že jde o SERIÁL, tedy že další informace budou pravděpodobně následovat v dalších dílech.
„Proč Arduino, když stačí ATMega + NKP + krystal + …“ – prostým porovnáním dostupnosti pro čtenáře vyšlo Arduino jako nejlepší volba. A dostupností mám na mysli ne to, že je kde koupit jednočip, ale že pro výrazně větší čtenářskou skupinu je výrazně snazší koupit Arduino a připojit ho USB kabelem, než se mordovat se součástkami. Cílem seriálu není ukázat „jak si vyleptat PCB a vytvořit vlastní zařízení a naprogramovat ho drátama připojenýma na paralelní port“. Cílovou skupinou je čtenář, co by si rád zkusil něco jiného než programování, ale není si jistý, že zvládne nějaké složitější zařízení prodrátovat a odladit, takže by se do bastlení na NKP nepustil.
„Proč Ethernet shield, proč ne ENC28J60 / cokoli“ – z podobného důvodu: Je dostupnější většině čtenářů a je pro ně snazší připojit shield než prodrátovat ENC28J60. Přesně jak zaznělo v jednom z komentářů: Pro začátečníka je Arduino lepší.
„Proč ne IPv6?“ – protože si s IPv4 pro demonstraci vystačíme a bude fungovat všem. (Ironicky dodám: počkejte až uvidíte, jak získáváme MAC adresy, to puristi omdlí hrůzou…)
„Proč ne JavaME?“ – protože není důvod. Máte-li s tím zkušenosti, napište, rádi takový článek zveřejníme.
„Proč Arduino, proč ne jiný kit?“ – Opět: Rozhodla dostupnost a rozšířenost. Jiné kity mají své výhody, ale když bereme dohromady cenu, dostupnost a snadnost práce, tak Arduino vede.
„Arduino je ideově pochybené“ – Nobody's perfect. Chceme ukázat, jak jednoduše postavit HW zařízení s připojením na net, s minimem nákladů a minimem programování; spíš nám půjde o hraní s HW, o to, aby se čtenáři pobavili a zkusili si něco postavit, než o inženýrsky přesný kurs návrhu embedded zařízení a jejich programování. Arduino, přes všechny nevýhody, je pro takové použití jasný favorit. Ale nebojte, zmíním i jak lze psát aplikace v AVR GCC a pálit je do Arduina přes bootloader. ;)
Tak asi tak. Omlouvám se všem zkušeným hardwaristům, že jim seriál nepřinese nic zajímavého, a s těmi, kteří si chtějí s jednočipy pohrát a hledají vhodný začátek, se těším nashledanou u dalších dílů.
v hardware se vůbec nevyznám, a třeba slovo mikrokontrolér mi nic moc neříká, ale narazil jsem na český projekt, jmenuje se FITkit, nevím, asi to bude trochu složitější než arduino a nevím jak je to s dostupností. Vyvíjí a zaštiťuje to FIT VUT brno.
http://merlin.fit.vutbr.cz/FITkit/uvod.html
Zajimavy projekt. Lze to koupit? Jaka je cena? Nemaji eshop a prestoze maji zverejnenou dokumantaci, na postaveni doma je to docela slozite… Jinak, je to znacne slozitejsi v porovnani s Arduino. A pritomnost programovatelaneho FPGA dava uplne projektu novy rozmer, student se uci nejen programovat MCU (zmeny SW) ale take FPGA (zmeny HW). MCU je 16-bitovy od TI. FPGA je Spartan3 od Xilinx (192 bunek).
Fitkity se půjčujou studentům FITu na dobu studia. V dohledné době s nebudou nikam dál nijak distribuovat.
Během studia je na HW zaměřených několik povinných předmětů, kde se právě na Fitkitech dělají projekty. Nejsou moc náročné, spíš takové první seznámení s naprosto jiným programátorským přístupem. Můžu za sebe říct, že je to opravdu přínosné, i když programovat HW (FPGA) není sranda a než se do toho člověk dostane, jsou to týdny až měsíce dřiny…
Jsem studentem FIT a můžu jen potvrdit, že zakoupit oficiálně zatím nejde. Ale kdesi na fórech se o tom diskutovalo a nechtěli ho prodat ani studentovi. Jak je to teď netuším. Ovšem bylo by možné se domluvit s nějakým studentem, který by ho prostě „ztratil“ a případný zájemce o koupi by pak za něj nahradil škodu a třeba mu dal něco na pivo ;-) To je zatím jediný mě známý způsob jak FITkit získat do osoboního vlastnictví.
Jinak je to pěknej kousek HW. Jak už bylo zmíněno, tak to má FPGA pole a programovat si vlastní HW je uplně něco jiného. Taky to má standardní rozhraní téměř pro cokoli – klávesnice, myš, VGA monitor, 3,5" jack, vlastní displej (u fitkit 2.0 dvouřádkový, numerickou klávesnici, atd.
Jde s tím udělat opravdu téměř cokoli. S trouchou snahy by se to dalo přestavět i na osobní počítač se vším všudy, ale kdo by to dělal :-) Cenově ale bude určitě mnohem dražší než arduino. Tipoval bych to minimálně na 5 000 Kč za kus, ale to je jenom můj odhad, kterej může bejt úplně mimo :-)
Zdravim,
delsi dobu resim audio prehravac domu s nasledujicimi pozadavky:
- rychle bootovani (tedy zadne PC)
- nizka spotreba
- moznost pripojeni externiho USB disku
- podpora MP3
- opticky audio vystup
- ovladani pres Bluetooth (mobil)
Neslo by to realizovat pomoci Arduino? Neznate nekdo platformu, ktera by to podporovala?
diky za info
Nie
1.) Malo pamete,
2.) Urobyt bitbang USB mastra je takmer nemozne. (aj klient zozerie vedsinu systemoveho casu)
3.) bluetooth modul je dost drahy a ak nebude len ako bluetooth ↔ serial tak zas spotrebuje dost procesoroveho casu. A na bluetooth ↔ Serial bude spotrebovat aplikaciu v mobile.
Zaver: Zabudni na bluetooth ovladanie a kup si nejaku lacnu krabicku od Fantecu ci ineho vyrobcu tychto srand.
slo, ale ne samostatne. pokud skrtneme opticky vystup a bt, staci si koupit toto:
http://www.vinculum.com/prd_vmusic1.html (do cech to vozil jeden cas asix).
jinak na bt je potreba koupit bt modul s podporou seriaku nebo spi, coz je par dalsich tisic.
sveho casu byly projekty, ktere pouzivaly avr na prehravani mp3 z hdd/cdrom a mely paralelni ata rozhrani. mp3 to prehravalo tusim pres ten chip od vlsi, ktery je na te eval desce od ftdi.
opticky audio vystup je problem, ale asi by se to dalo vymyslet. na avr je moc rychly, pokud ma tedy delat jeste neco jineho. asi by to slo vymyslet, ale spis bych pro tohle avr nedoporucoval.
muzu se na to podivat a vymyslet reseni, ale tohle zadarmo nedelam.