Slax i RS232

Dec 12, 2013 74 Replies

O to chodzi. Kontrola wersji nie potrzebna. Dla mnie ³atwiej dograæ Lazarusa, i zrobiæ aplikacjê. Pendrive z systemem ju¿ jest. Dla mnie instalacja Linuxa na pendrivie to dodatkowy, niepotrzebny czas. To dzia³a, nie jest pod³±czone do ETH, zajmuje 132MB+dane.

No to modu³y. Jak zwa³ tak zwa³.

Tutaj widzê WOTB dogrywane (po 3 letniej ró¿nicy dacie): alsa-lib-1.0.17a-1.lzm alsa-oss-1.0.17-1.lzm dell-optiplex-e1000e-nic-driver.lzm libltdl7-2.2.6b-2.lzm minicom-2.1-i486-2.lzm minicom.dep minicom2.cap mpg123-1.12.1.lzm multimedia-libraries-6.0.7-i486-1tb-mm.lzm sshd-activate.lzm vorbis-tools-1.2.0-i486-1.lzm

Trochê tego by³o.

Co to jest console utilities? S.

Pan Sylwester Łazar napisał:

Ale w którym xinitrc?

Czyli montuje pierwszą partycję z pendrajwa. Domyślam się, że to jest partycja VFAT, ta która jest widziana przez Windows. Wcześniej tworzy katalog, co sugeruje, że root filesystem SLAXa jest na ramdysku. Może to oznaczać, że nie będzie się dało normalnymi metodami niczego tam doinstalować w sposób trwały.

Ale z kolei być może w /mnt/sda1/app jest zamontowany jakiś system rw.

Co w ogóle pokazują polecenia "mount" i "df"?

A dlaczego by miał się źle orientować? Ja jednak radzę sciągnąć sobie obraz ISO Slackware (może być 14.0, może być starszy) i zainstalować na osobnym dysku badź komputerze -- metodą Marcinkiewicza (yes, yes, yes...). To powinno oszczędzić sporo czasu -- jeśli ktoś planuje robić coś dalej ze SLAXem.

Pan Sylwester Łazar napisał:

Ale czy "wszystko, co widac pod mc", czy jednak tylko część zamontowaną w /mnt/sdb1?

Z tego co napisałem wcześniej wynika, że z tym może być pewien kłopot. System może być tylko do odczytu.

Pan Sylwester £azar napisa³:

A zainstalowany Lazarus zajmuje 300MB. Do tego potrzebuje jeszcze samego free pascala i paru rzeczy, których w tych 132MB mo¿e nie byæ. Systemy do instalowania na pendrajwach zwykle pomy¶lane s± tak, ¿e wybiera siê wcze¶niej sk³adniki i zapuszcza jaki¶ skrypt, który sam robi wszystko i tworzy gotowy system na pendrajwie. SLAX pewnie te¿ tak ma. I tego Lazarusa mo¿na mu byæ mo¿e do³o¿yæ na etapie produkcji. Z tym ¿e to siê przewa¿nie produkuje na ¿ywym linuksie.

Modu³y s± do j±dra. Wszystke zajmuj± ze 100MB. W "du¿ej" dystrybucji to zwykle nie jest problem i nie ma powodu, ¿eby nie by³o którego¶. Ale jak sie kroi na pendrajwy czy inne flasze, to mo¿e byæ ró¿nie.

Nic strasznego. Po prostu zewnêtrzne programy odpalane w jakim¶ celu. Na przyk³ad do zagrania muzyki lub pokazania filmu na ekranie. To mo¿e byæ w ogóle w³a¶ciwy kierunek, zamiast ca³ego Lazarusa. Je¶li to nie jest wielka tajemnica, to co ten system ma robiæ? Tak mniej wiêcej chocia¿ (wiem, ¿e obrazki jakie¶).

Jarek
[ciach]

Ale to mo¿e dzia³aæ jak systemy odpalane z p³yty t.j. instalowane do ramu. Tak jak wszelakiego rodzaju p³yty live instaluj± nowe programy w pamiêci. Gdzies czyta³em ¿e mo¿na by³o zrobiæ samomodyfikowaln± dystrybucjê startowan± z flasha. Na szybko podzieli³bym pena na dwie partycje i na drugiej mia³ ró¿ne instalki. Tylko jak ¶wiat³o zga¶nie, albo co¶ w tym stylu to trzeba od nowa instalowaæ.

Pozdrawiam Bo(o)t manager

[ciach] hint: persistent storage
formatting link
Mam nadziejê ¿e o to chodzi³o. My englyd¼ is pur :)
Pozdrawiam Bo(o)t manager

Bo t manager napisa³:

Na flashu, to nie sztuka. Mo¿na i tak, i siak, bo to jednak no¶nik rw, tylko nie ca³kiem trwa³y. Ale wystepuj± w przyrodzie instalacje linuksa na p³ytach CD, które zachowuj± siê tak, jakby by³y na normalnym dysku. One przed zamkniêciem systemu robi± backup danych u¿ytkownika i wypalaj± go na p³ycie. A po ponownym uruchomieniu odtwarzaj±. Dzisiaj to ju¿ nie ma znaczenia praktycznego, nale¿y rzecz traktowaæ jako ciekawostkê techniczn±. Ale wspomnieæ warto, bo pomys³owo¶æ ludzka nie zna granic.

Jarek
[ciach]

Ale on marnowa³ ca³± p³ytê, czy dogrywa³ tylko sesjê? Bo jak to drugie to wielki szacun.

Pozdrawiam Bo(o)t manager

Bo t manager napisa³:

Jasne, ¿e niczego nie marnowa³! Mia³ swój sta³y "rdzeñ" systemu na p³ycie, pewnie ze 100 MB, a reszta miejsca zostawa³a na sesje kolejnych backupów. I to zdaje siê robionych inteligentnie, czyli przyrostowo, tak ¿e kolejna sesja zawiera tylko zmiany, a nie ca³o¶æ danych u¿ytkownika. To na do¶æ d³ugo mo¿e starczyæ. A jak siê miejsce koñczy, to siê bierze now± p³ytê.

Jarek

byæ w ogóle w³a¶ciwy kierunek, zamiast ca³ego Lazarusa. Je¶li to nie

Po przyj¶ciu RS-em kodu ma wywo³ywaæ odpowiednie reakcje. Je¿eli np. 12 to ma wy¶wietliæ kolejny rysunek. Je¶li 13 to ma odtworzyæ kolejny d¼wiêk. S.

Pan Sylwester Łazar napisał:

Tylko tyle? No to program w C (lub dowolnym innym języku) do odbierania znaków z rs-232 będzie miał kilkanaście, może kilkadziesiąt linijek. Z niego najlepiej wywołać dostępny program, który zrobi, co jest do zrobienia -- choćby xv do pokazania rysunku, czy mpg123 do odtworzenia dźwięku. Z systemu, to będzie potrzebne gołe X11 bez uruchomionego menedżera.

I to chyba bêdzie najbardziej rozs±dne. Ten xv trochê za drogi 150$.

Sci±gn±³em mpg123-1.16.0.tar.bz2 A jak to rozpakowaæ? Mo¿esz podaæ jaki¶ przyk³ad, jak siê za to zabraæ z poziomu c? S.

Za to należy zabrać się z poziomu basha. jesli to faktycznie tak jak piszesz to lazarus to jest zbedny zbiór bitów. Z bashu machniesz to w 30 minut. W perlu i pythonie w podobnym czasie.

Pan Sylwester Łazar napisał:

Co?! Kiedyś chyba faktycznie był shareware, ale od dawna jest za darmo.

Zresztą ja w podobnych okolicznościach użyłem programu telak, który został napisany do wyświetlania różnych rzeczy w root window. Nie tylko lokalnych obrazków, ale i zdalnych URL. Naraił mi go znajomy, który jakieś miał konszachty z autorem. Ściągnąłem, skompilowałem i zobaczyłem, że jest dobry. Ale nie do końca, albowiem nie zauważa gdy się obrazek podmieni na inny i wciąż wyświetla starą wersję. A ja chciałem, żeby się zmieniało. Więc zacząłem marudzić, że sobie w źródłach to poprawię tak, by proces po odebraniu sygnału SIGUSR1 czytał jeszcze raz swój konfig i w razie czego poprawiał wyświetlane elementy. Nie zdążyłem jednak. Zanim pojawiłem się przy swoim komputerze, to plotki o moim zrzędzeniu dotarły do autora i źródła zostały zminione po mojej myśli. I co ja w tej sytuacji mogę? Chyba tylko pochwalić i jeszcze raz podziękować obu młodym ludziom (donosicielowi i sprawcy) oraz polecić robotę:

formatting link

Nadepnąć midnight commanderem? A jak nie, to:

tar jxvf mpg123-1.16.0.tar.bz2

A po co "się za to zabrać z poziomu c". Skompilowac i tyle.

configure ; make ; make install

Albo ściągnąć już gotową paczkę tgz do Slackware. Albo zainstalować system, w którym wszystko jest (ale o tym już mówiłem).

Pan Sebastian Biały napisał:

A jak w bashu odczytuje się dane z rs-232?

Zapominasz że to jest Unix i wszystko jest plikiem?

formatting link
formatting link
Ale prywatnie przez lata stosowalem inną metodę: socat RS232 -> TCP. I dalej już "normalnie" jak każde gniazdo sieciowe. A ponieważ mogleś otworzyć normalny port TCP to nagle można bylo zdalnie sterować z sieci ethernet bez żadnych kosztów. Dzieki temu moglem developować aplikację na PC i jednoczesnie mieć pełny sprzet RS z malego komputerka ARM w żywym systemie. Nieocenione. Zwłaszcza że aplikacja w Javie ...

Podstawowa zasada w Unixie mówi: nie rób tego. Ktoś to już zrobił. Połącz klocki.

A konkretnie tak:

socat -x TCP4-LISTEN:2000,nodelay,fork /dev/ttyS1,raw,echo=0,crnl,b57600,cs8

Od tej pory RS232 jest na porcie tcp 2000 i mozna połaczyć się z nim byleczym, poczynając od telnetu.

To znaczy co mam wpisaæ po kolei?

S.

Pan Sebastian Biały napisał:

Port rs-232 też oczywiście jest plikiem, ale żeby w nim poukładać kartki przed odczytaniem, to trzeba już zewnętrznego programu, jak stty. Więc nie, nie zapomniałem. Pytanie miało pokazać, że z samym bashem będzie ciężko. Ale w pythonie już będzie swobodnie.

Ja sobie pisałem jak najprostszy program w C żeby nim obracać w bashu.

Ta zasada dobrze się sprawdza również poza Uniksem. Robić żeby zrobić, a się nie narobić.

Pan Sebastian Biały napisał:

Chińczyk sprzedaje już pudełeczka, które robią to i tylko to.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required