Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: vyvojář 26. 12. 2012, 00:31:36
-
Chtěl bych si vyzkoušet udělat nějakou blbinu a naprogramovat si k tomu do linuxu ovladač, ale moc nevím, co vše bych musel vlastně řešit. Řekněme, že bych si koupil nepájivý pole, jeden demultiplexor a nějaké diodky. Demultiplexor na základě hodnoty na adresových vodičích posílá na daný výstupní vodič vstupní signál.
Takže si říkám, že bych na výstupní vodiče demultiplexoru připojil ty ledky a pak bych chtěl z pc určovat hodnotu na těch adresních vodičích, co by mělo svítit. Asi u tohohle by zrovna nebyl ten problém, ale říkám si, kdybych měl něco složitějšího, jak se vlastně potom řeší třeba ten hodinový signál? Nebo když bych měl jednu ledku a chtěl bych, abych ji mohl rozsvěcet a zhasínat z pc, tak jak bych zařídil, abych tam dodával pořád napětí, aby svítila pořád?
Hodil jsem si do googlu jak psát ovladače pro linux a tam byla nějaká funkce outb, tak tím bych tu ledku asi rozsvicel, ale to bych to musel volat tu funkci pořád, ne? Jinak jsem na fitu ve druháku, máme tam předměty jako např. návrh počítačových systému, návrh číslicových systému, vím co to je demultiplexer, multiplexer, ..., ale vůbec nevím, jak bych z toho měl vlastně něco udělat, dá se to vůbec , nebo bych musel jít třeba na FEL?
-
S tímhle jsem si hrál poprvé na Gymplu ve 12-ti, sice jsem nevěděl, co to je Multiplexer a Demultiplexer, ale ledky mi blikaly a ovládal jsem s tím i poměrně složitý věci :P Jinak otázka je položená asi jako "Mám převodovku, vím co to je převodovka, jak z toho udělám auto?" ;D
-
Abych nebyl tak krutej:
A) Musíš se rozmyslet, jaké rozhraní pro komunikaci s tím zařízením použiješ, nejjednodušší je asi seriový port.
http://www.hw.cz/rozhrani/hw-server-predstavuje-seriova-linka-rs-232.html#programovy_model
Viz Google: RS232
B) Pak musíš vědět, jaký jazyk pro komunikaci s tím zařízením chce použít, asi bych řekl že C++
http://cboard.cprogramming.com/networking-device-communication/119973-rs232-serial-port-library-linux-windows.html
http://www.easysw.com/~mike/serial/serial.html
Viz Google: RS232+ "C++" +Linux
C) Pak se ti hodí vědět nějaké elementární věci o elektronice:
http://knihy.heureka.cz/elektronika-tajemstvi-zbavena-3-pokusy-s-cislicovou-technikou/specifikace/#section
Nejlíp si na to najít knížku, ale nehledej je na nahraj.to, není to správné.
D) Naučit se takovou věc, jako je třeba formulace otázky.
-
Otázkou taky je, jestli máš už s HW nějaké zkušenosti a jak moc to myslíš vážně. Docela slušně si můžeš ze začátku vyhrát s Arduinem, TI Lunchpadem, případně Raspberry PI.. Případně se na studijním na FITu optej na možnost zapsání předmětu z FELu, co by tě zajímaly (nejspíš pár věcí z kybery, na výpočetce se tohle moc nejede co vím z osobní zkušenosti).
-
physical computingem se zabyvam relativne dost uz par let a zacinal jsem na tom, ze jsem na seriovym portu jednotlive ovladal piny (= 3 vystupy a asi 4 vstupy) to same pak paralelni port. Na takovy blbnuti jsou super knizky od B. Kainky Vyuziti rozhrani PC a Vyuziti rozhrani PC pod Windows...
V dnesnich dobach jsem uz trosku chytrejsi a pouzivam seriovej port jako standardni RS232 rozhrani pro komunikaci tak, jak bylo navrzeno a jako komunikator s okolim pouzivam arduino, do kteryho nahraju standardni firmata, ktera z arduina udela jakysi most mezi okolnim svetem a PC s moznosti digitalnich vstupu a vystupu, analog. vstupu a vystupu ci sbernice i2c - vic mi vicemene staci... Knihovna fiirmata je navic univerzalni a je delana pro kvanta jazyku - posledni tyden treba blbnu s firmata na node.js
nevim co presne chces delat, ale chapiu asi dobre, ze je to jen nejaka blbustka a kvuli ni se chystat na psani driveru pro jadro je podle me blbost...
-
[offtopic - nic osobního]
Ach jo, tohle je přesná ilustrace toho, co nesnáším na našem školství - napereme do nich jakési pojmy, se kterými pak budou moci šermovat, ale všeobecný přehled v oboru, propojení všeho a ukázka, jak se to vlastně používá, na to už nám nezbyl čas :(((
[/offtopic - nic osobního]
Co se týče přímého ovládání z počítače z normálního OS, tak k tomu nepotřebuješ psát drivery, stačí použít sériový nebo paralelní port a používat normálně přes soubory v /dev. Ale maximum, co s tím rozumně dosáhneš, je blikání s ledkou nebo třeba zapínání nějakých relé, generování analogového signálu apod. Tam tě nějaká ta milisekunda nezajímá. O nic víc v podstatě nemá smysl se snažit, protože pokud nemáš realtime OS, nedosáhneš správného časování i kdyby ses na hlavu postavil.
Takže na cokoli víc je nejlepší použít nějaký ten mikrokontroler, kterému budeš posílat jenom povely typu "zapni ledku 1", "posílej na výstup 2 hodinový signál s frekvencí 50kHz" apod. a to přesné časování už budeš řešit v tom mikrokontroleru, kde toho dosáhnout jde (např. i maličký čip ATtiny za asi 50Kč je schopný *softwarově* emulovat USB1 a s časováním celkem nemá problém). Mikrokontroler můžeš programovat v C/C++, takže žádný megahardcore to není. Existuje spousta knihoven, která z toho programování dělá v celkem trivialitu.
Co se týče výběru toho mikrokontroleru, AVR od Atmelu je asi docela dobrá volba, pokud nemáš důvod volit něco jiného. Já osobně bych spíš než Arduino doporučil JeeNode, který je postavený na stejném čipu (takže se programuje stejně, jsou k dispozici stejné knihovny), ale má tu výhodu, že výstupy jsou pěkně uspořádané tak, že můžeš připojovat různá zařízení a hezky je řetězit za sebe nebo vedle sebe, což s Arduinem dost dobře nejde. Nevýhodou je menší portfolio zařízení a trochu vyšší ceny (Číňani zatím JeeNode neobjevili...)
Stačí si koupit JeeLink (bezdrátový USB dongle) a jeden JeeNode - a můžeš krásně z PC ovládat cokoli bezdrátově.
Koukni: http://jeelabs.com/collections/all
Nebo pokud chceš co nejlevnější věc, tak asi tohle: http://dx.com/p/nano-v3-0-avr-atmega328-p-20au-module-board-usb-cable-for-arduino-118037
-
Já nevím, jestli je to školstvím. Myslím, že je tak nastavená společnost. Rozkejvat dětičky k něčemu navíc - k tomu je potřeba nadlidská síla. Nejhorší předměty: praxe (kde se musí pájet) a měření (kde se musí nejen něco zapojit, ale ještě taková hrůza jako přemýšlet). Hlavně nechtít po nikom, aby věcem rozuměl - namalujte obrázky a zmizte.
[offtopic - nic osobního]
Ach jo, tohle je přesná ilustrace toho, co nesnáším na našem školství - napereme do nich jakési pojmy, se kterými pak budou moci šermovat, ale všeobecný přehled v oboru, propojení všeho a ukázka, jak se to vlastně používá, na to už nám nezbyl čas :(((
[/offtopic - nic osobního]
-
Ahoj,
rozmysli si, na co to budes pouzivat.
a) jen na hrani - asi bych otevrel PCko, a kouknul se, jestli na MB neni vyvedeny paralelni LPT port. Ten je na takove to domaci hrani asi nejjednodussi na pouziti. Pokud tam bude, nechaji se koupit brackety, kterymi port vyvedes ven z case.
Z PC periferii se da jeste rozumne bastlit s seriovym portem, nebo PS2, u kteryho jsi ovsem omezeny v podstate jednosmernou komunikaci. Vytvaret si vlastni PCI(E) device je nerealny, USB device bez dedikovanyho obvodu taky neni trivialni, o SATA nemluve. Proste PC uz je technologicky dneska o par levelu dal, nez je domaci bastlic. Proto bych spis doporucil bod b) :))
b) na nejake to serioznejsi ovladani - koupil bych nejaky linuxovy ARM/cokoliv board s ethernetem a vyvedenym GPIO. - Treba raspberry pi. Po ethernetu, resp. SSH so budes s Rpi povidat, a samotne Rpi ma dost ruznych vstupne/vystupnich pinu, na ktere se da rozumne sahat jak z C/C++, nebo pomoci knihoven treba primo z BASHe. A na piny uz muzes povesit LEDek, nejakych multiplexeru atd kolik budes chtit. Kdybys s tim Rpi potreboval poradit, klidne se tu ptej, myslim ze mimo me je tu dost lidi, kteri uz ho maji trochu v ruce.
-
Nejlíp si na to najít knížku, ale nehledej je na nahraj.to, není to správné.
No nekecej, a odkdy? Musí si to teda vypůjčit v knihovně a doma oskenovat, aby to bylo v pořádku? Neupadnuls náhodou po tom rumu na hlavičku?
-
Já nevím, jestli je to školstvím. Myslím, že je tak nastavená společnost. Rozkejvat dětičky k něčemu navíc - k tomu je potřeba nadlidská síla. Nejhorší předměty: praxe (kde se musí pájet) a měření (kde se musí nejen něco zapojit, ale ještě taková hrůza jako přemýšlet). Hlavně nechtít po nikom, aby věcem rozuměl - namalujte obrázky a zmizte.
[offtopic - nic osobního]
Ach jo, tohle je přesná ilustrace toho, co nesnáším na našem školství - napereme do nich jakési pojmy, se kterými pak budou moci šermovat, ale všeobecný přehled v oboru, propojení všeho a ukázka, jak se to vlastně používá, na to už nám nezbyl čas :(((
[/offtopic - nic osobního]
Oba máte pravdu, hrozný!
Za to může naše společnost, kdy papaláši si vlastně nepřejí, aby člověk přemýšlel.
Televize nechce, abys přemýšlel.
Film vlastně nechce, abys přemýšlel.
Řada počítačových her je udělaná tak, aby člověk nepřemýšlel.
ATD..
Knížku můžeš odložit a zamyslet se nad těma blbostma co ten člověk píše a pak pokračovat.
Zastavovat film je řekněme neobvyklé a v televizi to ani nejde.
Otázka je, jestli je pak ještě na místě to označení "homo sapiens sapiens" ::)
-
Ve třeťáku budeš podobné věci dělat v laboratořích předmětu IMP (http://www.fit.vutbr.cz/study/course-l.php.cs?id=107). Dále si třeba zapiš volitelný ITP (http://www.fit.vutbr.cz/study/course-l.php.cs?id=242). Pokud se ti nechce čekat, nějaké záznamy jsou z přednášek a demo cvičení IMP jsou na video serveru ;-).
-
Ve třeťáku budeš podobné věci dělat v laboratořích předmětu IMP (http://www.fit.vutbr.cz/study/course-l.php.cs?id=107).
Jestli on není spíš na FIT ČVUT, když se zmiňuje o FEL :)
-
To mi nedošlo, omlouvám se.
-
Díky všem, na vše se postupně podívám. Jinak jsem na VUT, ani nevím, proč jsem nezmínil spíš FEKT. Mě zajímá spíš ta možnost ovládání HW z PC, respektive programování driverů, mikrokontrolerů,.... Mám hrozně rád jazyk C a C++ a tohle mi přijde tak nějak sexy :D. Vždycky jsem si představoval, jak si budu sestavovat různý hw, do kterého pak budu cpát embedded linux a bude mi to ovládat co já vím třeba stahování rolet u oken nebo cokoliv :). Nejdál jsem se ale zatím dostal tam, že jsem se nějak pokoušel si naprogramovat vlastní jednoduchý OS a k tomu nějaké ovladače, třeba na klávesnici, ale ani už nevím, kde jsme se zasekl, asi už někde u teorie :)
-
Tak jestli jsi na VUT, tak to nemáš daleko do Blanska, takže pokud bys chtěl, můžeš se za náma stavit na http://un-xovani.gosw.cz - momentálě si právě s mikrokontrolerama hrajeme, takže pomocná ruka by k dispozici byla a fantazii se meze nekladou :)
Termíny na leden ještě dohodnuté nemáme, ale kdybys měl zájem, můžeš se buť ozvat na kontaktní mail, nebo tu stránku sledovat, kdy se tam nějaký termín objeví. Nemělo by to dlouho trvat, ale obvykle to tam dávám na poslední chvíli :)
-
Já nevím, jestli je to školstvím. Myslím, že je tak nastavená společnost. Rozkejvat dětičky k něčemu navíc - k tomu je potřeba nadlidská síla. Nejhorší předměty: praxe (kde se musí pájet) a měření (kde se musí nejen něco zapojit, ale ještě taková hrůza jako přemýšlet). Hlavně nechtít po nikom, aby věcem rozuměl - namalujte obrázky a zmizte.
[offtopic - nic osobního]
Ach jo, tohle je přesná ilustrace toho, co nesnáším na našem školství - napereme do nich jakési pojmy, se kterými pak budou moci šermovat, ale všeobecný přehled v oboru, propojení všeho a ukázka, jak se to vlastně používá, na to už nám nezbyl čas :(((
[/offtopic - nic osobního]
Je to skolstvim. A vubec pojetim skolstvi. I klidne talentovane deti jsou silne demotivovany. Tim spis ze ceske skolstvi pripomina jeste doby marie terezie.
Tady je proste treba prestat do studentu prestat futrovat hromady veci uz od zakladky. Uz od zakladky se deckam plni hlavy nechutnym mnozstvim veci, ktery nemuzou proste v danem case pochopit v souvislostech i pokud chteji. Souvislosti nejsou ukazovany v jednotlivych predmetech. Prirodoveda - oko -> fyzika cocka.
Radeji mene a kvalitneji v souvislostech, nez hromady zbytecnych kravin.
Proc maji zvlast pajeni a mereni? Proc nemaji nejaky vetsi ukol kde jsou motivovany pouzit pajeni,mereni,fyziku a matematiku? Opuste ideu ze nejdriv teorie a potom praxe. To je hovno stoleti. Obe veci jsou dulezite a musi jit paralelne. Pokud student treba chrape pri matematice, tak se rad dane tema douci k tomu aby mohl spocitat veci z fyziky pro svuj projekt v elektru. Tim spise si spoji souvislosti a tim spise si bude pamatovat
Rada objevu vznikla od praktickeho experimentu k teorii.
Studentum chybi totiz motivace ke studiu. Ta kratkodoba je neustala stimulace objevovanim noveho. Ta dlouhodoba je ubrat penize manazerum a pridat technikum.
Pokud jsou studenti motivovani, tak si najdou informace a spali si prsty pri pajeni sami a radi;) Dejte jim nejaky spolecny cil. Ale taky je pritom naucte ze chybovat je normalni. Ukazte jim co se stane kdyz budou pajet citlive obvody trafopajkou. Ukazte jim proc je mereni dulezite (sesmahnout par soucastek;). Ukazte jim co se stane pokud se nevykompenzuji ruzne charakteristiky soucastek. Zkuste najit par prikladu z historie kdy kvuli tomu selhal dulezity pristroj. Kupte nejaky jednoduchy levny vyrobek z ciny a ukazte si co je spatne;)
Skolstvi se musi cely totalne prekopat.
K zamysleni:
http://www.ted.com/talks/sir_ken_robinson_bring_on_the_revolution.html
http://www.ted.com/talks/ken_robinson_says_schools_kill_creativity.html
-
týjo, škoda, že nejsem z okolí
-
Co treba toto? Komunikace a programovani pres USB, TTL I/O, A/D prevodniky, I2C, USART. V zakladu je v tom firmware od vyrobce, se kterym se bavis jednoduchym textovym protokolem (emulace serioveho portu nad USB) a umoznuje cist/nastavovat jednotlive piny a pristup k A/D. Pripadne si pak muzes do toho napsat vlastni S/W a nechat to bezet zcela autonomne.
http://www.piccircuit.com/shop/pic-dev-board/119-icp12-usbstick-pic18f2550-io-board.html
-
Podívejte se na stránky uCSimply http://www.ucsimply.cz/elnx/hw-pripravek/ (http://www.ucsimply.cz/elnx/hw-pripravek/). Najdete tam blikání LEDkami, ovládání znakového LCD displeje a maticové klávesnice, drivery včetně jemného úvodu do jejich programování a řadu dalších věcí kolem embedded Linuxu.
-
uz jsem stary softwarovy dedek a chtel jsem zkusit hardware.
pustil jsem se do atmelu a je to sikovne a pekne jsem si pohral s ledkama a motorkama.
ted se chystam na gpio na raspberry pi, coz je teda vec s embedded linuxem pro arm.
-
http://www.ted.com/talks/sir_ken_robinson_bring_on_the_revolution.html
http://www.ted.com/talks/ken_robinson_says_schools_kill_creativity.html
Obě dvě prezentace jsou naprostá pecka, dík moc.